首页 > 其他分享 >uniapp 蒲公英升级

uniapp 蒲公英升级

时间:2023-03-14 16:24:07浏览次数:33  
标签:uniapp data 更新 升级 plus uni runtime 蒲公英 check

export function checkUpdateApp() {
    //  获取manifest.json里的配置信息
    plus.runtime.getProperty(plus.runtime.appid, function(widgetinfo) {
        // 可以根据manifest.json里的应用名称来进行针对性的APP升级
        if (widgetinfo.name == 'xxxx') { //APP名称
            uni.request({
                url: 'https://www.pgyer.com/apiv2/app/check', //检测App是否有更新
                data: {
                    _api_key: '', //API 用户自己的Key
                    appKey: '' //App应用的唯一Key
                },
                success: check => {
                    console.log('check', check.data);
                    if (check.statusCode == 200 && check.data.code == 0 && check.data.data) {
                        console.log('1234');
                        let data = check.data.data;
                        console.log('data', data);
                        let version = widgetinfo.version, //用户当前版本
                            appVersion = data.buildVersion, //升级包版本
                            appName = widgetinfo.name, //app名称
                            // updata = data.apk_client_force_updata,//是否强制热更新
                            appurl = data.downloadURL, //升级包地址
                            intro = '发现新的《瑞金田长》APP,需要更新APP'; //升级包提示
                        // wgt_version = data.wgt_version,//热更新版本号
                        // wgt_download = data.wgt_download;//热更新地址
                        //如果用户版本号小于升级包版本号,先升级
    
                        if (data && version < appVersion) {
                            uni.showModal({
                                title: '更新提示',
                                confirmText: '立即升级',
                                content: intro,
                                success: res => {
                                    if (res.confirm) {
                                        uni.showLoading({
                                            title: '正在更新',
                                            mask: true
                                        });
                                        uni.downloadFile({
                                            url: appurl,
                                            success: download => {
                                                if (download.statusCode == 200) {
                                                    plus.runtime.install(
                                                        download.tempFilePath,
                                                        {
                                                            force: false
                                                        },
                                                        () => {
                                                            uni.hideLoading();
                                                            plus.runtime.restart(); //更新成功启动
                                                        },
                                                        err => {
                                                            //若没下载成功还是去下载
                                                            uni.hideLoading();
                                                            uni.showToast({
                                                                title: '更新失败,将跳转下载页面',
                                                                icon: 'none',
                                                                duration: 2000
                                                            });
                                                        }
                                                    );
                                                    setTimeout(function() {
                                                        plus.runtime.openURL(appurl);
                                                    }, 2000);
                                                }
                                            }
                                        });
                                    } else if (res.cancel) {
                                        console.log('用户点击取消');
                                        uni.showToast({
                                            title: '版本无法继续使用瑞金田长APP,请先升级',
                                            icon: 'none',
                                            duration: 2000
                                        });
                                        //退出app
                                        setTimeout(function() {
                                            plus.runtime.quit();
                                        }, 2000);
                                    }
                                },
                                fail: () => {
                                    uni.hideLoading();
                                }
                            });
                        } else {
                            
                        }
                    }
                }
            });
        } else {
            //非安卓
        }
    });
}

https://blog.csdn.net/qq_39891453/article/details/128035540

 

记录进步!!!

标签:uniapp,data,更新,升级,plus,uni,runtime,蒲公英,check
From: https://www.cnblogs.com/sxdjy/p/17215306.html

相关文章

  • APP-uniapp-uni.login实现微信登陆
    直接上代码登录按钮,单击方法weixinLogin(){console.log("进入微信登录");uni.login({provider:'weixin',success:functio......
  • 直播平台搭建源码,uniapp progress进度条
    直播平台搭建源码,uniappprogress进度条.progress-container{height:20rpx;display:flex;flex-direction:row;align-items:center;justify-content:center;margin:......
  • uniapp/vue 生成二维码
     1、在页面中引入js文件constqrCode=require('@/assets/js/weapp-qrcode.js') 2、在页面中增加<canvasclass="canvas"canvas-id="couponQrcode"></canvas>......
  • Synchronized锁升级过程
    Synchronized痛点JDK1.6以前Synchronized锁是一个非常重的锁,虽然确实保证了并发的安全性,但是却也导致了性能的大幅降低;为了解决这个问题,JDK1.6开始出现了锁升级机制,根据具......
  • 今天给蛟龙16k升级了硬盘还有内存
    内存:英睿达DDR516g*2硬盘:金百达1T加起来快1100了真的是好贵这次一次到位了,整个机器花了7600元,和我去年买的MacBook一个价格,有那么意思好笑从去年我想换配主机......
  • 20230313>笔记本小升级PM991A
     新款的PM991a,有且仅有2230长度,大板子需自备转换器转成2241,2260,或者2280.  PM991a完全是小设备的福音的。以下是参数:本次产品容量512Gb, 产于2023年1月。 PM......
  • 限时促销,火山引擎 ByteHouse 为企业带来一波数智升级福利!
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 面对庞杂的海量数据,稳定高速的实时数据处理能力,成为了当下企业数智升级过程中备......
  • uniapp开发使用slot插槽时小程序编译报错:Errors compiling template:目前仅支持解构插
    1.子组件中 <view><slot:user="user">{{user.lastName}}</slot></view>2.在父组件使用<templatev-slot:default="otherSlotProps"......
  • Centos 7升级原python 2.7.5至Python 3.7
    1.安装编译环境包(防止出现安装错误)yuminstallgcc-c++gccmakecmakezlib-develbzip2-developenssl-develncurse-devel-y2.在线下载Python3.7源码包#进入tmp目......
  • Linux提权-权限升级
    Linux提权-权限升级 特权升级是一段旅程。没有灵丹妙药,很大程度上取决于目标系统的具体配置。内核版本、已安装的应用程序、支持的编程语言、其他用户的密码是影响您......