uniapp 无法热更新问题

阿丁崽崽
  • 194

**不知道为什么在模拟器里面调试就是热更新就是不生效
麻烦大神帮忙看看 就是出不来热更新,无法实现更新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;
回复
阅读 389
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