福州网站建设>网站新闻>uni-app使用问题

关于nuiapp检测升级app并自动安装的代码分享

发布日期:2020-01-13浏览次数:2493 来源:福州网站建设

思路如下,供新手参考

检测升级部分代码

复制代码 upapp: function(isup) { //#ifdef APP-PLUS  /* 5+环境锁定屏幕方向 */ plus.screen.lockOrientation('portrait-primary'); //锁定  /* 5+环境升级提示 */ var server = ""; //检查更新地址  var req = { //升级检测数据  "appid": plus.runtime.appid, "version": plus.runtime.version, "imei": plus.device.imei  
        };  

        uni.request({ url: server, data: req, success: (res) => { if (res.statusCode == 200 && res.data.state == "yes") { let openUrl = plus.os.name === 'iOS' ? res.data.iOS : res.data.Android; var url = res.data.urlapp; var content = res.data.content;  
                    uni.showModal({ //提醒用户更新  title: '更新提示', cancelText:'确定', confirmText:'取消', content: res.data.content ? res.data.content : '有新版本,是否确定更新?', success: (res) => { if (!res.confirm) { //跳转到升级进度页面  uni.navigateTo({ url: "/pages/upapp/index?url=" + url + "&content=" + content  
                                })  
                            } else { //取消  }  
                        }  
                    })  
                } else if (res.statusCode == 200) {  
                    uni.setStorageSync("upapp", time);  
                    uni.showToast({ "title": res.data.content ? res.data.content : "已是最新版本",  
                    });  

                } else { //  }  
            }  
        }) //#endif  }

下载升级进度页面:/pages/upapp/index

复制代码<template> <view> <view class="page-body"> {{title}} {{content}} <view class="page-section page-section-gap"> <view class="progress-box"> <progress :percent="percent" show-info stroke-width="30" /> </view> </view> </view> </view> </template> <script> export default {  
        data() { return { title: '正在下载中,请稍候!', content: "", percent: 0 }  
        }, onLoad: function (option) { if (option.url) { this.content = option.content; this.up_app(option.url);  
            } else {  
                uni.navigateBack({ delta: 1,  
                }); return;  
            }  

        }, onHide: function () {  

        }, onShow: function () {  

        }, methods: { up_app: function (url) {  
                plus.screen.lockOrientation('portrait-primary'); //锁定  this.download(url)  
            }, download: function (url) { console.log(url) var that = this; const downloadTask = uni.downloadFile({ url: url, success: function (res) { if (res.statusCode === 200) { console.log(JSON.stringify(res)) console.log('下载成功'); var tempFilePaths = res.tempFilePath;  
                            that.install(tempFilePaths); return;  
                        }  
                    }  
                });  

                downloadTask.onProgressUpdate(function (res) {  
                    that.percent = res.progress; //console.log('下载进度' + res.progress);  //console.log('已经下载的数据长度' + res.totalBytesWritten);  //console.log('预期需要下载的数据总长度' + res.totalBytesExpectedToWrite);  });  
            }, install: function (path) {//安装  console.log(path)  
                plus.runtime.install(path, { force: true }, function () { //uni.hideNavigationBarLoading();  console.log("加载完成!");  
                    uni.navigateBack({ delta: 1,  
                    });  
                }, function (e) { console.log(JSON.stringify(e));  

                });  
            }  

        }  
    }  
</script>  

<style>  
    progress {  
        width: 100%;  
    }  

    .progress-box {  
        display: flex;  
        height: 50px;  
        margin-bottom: 60px;  
    }  

    .progress-cancel {  
        margin-left: 40px;  
    }  
</style>

后端代码(php):

$version="";//是接收到的版本号
$now_v="1.0.1";//要升级最新版本号
$data_json=["state"=>"not","content"=>"已是最新版本!",];
if ($version !== $now_v) { //这里是示例代码,真实业务上,最新版本号及relase no
$data_json =array(
"state"=>"yes",
"content"=>"增加一些新功能。",
"mark"=>$now_v,
"urlapp"=>"",//下载app地址
);
}

以上是由福州网站建设的小编为你分享了"关于nuiapp检测升级app并自动安装的代码分享"文章,如果你在这方面有什么问题,随时联系我们

uni-app使用问题有关的文章
如果您有什么问题,欢迎咨询我们客服! 点击QQ咨询