实现逻辑

通过获取线上的版本号和app的版本号进行对比 查看是不是最新版 — app版本号小于线上版本号则不是最新版 提示更新

模拟检测更新请求

起一个服务,也就是检测更新的接口

返回值为最新版本号和最新版wgt文件下载地址,例:

{
    "code": 0,
    "msg": "success",
    "version": "101",
    "url": "http://192.168.1.160:5501/download/trq101.wgt"
}

应用使用

应用内检测更新方法

//检测版本更新
const version = ref()
const innerVer = ref()
const checkVersion = () => {
plus.runtime.getProperty(plus.runtime.appid, (widgetInfo) => {
innerVer.value = widgetInfo.version;
version.value = widgetInfo.versionCode;
uni.request({
url: 'http://192.168.1.160:5501/download/smartAppversion.json?_t=' + new Date().getTime(), //版本检测
data: {},
header: {},
success: (result) => {
console.log(result.data,version.value)
if (result.data.code === 0) {
if (result.data.version - version.value > 0) { // 如果最新版本大于现在已经安装的App的版本
uni.showModal({
title: "更新提示",
content: "发现新版本,请确认下载更新?",
success: (res) => {
if (res.confirm) {
uni.showLoading({
title: '下载更新包中...'
});
uni.downloadFile({
url: result.data.url,
success: (downloadResult) => {
uni.hideLoading();
if (downloadResult.statusCode === 200) {
plus.runtime.install(downloadResult.tempFilePath, {
force: true
}, function () {
console.log('App更新成功!');
uni.showModal({
title: 'App更新成功!',
showCancel: false
})
plus.runtime.restart();
}, function (e) {
console.log('App更新失败!');
})
}
}
});
}
}
})
} else {
uni.showModal({
title: '当前已是最新版本',
showCancel: false
})
}
}
}
})
})
}

在想使用的时候调用即可

uniapp安卓在线更新版本的更多相关文章

  1. vue项目在安卓低版本机显示空白原因

    vue项目在安卓低版本机显示空白原因: 可能的原因一: 查看安卓debug,报错,可能有箭头函数语法错误,或者其他语法问题,那可能是ES6语法问题. 这时候需要安装babel-pollyfill. 网 ...

  2. 【android】安卓平台版本和API版本的对应关系

    安卓平台版本和API版本对应关系

  3. uniApp安卓离线SDK运行

    一.下载uniapp提供的离线SDK包 下载地址:https://nativesupport.dcloud.net.cn/AppDocs/download/android 版本:2022年09月26日 ...

  4. uniapp安卓ios百度人脸识别、活体检测、人脸采集APP原生插件

    插件亮点 1 支持安卓平板(横竖屏均可),苹果的iPad.2 颜色图片均可更换. 特别提醒 此插件包含 android 端和 iOS 端,考虑到有些同学只做其中一个端的 app,特意分为 2 个插件, ...

  5. uni-app 安卓离线打包详细教程

    借鉴 uni-app官方给出的文章http://ask.dcloud.net.cn/article/508(虽说是04年的) 预备环境 AndroidStudio开发环境,要求安装Android4.0 ...

  6. 如何解决vux不兼容安卓低版本问题

    最近做移动端H5页面用VUX来写UI组件这块.ios测试的时候没啥大问题,不过在4.4版本的华为手机上测试就崩了.接下来详细记述下崩的几个点. 第一:vux自带的提示框,在低版本安卓系统上全不是居中显 ...

  7. adb获得安卓系统版本及截屏

    [时间:2017-09] [状态:Open] [关键词:adb, android,系统版本,截屏,screencap] 本文主要是我遇到的android命令行用法的一个简单总结 系统版本 获取系统版本 ...

  8. 当在安卓低版本呈现的界面(H5)出现问题的时候,我们怎么解决?

    昨天,在医院现场的客服人员,向我们反馈一个问题:说一位用户用他的安卓手机打开我们的app之后,界面是乱掉的:如下图: 向客服询问了具体的设备信息:安卓系统版本号是4.2 下意识觉得是因为css的兼容问 ...

  9. Fiddler对安卓高版本进行抓包解决方案以及分析 进阶二

    今天是2021年的最后一天了,多分享一些干货吧!看过上一章节教程后会有同学疑惑,我也一步一个脚印的,跟着流程走也设置了代理以及安装了证书,有的同学会发现 为什么手机不能够连接网络了呢?细心一点的同学会 ...

  10. uniapp安卓离线打包权限问题

    安卓离线打包需要在androidManifest.xml配置 在 manifest 节点下面加上权限(对应uniapp当中manifest.json当中安卓的权限配置),例如: <manifes ...

随机推荐

  1. JSP——简介-快速入门

    JSP 简介       JSP 快速入门       <%@ page contentType="text/html;charset=UTF-8" language=&qu ...

  2. [R18][中国語翻訳]HDKのABC370赛試(ABC370)

    A.Raise Both Hands \(\texttt{Diff }11\) #include<bits/stdc++.h> using namespace std; #define e ...

  3. 暑假集训CSP提高模拟17

    \[暑假集训CSP提高模拟 \operatorname{EIJ}_{2}(6)-1 \] \(\operatorname{EIJ}_{k}(A)\) 定义为有 \(A\) 个球,\(k\) 个盒子,盒 ...

  4. 暑假集训CSP提高模拟4

    A.White and Black 暴力的 \(O(nq)\) 做法比较显然,因为对于根节点来说,只有它自己可以改变自己的颜色,因此如果它是黑色则一定需要更改自己,同时把更改传下去(应该没有那种每次真 ...

  5. 禁用QQ自动升级(实测可用)

    事件起因: 某客户电脑QQ从怀旧版(9.7)自动升级到NT版本(9.9)版本,新版本由于消息通知功能不能直接查看,老版本右下角消息闪烁,鼠标放上去便可以看到有几个联系人的消息,因此客户强烈要求版本回退 ...

  6. oh-my-zsh nvm command not found

    oh-my-zsh nvm command not found 如果你在使用 oh-my-zsh 并且在终端输入 nvm 命令时提示 "command not found",这可能 ...

  7. 00 你想要学习的 AI+Python,捷径在这里

    博客配套视频链接: https://space.bilibili.com/383551518?spm_id_from=333.1007.0.0 b 站直接看 配套 github 链接:https:// ...

  8. apisix~按域名进行请求转发

    路由route 路由(Route)是请求的入口点,它定义了客户端请求与服务之间的匹配规则.路由可以与服务(Service).上游(Upstream)关联,一个服务可对应一组路由,一个路由可以对应一个上 ...

  9. 一文详述:AI 网关与 API 网关到底有什么区别?

    近年来AI 发展火热,大模型已经成为推动各行各业业务创新和增长的关键力量.随之而来问题是"企业该如何安全管理和部署AI应用的挑战?"AI基础架构的设计不仅要支持现有的业务需求,还要 ...

  10. Termux 使用笔记

    第一次安装完成后 发现这里面啥都没有 所以 更新源 apt update 也做不到 这是因为 源是国外 由于有墙 所以连接不上 下面这个命令可以 切换更新源 termux-change-repo 切换 ...