1. 程式人生 > 其它 >uniapp 線上更新安裝包

uniapp 線上更新安裝包

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包了。