更新记录
1.0.2(2024-01-17)
优化检查更新函数放置onShow生命周期等情况下多次跳转到升级页造成页面叠加打开的问题
1.0.1(2023-11-12)
已发布
平台兼容性
HbuilderX/cli最低兼容版本 |
3.6.0 |
uni-app
app-vue |
app-nvue |
app-android |
app-ios |
? |
? |
? |
? |
H5-Safari |
Android Browser |
微信浏览器(Android) |
QQ浏览器(Android) |
Chrome |
IE |
Edge |
Firefox |
PC-Safari |
? |
? |
? |
? |
? |
? |
? |
? |
? |
微信小程序 |
支付宝小程序 |
百度小程序 |
字节小程序 |
QQ小程序 |
钉钉小程序 |
快手小程序 |
飞书小程序 |
京东小程序 |
? |
? |
? |
? |
? |
? |
? |
? |
? |
uni-app x
H5-Safari |
Android Browser |
微信浏览器(Android) |
QQ浏览器(Android) |
Chrome |
IE |
Edge |
Firefox |
PC-Safari |
? |
? |
? |
? |
? |
? |
? |
? |
? |
## 使用说明
1.pages.json添加页面路由
{
"path": "pages/lq-upgrade/upgrade",
"style": {
"navigationBarTitleText": "",
"navigationStyle": "custom",
"app-plus": {
"bounce": "none",
"animationType": "none", //取消窗口动画
"background": "transparent" // 设置背景透明
}
}
}
2.页面使用
首页(需要弹窗升级页面)调用 checkVersion方法,传入版本名称,版本号,更新内容,下载链接参数
将自动判断是否有新版本,如有将弹窗让用户操作更新,否则不做任何反应
<script>
import checkVersion from '@/pages/lq-upgrade/checkVersion.js'
export default {
data() {
},
onLoad() {
this.upgrade()
},
methods: {
upgrade(){
//模拟接口请求
setTimeout(()=>{
let name='V1.2.0';//新版本名称
let code=10000;//新版本号(数字)
let content=`1.新增在线升级功能<br>2.修复若干bug`;//更新内容
let url='https:xxxxxxxxx';//app下载链接,(演示请换成真正在下载链接)
let forceUpdate=false;//是否强制更新
//检查是否需要更新
checkVersion({
name,//最新版本名称
code,//最新版本号
content,//更新内容
url,//下载链接
forceUpdate//是否强制升级
})
},1000)
}
}
}
</script>
ps:每版app打包时候需要设置对应的版本号,设置位置:
manifest.json——应用版本号(数字) ,每次从服务器获取最新版本的版本号和manifest.json设置的版本号对比大小判断是否需要更新
注意事项
1.无法弹出安装APP界面
manifest.json-APP常用其他设置-targetSdkVersion必须设置26以上
2.无法安装APP
manifest.json-APP权限设置需勾选:
"<uses-permission android:name=\"android.permission.INSTALL_PACKAGES\"/>",
"<uses-permission android:name=\"android.permission.REQUEST_INSTALL_PACKAGES\"/>"
3.获取的版本号和设置的不一致
通过uni.getSystemInfoSync().appVersionCode获取的本地应用版本号和manifest.json-应用版本号设置不一致,需要云打包或者自定义基座里面才能生效