更新记录

0.0.5(2021-12-14)

  • 更新 生成静态发布页功能由于修改了云函数,要重新上传

0.0.4(2021-12-14)

  • 新增 一键式生成统一发布页静态页面,更快,更高效的访问速度

0.0.3(2021-12-07)

  • 修复 编译时 key 值报错
查看更多

平台兼容性

阿里云 腾讯云 支付宝云
×
Vue2 Vue3
×
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.1.0 app-vue
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
×

uni-admin插件通用教程:

uni-admin是一套基于uniCloud的开源应用管理端系统。详见:uni-admin 基础框架
本插件是uni-admin系统的扩展插件,为开发者的admin系统添加功能。
需先确保本机有uni-admin项目,然后将此插件导入到uni-admin项目下。
如本机没有uni-admin项目,需要先在HBuilderX中新建项目 -> uni-app项目 -> 选择uni-admin模板。
如本机的uni-admin项目版本过老,可能无法使用新插件,需及时升级本机的uni-admin项目。详见uni-admin项目更新日志


uni-publish 统一发布页 - 管理端

概述

负责应用发布信息的管理。

本插件为 uni-publish 统一发布页 - 管理端

uni-publish 统一发布页 - 用户端请点击查看 uni-publish-user。也可使用 uni-publish 统一发布页 - 管理端 新版增加的一键式生成统一发布页静态页面功能

基于 uniCloud 的 App 发布页,本插件具有如下特征:

  • 云端基于 uniCloud 云函数实现
  • 数据库遵循 opendb 规范
  • 遵循 uni-admin 框架规范,可直接导入 Admin 项目中
  • 支持 App、小程序、H5、快应用 灵活修改发布,实时线上更新
  • 一键式生成统一发布页静态页面,更快,更高效的访问

什么是 uniCloud

uniCloud 是 DCloud 联合阿里云、腾讯云,为开发者提供的基于 serverless 模式和 js 编程的云开发平台,更多请参考uniCloud 文档

为什么需要uni-publish 统一发布页?

App/小程序/网站做好后,如何告知你的用户?

你需要开发App的下载页、小程序二维码的展示页面,这些内容最好汇总在统一入口,也就是发行平台。

自己从头开发这么一个发行平台,需要考虑的事情太多了:

  • 响应式布局,兼容PC/Mobile各种尺寸
  • 微信/微博浏览器判断不同逻辑,右上角提示通过浏览器打开
  • PC上制作二维码,方便用户直接扫码下载
  • 如果小程序有多个版本,微信、支付宝、百度、QQ、快应用,那搞起来。。。

别急,有了uni-publish 统一发布页,一切迎刃而解,10分钟内搞定所有。

安装指引

  1. 使用HBuilderX 3.1.0+,因为要使用到uni_modules

  2. 使用已有uni-admin项目或新建项目:打开HBuilderX -> 文件 -> 新建 -> 项目 -> uni-app 选择 uni-admin模板,键入一个名字,确定

  3. 鼠标右键选择关联云服务空间运行云服务空间初始化向导

  4. 在插件市场打开本插件页面,在右侧点击使用 HBuilderX 导入插件,选择 uni-admin 项目点击确定

  5. 等待下载安装完毕。由于本插件依赖一些 uni-ui 插件,下载完成后会显示合并插件页面,自行选择即可

  6. 找到/uni_modules/uni-publish-admin/uniCloud/cloudfunctions,右键上传所有云函数

  7. 找到/uni_modules/uni-publish-admin/uniCloud/database/db_init.json,右键初始化数据库

  8. pages.json中添加页面路径

    //此结构与uni-admin中的pages.json结构一致
    "pages": [
         // ……其他页面配置
         {
           "path" : "uni_modules/uni-publish-admin/pages/app/list",
           "style" :{
               "navigationBarTitleText": "发行列表",
               "enablePullDownRefresh": false
           }
         },
         {
           "path" : "uni_modules/uni-publish-admin/pages/app/add",
           "style" :{
               "navigationBarTitleText": "新增发行",
               "enablePullDownRefresh": false
           }
         }
    ]
  9. manifest.json -> 源码视图中添加以下配置:

    "networkTimeout":{
    "uploadFile":1200000    //ms, 如果不配置,上传大文件可能会超时
    }
  10. 运行项目到Chrome

  11. 运行起来 uni-admin,菜单管理模块会自动读取/uni_modules/uni-publish-admin/menu.json文件中的菜单配置,生成【待添加菜单】,选中应用发行,点击添加选中的菜单即可

  12. 添加成功后,就可以在左侧的菜单栏中找到应用发行菜单

  13. 由于插件依赖的 uni-ui 的一些组件,建议右键/uni_modules/uni-publish-admin安装一下第三方依赖,否则可能会出现一些问题

  14. 运行在uniCloud,由于本插件使用了clientDB,因此可能需要配置一下uni-config-center插件关于uni-id的配置信息。如提示公用模块uni-id缺少配置信息请这样做:

    1. 点击uni-config-center导入插件
    2. /uniCloud/cloudfunctions/common/uni-config-center/下创建uni-id文件夹,文件夹内创建config.json文件。
    3. 点击config.json 默认配置。将内容拷贝至config.json中。

    注:一定要把注释去除!

