带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级)

代码哈士奇
• 阅读 1427

我完成了uni-app手机app开发,如何让他更新呢 我来告诉你 带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级)

说明:分两块,一块是应用升级管理系统,一个是应用检测自己版本及更新

我是代码哈士奇 此文章来源为代码哈士奇,个人主页: https://dmhsq.blog.csdn.net/ https://www.helloworld.net/dmhsq 带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级) 带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级)

@TOC

uni-upgrade-center - Admin搭建升级中心

带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级)

创建uni-admin模板应用

我们之前已经讲了如何搭建uni-admin系统

之所以先创建uni-admin模板应用 是因为uni-upgrade-center - Admin是需要搭载在uni-admin上的

全流程如下

升级中心搭建全流程

新建项目

带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级)

引入插件

插件市场引入 https://ext.dcloud.net.cn/plugin?id=4470

带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级)

安装第三方依赖

带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级)

上传云函数

带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级)

初始化 db_init.json

带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级)

添加以下页面路径

在pages.json中添加

{
            "path": "uni_modules/uni-upgrade-center/pages/version/list",
            "style": {
                "navigationBarTitleText": "版本列表"
            }
        }, {
            "path": "uni_modules/uni-upgrade-center/pages/version/add",
            "style": {
                "navigationBarTitleText": "新版发布"
            }
        }, {
            "path": "uni_modules/uni-upgrade-center/pages/version/detail",
            "style": {
                "navigationBarTitleText": "版本信息查看"
            }
        }, {
            "path": "uni_modules/uni-upgrade-center/pages/app/list",
            "style": {
                "navigationBarTitleText": "应用列表"
            }
        }, {
            "path": "uni_modules/uni-upgrade-center/pages/app/detail",
            "style": {
                "navigationBarTitleText": "应用信息查看"
            }
        }, {
            "path": "uni_modules/uni-upgrade-center/pages/app/add",
            "style": {
                "navigationBarTitleText": "新增应用"
            }
        }

效果为 带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级)

在源码视图添加

在manifest.json添加

"networkTimeout":{
    "uploadFile":1200000    //ms, 如果不配置,上传大文件可能会超时
}

效果为 带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级)

初始化uni-admin模板应用的data

注意是 db_init.json 带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级) 选中需要的数据表

如果提示没有菜单那几个数据有就创建 搭建uni-admin系统

运行到浏览器

注册管理员账号并且登陆

找到菜单设置

带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级)

添加即可 带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级) 到此完成搭建 带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级)

应用升级搭建全流程

假设我们已经有了一个开发好的应用,我们想让他带有更新检测,自动检测,强制更新等等,如何做呢?来吧,小弟带你走下流程~

这里我们准备了一个应用,就是uni-app的默认模板

带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级)

引入插件

https://ext.dcloud.net.cn/plugin?id=4542

带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级)

创建数据表

在服务空间创建模板表 其它里面 带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级)

上传部署云函数

带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级)

添加页面路径

在pages.json添加以下代码

{
        "path": "uni_modules/uni-upgrade-center-app/pages/upgrade-popup",
        "style": {
            "disableScroll": true,
            "app-plus": {
                "backgroundColorTop": "transparent",
                "background": "transparent",
                "titleNView": false,
                "scrollIndicator": false,
                "popGesture": "none",
                "animationType": "fade-in",
                "animationDuration": 200

            }
        }
    }

效果如下 带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级)

引入主要的js

这里我在 pages/index/index.vue中引入 带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级)

升级测试

发布后获取的为真实app版本以及appid此步为测试

升级中心新增应用

在我们之前搭建好的升级中心 添加应用 带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级))带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级)

打包1.0.0版本

我们先搞一个1.0.0版本进行测试 带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级) 云打包 (可不选择云打包,这里只是方便测试) 带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级)

带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级) 打包完成会生成一个apk 带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级)

发布1.0.0版本

在我们之前搭建好的升级中心点击版本管理 带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级) 发布新版 带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级) 我们是云打包 所以选择 原生App安装包 带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级)

包地址可选择上传文件 ,上传完成会自动生成 带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级)

带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级)

我们此时可以用手机测试,或者模拟器

特别注意

调试的时候,获取的appid以及版本号不是你的,而是Hbuilder和13.1.2 带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级) 这个时候 我们可以本地修改

