更新记录
1.0(2020-10-24) 下载此版本
1、首次发布
平台兼容性
阿里云 | 腾讯云 | 支付宝云 |
---|---|---|
√ | √ | × |
云函数类插件通用教程
使用云函数类插件的前提是:使用HBuilderX 2.9+
插件说明
1、本插件适用于APP资源热更新,暂不支持整包更新
2、本插件使用了云函数、云数据库和云存储,建议提前开通相关功能
3、本插件目前只在阿里云服务商测试
4、本插件测试HBuilder版本:2.9.3,低于此版本的暂未进行测试
5、本插件使用的相关技术,请在官网提前了解(如果你想修改源码)
6、本插件适用于开启了uniCloud的uni-app项目,其他项目暂未进行测试
7、相关文档请参考官方文档
初始化说明
1、使用HBuilderX导入本插件到本地uniCloud项目中
2、如果你的项目是uni-app项目,右键项目,创建uniCloud云开发环境
3、上传云函数到自己的服务空间,并导入到本地uni-app项目中
4、修改 "db_init.json" 文件,根据自己项目,修改 "appid","version","wgt_url","apk_url" 为整包更新下载地址,暂时保留
5、如果没有 "db_init.json" 文件,右键云服务目录,创建 "db_init.json" 文件,编写完成后右键此文件,初始化云数据库
6、不建议在文件中添加 "id" 字段,否则无法初始化云数据库
# 在本文件中可配置云数据库初始化,数据格式见:https://uniapp.dcloud.io/uniCloud/cf-database?id=db_init
# 编写完毕后对本文件点右键,可按配置规则创建表和添加数据
{
"huarui-app-version": {
"data": [{
"appid": "__UNI__A2CD12",
"name": "app",
"version": "0.20",
"note": "更新日志",
"android": {
"wgt_url": "https://vkceyugu.cdn.bspapp.com/VKCEYUGU-aliyun-mo06a5bb0-15bf-11eb-9dfb-6da8e309e0d8.wgt",
"apk_url": ""
},
"ios": {
"wgt_url": "https://vkceyugu.cdn.bspapp.com/VKCEYUGU-aliyun-mo06a5bb0-15bf-11eb-9dfb-6da8e309e0d8.wgt",
"apk_url": ""
}
}]
}
}
7、在APP前端项目中调用检查更新,代码如下,我是在APP运行就进行检查,可以根据自己的需求,注意,如果是在APP中运行此段代码,必须加条件编译
onLaunch: function() {
// #ifdef APP-PLUS
plus.runtime.getProperty(plus.runtime.appid, function(info) {
uniCloud.callFunction({ //连接云函数
name: 'version-update', //云函数名
data: { //传递的参数
appid: info.appid,
version: info.version
},
success: (res) => { //请求成功
if (res.result.isUpdate) { //需要更新
uni.showModal({
title: '更新提示',
content: '请选择是否需要更新',
success: (r) => {
if (r.confirm) {
uni.downloadFile({ //下载更新文件
url: res.result.url,
success: (down) => {
plus.runtime.install(down.tempFilePath, { //安装更新文件
force: false //是否强制安装
}, function() { //安装成功
uni.showToast({
title: '更新成功',
icon: 'success',
})
plus.runtime.restart() //重启
uni.hideToast()
}, function() { //更新失败的操作
uni.showToast({
title: '更新失败',
})
uni.hideToast()
})
}
})
}
}
})
}
}
})
})
uni.hideLoading()
// #endif
}
使用说明
1、代码编写、修改完成后,修改 "manifest.json" 的版本号
2、制作wgt升级包,在发行下选择制作应用wgt包
3、将wgt包上传到云储存或者自己的服务器
4、修改 "db_init.json" 文件 的 "version"、"wgt_url" 字段的值,然后右键此文件初始化云数据库
5、然后就可以在手机上运行APP进行热更新了