uniapp開發中遇到的plus.runtime.appid問題
今天接手一個別人的專案,看程式碼看了一天,有個地方我很費解,上圖
plus.runtime.appid 我尋思這是個啥?
列印輸出的結果 如下
我把plus給列印了 結果如下,看不懂 很費解
文字版如下 這是給人看的東西嗎??
[native code] }","11":"function() { [native code] }","12":"function() { [native
code] }","13":"function() { [native code] }","14":"function() { [native code]
}","15":"function() { [native code] }","16":"function() { [native code]
}","17":"function() { [native code] }","18":"function() { [native code]
}","19":"function() { [native code]
}"},"hooks":{}}},"documentElement":{"ref":"_documentElement","type":"document","attr":{},"style":{}},"__$automator__":false,"__$compiler__":"uni-app"},"requireModule":"function()
{ [native code] }","importScript":"function() { [native code]
}","isRegisteredModule":"function() { [native code]
}","isRegisteredComponent":"function() { [native code]
}"},"weexBridge":{"preloadReady":"function() { [native code]
}","postMessage":"function() { [native code] }","execSync":"function() { [native
code] }","getConfigInfo":"function() { [native code]
}","evalJSFiles":"function() { [native code] }","uniReady":"function() { [native
code] }","removeAllEventListeners":"function() { [native code]
}","sendNativeEvent":"function() { [native code] }","pushDebugData":"function()
{ [native code] }","exec":"function() { [native code] }","getValue":"function()
{ [native code] }","getDotData":"function() { [native code]
}","addEventListener":"function() { [native code]
}","getRedirectInfo":"function() { [native code] }","log":"function() { [native
code] }","setDefaultFontSize":"function() { [native code]
}"},"globalEvent":{"addEventListener":"function() { [native code]
}","removeAllEventListeners":"function() { [native code]
}","removeEventListener":"function() { [native code]
}"},"tools":{"__UUID__":3,"UNKNOWN":-1,"IOS":0,"ANDROID":1,"platform":1,"debug":true,"UUID":"function()
{ [native code] }","extend":"function() { [native code]
}","typeName":"function() { [native code] }","isDate":"function() { [native
code] }","isArray":"function() { [native code] }","isDebug":"function() {
[native code] }","stringify":"function() { [native code]
}","isNumber":"function() { [native code]
}","getElementOffsetInWebview"
遂開始面向百度程式設計 這個東西是跟app的升級更新有關 其實我現在還是沒有整太明白,但是有時候不怕百度就怕不知道咋百度,所以把我遇到的問題分享給大家,希望對你有幫助
貼上原文如下————
uni-app 整包升級/更新方案
w微涼半秋
2019.10.31 21:40:00
注意:plus.runtime.appid,plus.runtime.version, plus.runtime.openURL()
在真機環境下才有效使用 uni-app 開發,可將程式碼編譯到iOS、Android、微信小程式等多個平臺,升級時也需考慮多平臺同步升級。
uni-app釋出為小程式的升級模式較簡單,只需將開發完的程式碼提交小程式後臺,待稽核通過後使用者將自動升級 iOS/Android App
的升級需開發者自己處理,本文主要簡介 App 的整包升級模式。 App
的資源熱更新另見文件:http://ask.dcloud.net.cn/article/35667 介面約定
如下資料介面約定僅為示例,開發者可以自定義介面引數。 請求地址:https://www.example.com/update請求方法:GET
請求資料:
"appid": plus.runtime.appid, "version": plus.runtime.version } ``` 響應資料: ```javascript { "status":1,//升級標誌,1:需要升級;0:無需升級 "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.statusCode == 200 && res.data.status === 1) { uni.showModal({ //提醒使用者更新 title: "更新提示", content: res.data.note, success: (res) => { if (res.confirm) { plus.runtime.openURL(res.data.url); } } }) } } }) //#endif } ``` 注意:App的升級檢測程式碼必須使用條件編譯,否則在微信環境由於不存在plus相關API,將會報錯。 服務端實現 根據客戶端上報的版本號,比對服務端最新版本號,決定是否需要升級,若需升級則返回升級資訊(rease notes、更新包地址等) 開發者可以根據服務端開發語言,自己實現升級檢測邏輯,如下是一個php示例程式碼: ```javascript 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://ask.dcloud.net.cn/article/34972 順便把評論也貼上過來 Han濤_ 2樓 05.06 17:43 我這樣給後端傳過去,後端拿到的資料一直是null w微涼半秋 05.06 18:51 你取的前端有取到資料嗎 Han濤_ 05.07 13:43 @w晚風 發現問題了,後端設定的問題,謝謝
相關文章
- React開發中遇到的問題總結React
- Flutter開發過程中遇到的問題記錄Flutter
- 皮膚開發過程中遇到的3個問題
- uniapp開發企業微信應用中的定位問題記錄APP
- 微信小程式開發中遇到的幾個小問題微信小程式
- 前端開發中遇到的一些問題----持續更新前端
- 開發以太坊遇到的幾個問題
- 模仿今日頭條app開發遇到的問題APP
- 直播系統開發遇到的三大問題
- laravel使用中遇到的問題Laravel
- Hodoop配置中遇到的問題OdooOOP
- 工作中遇到的問題
- javaweb中自己遇到的問題JavaWeb
- 記錄在使用Django開發過程中遇到的問題No.2Django
- Android開發過程中遇到的問題以及解決辦法 how toAndroid
- Uncaught SyntaxError: Unexpected token : 開發遇到的跨域問題Error跨域
- 移動端網頁版開發遇到的問題網頁
- loadrunner學習中遇到的問題
- @UpdateProvider註解中遇到的問題IDE
- weex學習中遇到的問題
- kafka 運維中遇到的問題Kafka運維
- laravel開發中遇到的問題與bug修復的一些總結Laravel
- 【專案中遇到的zookeeper的問題】
- uniapp onshow/onLoad 中的 showToast 不顯示的問題APPAST
- AS Notes|記錄日常開發遇到的 AS 問題(不斷更新。。。
- 實際專案中遇到的問題
- 安裝 Laravel Mix 中遇到的問題Laravel
- Vue使用中遇到的程式碼問題Vue
- 爬蟲過程中遇到的問題爬蟲
- 關於工作中遇到的問題
- Speed框架許可權管理開發當中遇到的問題和處理方式框架
- react開發移動端H5遇到的問題(1)ReactH5
- H5與APP混合開發遇到的問題總結H5APP
- linux遇到的問題Linux
- Vagrant 遇到的問題
- Homestead 遇到的問題
- sudo 遇到的問題
- JackJson遇到的問題JSON