uniapp 无法热更新问题

发布于 2022-09-13 01:14:17 字数 3342 浏览 31 评论 0

**不知道为什么在模拟器里面调试就是热更新就是不生效
麻烦大神帮忙看看 就是出不来热更新,无法实现更新wgt包**

onLaunch: function() {
            var server = "http://192.168.3.11:801/updata.php"; //检查更新地址  
            var req = { //升级检测数据  
                "appid": plus.runtime.appid,
                "version": plus.runtime.version,
                "name": plus.os.name
            };

            uni.request({
                url: server,
                data: req,

                success: (res) => {

                    // 整包更新 
                    if (res.statusCode == 200 && res.data.status === 1) {
                        url: res.data.url,
                        uni.showModal({ //提醒用户更新  
                            title: "更新提示",
                            content: res.data.note,
                            success: (res1) => {
                                //console.log(res1)
                                if (res1.confirm) {
                                    plus.runtime.openURL(res.data.url);
                                }
                            }
                        })
                    }

                    // 热更新
                    if (res.statusCode == 200 && res.data.status === 2) {
                        
                            uni.downloadFile({
                                
                                // url: res.data.url;
                                console.log(res.data.url)
                                success: (downloadResult) => {
                                    console.log(downloadResult);
                                    if (downloadResult.statusCode === 200) {
                                        plus.runtime.install(downloadResult.tempFilePath, {
                                            force: true
                                        }, function() {
                                            console.log('install success...');
                                            plus.runtime.restart();
                                        }, function(e) {
                                            console.error('install fail...');
                                        });
                                    }
                                }
                            });
                    }


                }
            })

后端PHP的


header("Content-type:text/json");
$appid = $_GET["appid"];
$version = $_GET["version"]; //客户端版本号
$name = $_GET['name'];
$rsp = array("status" => 2); //默认返回值,不需要升级
if (isset($appid) && isset($version)) {
    if ($appid === "HBuilder") { //校验appid
        if ($version !== "1.0.1") { //这里是示例代码,真实业务上,最新版本号及relase notes可以存储在数据库或文件中

            // 1为整包更新,2为热更新
            $rsp["status"] = 2;
            if( $rsp["status"]==1){
                $rsp["note"] = "修复bug1;\n修复bug2;"; //release notes
                if ($name=="Android") {
                    $rsp["url"] = "http://192.168.3.11:801/__UNI__41811EC_0824161936.apk";   // Android下载地址
                }else{
                    $rsp["url"] = "itms-apps://itunes.apple.com/cn/app/******";  // IOS下载地址
                }
            }else{
                $rsp["url"]="http://192.168.3.11:801/2109C97.wgt";    // 热更新包

            }
        }
    }
}
echo json_encode($rsp);

exit;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文