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包了。
posted @ 2022-04-22 16:31  蓬鹏  阅读(455)  评论(0编辑  收藏  举报