提交 43e66bab 编写于 作者: DCloud_JSON's avatar DCloud_JSON

123

上级 f3793a09
...@@ -80,12 +80,12 @@ ...@@ -80,12 +80,12 @@
[{ [{
title: '问题与反馈', title: '问题与反馈',
to: '/uni_modules/uni-feedback/pages/opendb-feedback/list' // /pages/ucenter/uni-feedback/uni-feedback uni_modules/uni-feedback/pages/opendb-feedback/list to: '/uni_modules/uni-feedback/pages/opendb-feedback/list' // /pages/ucenter/uni-feedback/uni-feedback uni_modules/uni-feedback/pages/opendb-feedback/list
}, {
title: '关于',
to: '/pages/ucenter/about/about'
}, { }, {
title: '设置', title: '设置',
to: '/pages/ucenter/settings/settings' to: '/pages/ucenter/settings/settings'
}, {
title: '关于',
to: '/pages/ucenter/about/about'
}] }]
] ]
} }
...@@ -129,7 +129,14 @@ ...@@ -129,7 +129,14 @@
} }
}, },
async checkVersion() { async checkVersion() {
console.log(await callCheckVersion()); let res = await callCheckVersion()
console.log(res);
if(res.result.code == 0){
uni.showToast({
title: res.result.message,
icon: 'none'
});
}
checkUpdate() checkUpdate()
}, },
toEdit() { toEdit() {
......
## 0.1.5(2021-04-22)
- 更新check-update函数。现在返回一个Promise,有更新时成功回调,其他情况错误回调
## 0.1.4(2021-04-13) ## 0.1.4(2021-04-13)
- 更新文档。明确云函数调用结果 - 更新文档。明确云函数调用结果
## 0.1.3(2021-04-13) ## 0.1.3(2021-04-13)
......
{ {
"id": "uni-upgrade-center-app", "id": "uni-upgrade-center-app",
"displayName": "升级中心 uni-upgrade-center - App", "displayName": "升级中心 uni-upgrade-center - App",
"version": "0.1.4", "version": "0.1.5",
"description": "升级中心前台检查更新", "description": "升级中心前台检查更新",
"keywords": [ "keywords": [
"uniCloud", "uniCloud",
......
...@@ -384,11 +384,10 @@ ...@@ -384,11 +384,10 @@
left: 0; left: 0;
top: 0; top: 0;
right: 0; right: 0;
bottom: 0; bottom: 0;
background-color:rgba(0,0,0,.65); background-color: rgba(0, 0, 0, .65);
} }
.botton-radius { .botton-radius {
border-bottom-left-radius: 30rpx; border-bottom-left-radius: 30rpx;
border-bottom-right-radius: 30rpx; border-bottom-right-radius: 30rpx;
......
...@@ -11,6 +11,8 @@ ...@@ -11,6 +11,8 @@
- 好看、实用、可自定义、可拓展的前台更新弹框 - 好看、实用、可自定义、可拓展的前台更新弹框
## 安装指引 ## 安装指引
0. 依赖数据库`opendb-app-versions`,如果没有此库,请在云服务空间中创建。
1. 使用`HBuilderX 3.1.0+`,因为要使用到`uni_modules` 1. 使用`HBuilderX 3.1.0+`,因为要使用到`uni_modules`
...@@ -67,9 +69,7 @@ ...@@ -67,9 +69,7 @@
4. `wgtVersion` 使用 plus.runtime.getProperty(plus.runtime.appid,(wgtInfo) => { wgtInfo.version }) 获取 4. `wgtVersion` 使用 plus.runtime.getProperty(plus.runtime.appid,(wgtInfo) => { wgtInfo.version }) 获取
5. `check-version`云函数内部会自动获取 App 平台 5. `check-version`云函数内部会自动获取 App 平台
6. 检查更新前端使用示例:`uni_modules/uni-upgrade-center-app/utils/check-update.js`,在要检查更新的地方导入调用即可
**Tips** **Tips**
...@@ -107,10 +107,11 @@ ...@@ -107,10 +107,11 @@
- 使用上一步取出的版本包的版本号 和传参 appVersion、wgtVersion 来检测是否有更新。必须同时大于这两项,因为上一次可能是wgt热更新,否则返回暂无更新 - 使用上一步取出的版本包的版本号 和传参 appVersion、wgtVersion 来检测是否有更新。必须同时大于这两项,因为上一次可能是wgt热更新,否则返回暂无更新
- 如果库中 wgt包 版本大于传参 appVersion,但是不满足 min_uni_version < appVersion,则不会使用wgt更新,会接着判断库中 app包version 是否大于 appVersion - 如果库中 wgt包 版本大于传参 appVersion,但是不满足 min_uni_version < appVersion,则不会使用wgt更新,会接着判断库中 app包version 是否大于 appVersion
- 返回结果: - 返回结果:
|code|message|
|:-:|:-:| |code|message|
|0|当前版本已经是最新的,不需要更新| |:-:|:-:|
|101|wgt更新| |0|当前版本已经是最新的,不需要更新|
|102|整包更新| |101|wgt更新|
|-101|暂无更新或检查appid是否填写正确| |102|整包更新|
|-102|请检查传参是否填写正确| |-101|暂无更新或检查appid是否填写正确|
\ No newline at end of file |-102|请检查传参是否填写正确|
\ No newline at end of file
...@@ -107,7 +107,7 @@ exports.main = async (event, context) => { ...@@ -107,7 +107,7 @@ exports.main = async (event, context) => {
return { return {
code: 0, code: 0,
message: '当前版本已经是最新的,不需要更新' message: '已经是最新版本'
}; };
} }
......
...@@ -3,74 +3,77 @@ import callCheckVersion from './call-check-version' ...@@ -3,74 +3,77 @@ import callCheckVersion from './call-check-version'
// 推荐再App.vue中使用 // 推荐再App.vue中使用
const PACKAGE_INFO_KEY = '__package_info__' const PACKAGE_INFO_KEY = '__package_info__'
export default function() { export default function () {
// #ifdef APP-PLUS // #ifdef APP-PLUS
callCheckVersion().then(async (e) => { return new Promise((resolve, reject) => {
if (!e.result) return; callCheckVersion().then(async (e) => {
const { if (!e.result) return;
code,
message,
is_silently, // 是否静默更新
url, // 安装包下载地址
platform, // 安装包平台
type // 安装包类型
} = e.result;
// 此处逻辑仅为实例,可自行编写
if (code > 0) {
// 腾讯云和阿里云下载链接不同,需要处理一下,阿里云会原样返回
const { const {
fileList code,
} = await uniCloud.getTempFileURL({ message,
fileList: [url] is_silently, // 是否静默更新
}); url, // 安装包下载地址
e.result.url = fileList[0].tempFileURL platform, // 安装包平台
type // 安装包类型
} = e.result;
// 静默更新,只有wgt有 // 此处逻辑仅为实例,可自行编写
if (is_silently) { if (code > 0) {
uni.downloadFile({ // 腾讯云和阿里云下载链接不同,需要处理一下,阿里云会原样返回
url: e.result.url, const {
success: res => { fileList
if (res.statusCode == 200) { } = await uniCloud.getTempFileURL({
// 下载好直接安装,下次启动生效 fileList: [url]
plus.runtime.install(res.tempFilePath, {
force: false
});
}
}
}); });
return; e.result.url = fileList[0].tempFileURL
}
resolve(e)
/**
* 提示升级一
* 使用 uni.showModal
*/
// return updateUseModal(e.result)
/** // 静默更新,只有wgt有
* 提示升级二 if (is_silently) {
* 官方适配的升级弹窗,可自行替换资源适配UI风格 uni.downloadFile({
*/ url: e.result.url,
uni.setStorageSync(PACKAGE_INFO_KEY, e.result) success: res => {
uni.navigateTo({ if (res.statusCode == 200) {
url: `/uni_modules/uni-upgrade-center-app/pages/upgrade-popup?local_storage_key=${PACKAGE_INFO_KEY}`, // 下载好直接安装,下次启动生效
fail: (err) => { plus.runtime.install(res.tempFilePath, {
console.error('更新弹框跳转失败', err) force: false
uni.removeStorageSync(PACKAGE_INFO_KEY) });
}
}
});
return;
} }
})
} else if (code < 0) { /**
* 提示升级一
* 使用 uni.showModal
*/
// return updateUseModal(e.result)
/**
* 提示升级二
* 官方适配的升级弹窗,可自行替换资源适配UI风格
*/
uni.setStorageSync(PACKAGE_INFO_KEY, e.result)
uni.navigateTo({
url: `/uni_modules/uni-upgrade-center-app/pages/upgrade-popup?local_storage_key=${PACKAGE_INFO_KEY}`,
fail: (err) => {
console.error('更新弹框跳转失败', err)
uni.removeStorageSync(PACKAGE_INFO_KEY)
}
})
} else if (code < 0) {
// TODO 云函数报错处理
console.error(message)
reject(e)
}
}).catch(err => {
// TODO 云函数报错处理 // TODO 云函数报错处理
console.error(message) console.error(err.message)
} reject(err)
})
});
}).catch(err => {
// TODO 云函数报错处理
console.error(err.message)
})
// #endif // #endif
} }
...@@ -148,4 +151,4 @@ function updateUseModal(packageInfo) { ...@@ -148,4 +151,4 @@ function updateUseModal(packageInfo) {
}); });
} }
}); });
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册