uniapp 線上更新安裝包
阿新 • • 發佈:2022-04-22
app升級線上更新,用到 Downloader模組管理網路檔案下載任務,用於從伺服器下載各種檔案,並支援跨域訪問操作。通過plus.downloader獲取下載管理物件。Downloader下載使用HTTP的GET/POST方式請求下載檔案,符合標準HTTP/HTTPS傳輸協議。
plus.nativeUI.showWaiting("下載更新檔案..."); //下載更新檔案... let options = { method: "GET" }; let dtask = plus.downloader.createDownload(url, options);//url 為wgt包的網路地址 dtask.addEventListener("statechanged", function(task, status) { switch (task.state) { case 1: // 開始 break; case 2: //已連線到伺服器 vm.update_ing = true; break; case 3: // 已接收到資料 vm.downloadedSize = task.downloadedSize; let totalSize = 0; if (task.totalSize) { totalSize = task.totalSize //伺服器須返回正確的content-length才會有長度 } vm.schedule = parseInt(100 * task.downloadedSize / totalSize); break; case 4: vm.installWgt(task.filename); // 安裝wgt包 break; } }); dtask.start();
wgt包,放在IIS服務下面,剛開始總是找不到檔案報404錯誤。後面才想到是資源不被應許。在IIS下 “MIME型別” 中新增 副檔名輸入:.wgt MIME型別輸入:application/widget
果然添加了之後就能正常更新找到wgt包了。