当前位置:网站首页>Uniapp mobile terminal forced update function
Uniapp mobile terminal forced update function
2022-07-07 08:08:00 【The sea of waves】
uniapp Forced update function of mobile terminal
background
lately , Considering the iterative upgrade of the mobile version , You need to have the function of forced update , The overall logic is relatively simple , I haven't done it before , So make a simple record .
front end
You need to open the mobile terminal app, It is necessary to judge the version number , So you need to be in app.vue In the document onLaunch() Method Writing code logic in .
// Force update
//#ifdef APP-PLUS
this.$u.api.update({
appid: plus.runtime.appid,
version: plus.runtime.versionCode
})
.then(res => {
console.log(res);
console.log(plus.runtime.appid);
console.log(plus.runtime.versionCode);
console.log(res.status);
if (res.status == 1) {
uni.showModal({ // Remind users to update
title: " Update hints ",
showCancel: false, // Hide the unhide button
content: res.note,
buttonText: ' determine ',
success: (rese) => {
if (rese.confirm) {
plus.runtime.openURL(res.url); // Call the browser on the mobile phone Download
}
}
})
}
});
//#endif
Back end
/**
* mandatory Update verification
* @param appid
* @param version
* @return
*/
@RequestMapping("/update")
public ResponseEntity<Map<String, String>> update(String appid, String version) {
Map<String, String> map = new HashMap<>();
// Get the upgraded version stored in the database , Upgrade content and download links
AppUpdateApk appUpdateApk = appUpdateApkService.findNew();
String mVersion = appUpdateApk.getVersionNumber();
// Version number of mobile terminal Compare with the latest version number of the database
if(mVersion.equals(version)){
map.put("status","0");
}else{
// Remind different
map.put("status","1");
map.put("note",appUpdateApk.getUpdateContent());
map.put("url",appUpdateApk.getUrl());
}
return ResponseEntity.ok(map);
}
Last
I believe there must be other better methods , Comments are welcome , Learn from each other together .
边栏推荐
猜你喜欢
3D reconstruction - stereo correction
MySQL multi column index (composite index) features and usage scenarios
LeetCode简单题之判断一个数的数字计数是否等于数位的值
【数字IC验证快速入门】12、SystemVerilog TestBench(SVTB)入门
调用 pytorch API完成线性回归
Main window in QT learning 27 application
Li Kou interview question 04.01 Path between nodes
Dedecms collects content without writing rules
有 Docker 谁还在自己本地安装 Mysql ?
Shell 脚本的替换功能实现
随机推荐
Jmeter 的使用
Introduction to basic components of wechat applet
The zblog plug-in supports the plug-in pushed by Baidu Sogou 360
Lattice coloring - matrix fast power optimized shape pressure DP
Rust versus go (which is my preferred language?)
[Matlab] Simulink 自定义函数中的矩阵乘法工作不正常时可以使用模块库中的矩阵乘法模块代替
LeetCode简单题之找到一个数字的 K 美丽值
Network learning (II) -- Introduction to socket
Network learning (I) -- basic model learning
jeeSite 表单页面的Excel 导入功能
Linux server development, detailed explanation of redis related commands and their principles
Linux server development, MySQL stored procedures, functions and triggers
Paddlepaddle 29 dynamically modify the network structure without model definition code (relu changes to prelu, conv2d changes to conv3d, 2D semantic segmentation model changes to 3D semantic segmentat
Open source ecosystem | create a vibrant open source community and jointly build a new open source ecosystem!
offer收割机:两个长字符串数字相加求和(经典面试算法题)
Cnopendata geographical distribution data of religious places in China
Linux server development, redis source code storage principle and data model
Visualization Document Feb 12 16:42
2022制冷与空调设备运行操作复训题库及答案
Content of string