使用指南

应用发行

应用列表

  1. 点击菜单应用发行进入应用发布信息管理,这里展示你所添加的 App

    • 可以在列表的操作列进行更新应用信息或者删除该应用
    • 默认发行状态排序优先
    • 已发行 App 可以点击 生成页面 按钮,生成发布页静态页面,可供预览、上传至静态托管

Tips

  • 修改时,删除应用上传的包并不能把云存储中的文件删除,请到uniCloud web 控制台手动删除

新增应用发布信息

在应用列表的右上角点击新增,可以新增一个应用发布信息

  • 基础信息
    1. AppID:所要发布的 app 的 id。唯一。
    2. 应用别名:发布页用户端会通过此字段来做请求,仅限英文。唯一。
    3. 自动填充:如果你的uni-admin项目同时使用了升级中心,那么当你填写了AppID点击按钮后,会自动从升级中心同步 App 的一些信息。
  • 图片素材
    1. 应用图标:该应用的图标信息,在发布页用户端会用来生成当前页二维码
    2. 应用截图:该应用的实际截图信息
  • App 下载信息
    1. 勾选代表需要发布此类信息,不勾选会默认折叠
    2. 可以选择手动填写还是上传安装包到云存储自动填写下载链接
    3. 自动填充:如果你的uni-admin项目同时使用了升级中心,那么当你填写了AppID点击按钮后,会自动从升级中心同步 App 当前已上线的安装包信息。
  • 小程序信息
    1. 勾选代表需要发布此类信息,不勾选会默认折叠
    2. 折叠:小程序种类繁多,此按钮可以将所有的小程序信息折叠起来
  • H5、快应用
    1. H5:当你填写了链接,才会在发布页用户端显示
    2. 快应用:只有填写了快应用码,才会在前台页面展示

项目代码说明

uniCloud 数据表

数据表基于 openDB 规范,它约定了一个标准用户表的表名和字段定义,并且基于 nosql 的特性,可以由开发者自行扩展字段。

本项目用到了 1 个表:

  • opendb-app-publish:应用发布管理表。记录管理应用的发布信息。详见

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

uni-publish 统一发布页 - 管理端(以下简称软件)源码使用许可协议

2022年10月

本许可协议,是数字天堂(北京)网络技术有限公司(以下简称DCloud)对其所拥有著作权的“软件”,提供的使用许可协议。

您对“软件”的复制、使用、修改及分发受本许可协议的条款的约束,如您不接受本协议,则不能使用、复制、修改本软件。

授权许可范围

a) 授予您永久性的、全球性的、免费的、非独占的、不可撤销的本软件的源码使用许可,您可以使用这些源码制作自己的应用。

b) 您只能在DCloud产品体系内使用本软件及其源码。您不能将源码修改后运行在DCloud产品体系之外的环境,比如客户端脱离uni-app,或服务端脱离uniCloud(如涉及uniCloud)。

c) DCloud未向您授权商标使用许可。您在根据本软件源码制作自己的应用时,需以自己的名义发布软件,而不是以DCloud名义发布。

d) 本协议不构成代理关系。

DCloud的责任限制 “软件”在提供时不带任何明示或默示的担保。在任何情况下,DCloud不对任何人因使用“软件”而引发的任何直接或间接损失承担责任,不论因何种原因导致或者基于何种法律理论,即使其曾被建议有此种损失的可能性。

您的责任限制

a) 您需要在授权许可范围内使用软件。

b) 您在分发自己的应用时,不得侵犯DCloud商标和名誉权利。

c) 您不得进行破解、反编译、套壳等侵害DCloud知识产权的行为。您不得利用DCloud系统漏洞谋利或侵害DCloud利益,如您发现DCloud系统漏洞应第一时间通知DCloud。您不得进行攻击DCloud的服务器、网络等妨碍DCloud运营的行为。未经书面许可,您不得利用DCloud的产品进行与DCloud争夺开发者的行为。

d) 如您违反本许可协议,需承担因此给DCloud造成的损失。

本协议签订地点为中华人民共和国北京市海淀区。

根据发展,DCloud可能会对本协议进行修改。修改时,DCloud会在产品或者网页中显著的位置发布相关信息以便及时通知到用户。如果您选择继续使用本框架,即表示您同意接受这些修改。

条款结束

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问