<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                > 使用 uni-app 開發,可將代碼編譯到iOS、Android、微信小程序等多個平臺,升級時也需考慮多平臺同步升級。 > * uni-app發布為小程序的升級模式較簡單,只需將開發完的代碼提交小程序后臺,待審核通過后用戶將自動升級 > * iOS/Android App 的升級需開發者自己處理,本文主要簡介 App 的整包升級模式。 > App熱更新(升級包方式)另見文檔:http://ask.dcloud.net.cn/article/35667 [TOC] ## 實現流程 > 請求地址:https://www.example.com/update > 請求數據: ~~~json { "appid": plus.runtime.appid, "version": plus.runtime.version } ~~~ > 響應數據: ~~~json { "status":1,//升級標識,0:無需升級;1:建議更新;2:強制更新 "note": "修復bug1;\n修復bug2;",//release notes "url": "http://www.example.com/uniapp.apk" //更新包下載地址 } ~~~ ## 客戶端實現 > App啟動時,向服務端上報當前版本號,服務端判斷是否提示升級。 > 在App.vue的onLaunch中,發起升級檢測請求 ### 建議更新 ~~~javascript onLaunch: function () { //#ifdef APP-PLUS var server = "https://www.example.com/update"; //檢查更新地址 var req = { //升級檢測數據 "appid": plus.runtime.appid, "version": plus.runtime.version }; uni.request({ url: server, data: req, success: (res) => { if (res.data.status === 1) { uni.showModal({ //提醒用戶更新 title: "更新提示", content: res.data.note, success: (res) => { if (res.confirm) { plus.runtime.openURL(res.data.url); } } }) } } }) //#endif } ~~~ > **注意:** App的升級檢測代碼必須使用條件編譯,否則在非App環境由于不存在plus相關API,將會報錯。 ### 強制更新 > 參考上面的方法,把showModel換成自己寫的一個彈窗,只有升級按鈕,無關閉按鈕。這樣就強制更新了。 > 注意uniapp的app.vue不能引入任一組件,不然打包就會報錯。 > 市場里也有很多插件,也可以直接使用,如:https://ext.dcloud.net.cn/plugin?id=543 (可分安裝包,升級包。安卓是在應用內下載,不跳轉web) ## 服務端實現 > 根據客戶端上報的版本號,比對服務端最新版本號,決定是否需要升級,若需升級則返回升級信息(rease notes、更新包地址等) ~~~ header("Content-type:text/json"); $appid = $_GET["appid"]; $version = $_GET["version"]; //客戶端版本號 $rsp = array("status" => 0); //默認返回值,不需要升級 if (isset($appid) && isset($version)) { if ($appid === "__UNI__123456") { //校驗appid if ($version !== "1.0.1") { //這里是示例代碼,真實業務上,最新版本號及relase notes可以存儲在數據庫或文件中 $rsp["status"] = 1; $rsp["note"] = "修復bug1;\n修復bug2;"; //release notes $rsp["url"] = "http://www.example.com/uniapp.apk"; //應用升級包下載地址 } } } echo json_encode($rsp); exit; ~~~ ## 常見問題 版本檢測需要打包app,真機運行基座無法測試。因為真機運行的plus.runtime.version是固定值。 > 參考文檔: > https://www.jianshu.com/p/219fd6b914d3 > https://ask.dcloud.net.cn/article/34972 > https://ask.dcloud.net.cn/article/35667)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看