找到 带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级) 修改appid 以及版本号 appid可以在 manifest.json找到 带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级) 这个时候 我们代表模拟器上版本是1.0.0

打包发布1.0.1

此时我们将manifest.json 的版本名称以及版本号改为1.0.1 101

再次云打包

获得一个新的apk 带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级) 在升级中心发布新版本

带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级)

升级测试

在模拟器中测试 哈哈哈 船新版本~ 带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级)

带你使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级)

点赞
收藏
评论区
推荐文章
代码哈士奇 代码哈士奇
1年前
手把手带你使用uni-admin搭建后台管理系统
我们一般写应用都需要有后台管理系统,那么uniapp也不例外。本次内容假设我们已经完成了一个uniapp+uniCloud开发的程序。默认我们已经搭建好了服务空间。如果你还不知道服务空间如何创建,移步uniadmin和应用共用同一个服务空间此文章在华为云社区为首发我是代码哈士奇 此文章来源为代码哈士奇,个人主页: 创建uniadmin模板应用这里使用uni
刚刚好 刚刚好
1星期前
css问题
1、 在IOS中图片不显示(给图片加了圆角或者img没有父级) <div<img src""/</div div {width: 20px; height: 20px; borderradius: 20px; overflow: h
blmius blmius
1年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录 问题 用navicat导入数据时,报错: 原因这是因为当前的MySQL不支持datetime为0的情况。 解决修改sql\mode: sql\mode:SQL Mode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。 全局s
Stella981 Stella981
11个月前
Android So动态加载 优雅实现与原理分析
> 背景:漫品Android客户端集成适配转换功能(基于目标识别(So库35M)和人脸识别库(5M)),导致apk体积50M左右,为优化客户端体验,决定实现So文件动态加载. ![](https://oscimg.oschina.net/oscnet/00d1ff90e4b34869664fef59e3ec3fdd20b.png) 点击上方“蓝字”关注我
Wesley13 Wesley13
11个月前
(绝对有用)iOS获取UUID,并使用keychain存储
UDID被弃用,使用UUID来作为设备的唯一标识。获取到UUID后,如果用NSUserDefaults存储,当程序被卸载后重装时,再获得的UUID和之前就不同了。使用keychain存储可以保证程序卸载重装时,UUID不变。但当刷机或者升级系统后,UUID还是会改变的。但这仍是目前为止最佳的解决办法了,如果有更好的解决办法,欢迎留言。 (我整理的解决办法的参
Stella981 Stella981
11个月前
ReactNative state更新,视图不更新的问题
开发中遇到这样的问题,我更新了state一个数组的某个元素的选中状态,打印出的数据也显示修改正确了,但是界面却没更新。例如下图点击某项修改选中状态。 ![](https://oscimg.oschina.net/oscnet/c3291a62b5f638d1e35dd7a719ade39f226.png) 代码中之前是这样写的,结果界面没有更新。
Wesley13 Wesley13
11个月前
PHP中的NOW()函数
是否有一个PHP函数以与MySQL函数`NOW()`相同的格式返回日期和时间? 我知道如何使用`date()`做到这一点,但是我问是否有一个仅用于此的函数。 例如,返回: 2009-12-01 00:00:00 * * * ### #1楼 使用此功能: function getDatetimeNow() {
代码哈士奇 代码哈士奇
6个月前
uniCloud+uni-admin+electron实现 electron应用更新
uniCloud+uniadmin+electron实现 electron应用更新搭建视频地址 从 https://gitee.com/dmhsq/reacttsviteelectron 的仓库代码开始搭建两种更新方式 1.资源替换 (还可以更换成其它框架开发打包的asar资源) 如下看效果2.安装包逻辑如下应用启动时 调用 检查更新方法检查更新方法 查询
常用知识整理
# Javascript ## 判断对象是否为空 ```js Object.keys(myObject).length === 0 ``` ## 经常使用的三元运算 > 我们经常遇到处理表格列状态字段如 `status` 的时候可以用到 ``` vue
helloworld_34035044 helloworld_34035044
2个月前
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。 uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid() 或 uuid(sep)参数说明:sep 布尔值,生成的uuid中是否包含分隔符'',缺省为