| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901 |
- // #ifdef APP-PLUS
- /**** 此文件说明请看注释 *****/
- // 可以用自己项目的请求方法
- // 请求配置说明:https://ext.dcloud.net.cn/plugin?id=822
- import { getAppVersion } from "@/api/message.js";
- const platform = uni.getSystemInfoSync().platform;
- // 主颜色
- const $mainColor = "#1ABC9C";
- // 弹窗图标url
- const $iconUrl =
- "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/app/upgrade.png";
- // 获取当前应用的版本号
- export const getCurrentNo = function (callback) {
- // 获取本地应用资源版本号
- plus.runtime.getProperty(plus.runtime.appid, function (inf) {
- callback &&
- callback({
- versionCode: inf.version.replace(/\./g, ""),
- version: inf.version,
- });
- });
- };
- // 发起ajax请求获取服务端版本号
- export const getServerNo = function (callback) {
- let type;
- platform == "android" ? (type = "ANDROID") : (type = "IOS");
- getAppVersion(type).then((res) => {
- if (res.data.success && res.data.result.downloadUrl) {
- let response = res.data.result;
- let result = {};
- result.versionCode = response.version;
- result.versionName = response.versionName;
- result.versionInfo = response.content || "暂无";
- result.forceUpdate = response.forceUpdate;
- result.downloadUrl = response.downloadUrl;
- callback && callback(result);
- }
- });
- };
- // 从服务器下载应用资源包(wgt文件)
- export const getDownload = function (data) {
- let popupData = {
- progress: true,
- buttonNum: 2,
- };
- if (data.forceUpdate) {
- popupData.buttonNum = 0;
- popupData.forceUpdate = data.forceUpdate;
- }
- let dtask;
- let lastProgressValue = 0;
- downloadPopup(
- popupData,
- function (res) {
- dtask = plus.downloader.createDownload(
- data.downloadUrl,
- {
- filename: "_doc/update/",
- },
- function (download, status) {
- if (status == 200) {
- res.change({
- progressValue: 100,
- progressTip: "正在安装文件...",
- progress: true,
- buttonNum: 0,
- });
- plus.runtime.install(
- download.filename,
- {},
- function () {
- res.change({
- contentText: "应用资源更新完成!",
- buttonNum: 1,
- progress: false,
- });
- },
- function (e) {
- res.cancel();
- plus.nativeUI.alert(
- "安装文件失败[" + e.code + "]:" + e.message
- );
- }
- );
- } else {
- res.change({
- contentText: "文件下载失败...",
- buttonNum: 1,
- progress: false,
- });
- }
- }
- );
- dtask.start();
- dtask.addEventListener("statechanged", function (task, status) {
- switch (task.state) {
- case 1: // 开始
- res.change({
- progressValue: 0,
- progressTip: "准备下载...",
- progress: true,
- });
- break;
- case 2: // 已连接到服务器
- res.change({
- progressValue: 0,
- progressTip: "开始下载...",
- progress: true,
- });
- break;
- case 3:
- const progress = parseInt(
- (task.downloadedSize / task.totalSize) * 100
- );
- if (progress - lastProgressValue >= 2) {
- lastProgressValue = progress;
- res.change({
- progressValue: progress,
- progressTip: "已下载" + progress + "%",
- progress: true,
- });
- }
- break;
- }
- });
- },
- function () {
- // 取消下载
- dtask && dtask.abort();
- uni.showToast({
- title: "已取消下载",
- icon: "none",
- });
- },
- function () {
- // 重启APP
- plus.runtime.restart();
- }
- );
- };
- // 文字换行
- function drawtext(text, maxWidth) {
- let textArr = text.split("");
- let len = textArr.length;
- // 上个节点
- let previousNode = 0;
- // 记录节点宽度
- let nodeWidth = 0;
- // 文本换行数组
- let rowText = [];
- // 如果是字母,侧保存长度
- let letterWidth = 0;
- // 汉字宽度
- let chineseWidth = 14;
- // otherFont宽度
- let otherWidth = 7;
- for (let i = 0; i < len; i++) {
- if (/[\u4e00-\u9fa5]|[\uFE30-\uFFA0]/g.test(textArr[i])) {
- if (letterWidth > 0) {
- if (nodeWidth + chineseWidth + letterWidth * otherWidth > maxWidth) {
- rowText.push({
- type: "text",
- content: text.substring(previousNode, i),
- });
- previousNode = i;
- nodeWidth = chineseWidth;
- letterWidth = 0;
- } else {
- nodeWidth += chineseWidth + letterWidth * otherWidth;
- letterWidth = 0;
- }
- } else {
- if (nodeWidth + chineseWidth > maxWidth) {
- rowText.push({
- type: "text",
- content: text.substring(previousNode, i),
- });
- previousNode = i;
- nodeWidth = chineseWidth;
- } else {
- nodeWidth += chineseWidth;
- }
- }
- } else {
- if (/\n/g.test(textArr[i])) {
- rowText.push({
- type: "break",
- content: text.substring(previousNode, i),
- });
- previousNode = i + 1;
- nodeWidth = 0;
- letterWidth = 0;
- } else if (textArr[i] == "\\" && textArr[i + 1] == "n") {
- rowText.push({
- type: "break",
- content: text.substring(previousNode, i),
- });
- previousNode = i + 2;
- nodeWidth = 0;
- letterWidth = 0;
- } else if (/[a-zA-Z0-9]/g.test(textArr[i])) {
- letterWidth += 1;
- if (nodeWidth + letterWidth * otherWidth > maxWidth) {
- rowText.push({
- type: "text",
- content: text.substring(previousNode, i + 1 - letterWidth),
- });
- previousNode = i + 1 - letterWidth;
- nodeWidth = letterWidth * otherWidth;
- letterWidth = 0;
- }
- } else {
- if (nodeWidth + otherWidth > maxWidth) {
- rowText.push({
- type: "text",
- content: text.substring(previousNode, i),
- });
- previousNode = i;
- nodeWidth = otherWidth;
- } else {
- nodeWidth += otherWidth;
- }
- }
- }
- }
- if (previousNode < len) {
- rowText.push({
- type: "text",
- content: text.substring(previousNode, len),
- });
- }
- return rowText;
- }
- // 是否更新弹窗
- function updatePopup(data, callback) {
- // 弹窗遮罩层
- let maskLayer = new plus.nativeObj.View("maskLayer", {
- //先创建遮罩层
- top: "0px",
- left: "0px",
- height: "100%",
- width: "100%",
- backgroundColor: "rgba(0,0,0,0.5)",
- });
- let downloadUrl = data.downloadUrl;
- // 以下为计算菜单的nview绘制布局,为固定算法,使用者无关关心
- const screenWidth = plus.screen.resolutionWidth;
- const screenHeight = plus.screen.resolutionHeight;
- //弹窗容器宽度
- const popupViewWidth = screenWidth * 0.8;
- // 弹窗容器的Padding
- const viewContentPadding = 20;
- // 弹窗容器的宽度
- const viewContentWidth = parseInt(popupViewWidth - viewContentPadding * 5);
- // 描述的列表
- const descriptionList = drawtext(data.versionInfo, viewContentWidth);
- // 弹窗容器高度
- let popupViewHeight = 400;
- let popupViewContentList = [
- {
- src: $iconUrl,
- id: "logo",
- tag: "img",
- },
- {
- tag: "font",
- id: "title",
- text: "V" + data.versionCode,
- textStyles: {
- size: "26px",
- color: "#fff",
- weight: "700",
- },
- position: {
- top: "60px",
- left: "64px",
- height: "20px",
- },
- },
- {
- tag: "font",
- id: "welcome",
- text: "欢迎体验",
- textStyles: {
- size: "16px",
- color: "#fff",
- weight: "400",
- },
- position: {
- top: "85px",
- left: "64px",
- height: "20px",
- },
- },
- ];
- const textHeight = 18;
- let contentTop = popupViewHeight / 2 + 16;
- popupViewContentList.push({
- tag: "font",
- id: "content-title",
- text: "新版本特性:",
- textStyles: {
- size: "20px",
- lineSpacing: "50%",
- align: "left",
- },
- position: {
- top: popupViewHeight / 2 - 24 + "px",
- left: viewContentPadding + "px",
- width: viewContentWidth + "px",
- height: textHeight + "px",
- },
- });
- descriptionList.forEach((item, index) => {
- if (index > 0) {
- popupViewHeight += textHeight;
- contentTop += textHeight;
- }
- popupViewContentList.push({
- tag: "font",
- id: "content" + index + 1,
- text: item.content,
- textStyles: {
- size: "14px",
- color: "#666",
- lineSpacing: "50%",
- align: "left",
- },
- position: {
- top: contentTop + "px",
- left: viewContentPadding + "px",
- width: viewContentWidth + "px",
- height: textHeight + "px",
- },
- });
- if (item.type == "break") {
- contentTop += 10;
- popupViewHeight += 10;
- }
- });
- // 弹窗内容
- let popupView = new plus.nativeObj.View("popupView", {
- //创建底部图标菜单
- tag: "rect",
- top: (screenHeight - popupViewHeight) / 2 + "px",
- left: "10%",
- height: popupViewHeight + "px",
- width: "80%",
- });
- // 绘制白色背景
- popupView.drawRect(
- {
- color: "#FFFFFF",
- radius: "8px",
- },
- {
- top: "40px",
- height: popupViewHeight - 40 + "px",
- }
- );
- // 绘制底边按钮
- popupView.drawRect(
- {
- radius: "3px",
- borderColor: "#f1f1f1",
- borderWidth: "1px",
- },
- {
- bottom: viewContentPadding + "px",
- left: viewContentPadding + "px",
- width: (viewContentWidth - viewContentPadding) / 2 + "px",
- height: "30px",
- }
- );
- // 绘制底边按钮
- popupView.drawRect(
- {
- radius: "3px",
- color: $mainColor,
- borderColor: $mainColor,
- },
- {
- bottom: viewContentPadding + "px",
- left:
- (viewContentWidth - viewContentPadding) / 2 +
- viewContentPadding * 2 +
- "px",
- width: (viewContentWidth - viewContentPadding) / 2 + "px",
- height: "30px",
- }
- );
- popupViewContentList.push({
- tag: "rect",
- id: "confimBtn",
- rectStyles: {
- color: $mainColor,
- radius: "3px",
- },
- position: {
- bottom: viewContentPadding + "px",
- left: (viewContentWidth - viewContentPadding) / 3 + "px",
- width: viewContentWidth - viewContentPadding + "px",
- height: "40px",
- },
- });
- popupViewContentList.push({
- tag: "font",
- id: "confirmText",
- text: "立即更新",
- textStyles: {
- size: "18px",
- color: "#fff",
- lineSpacing: "0%",
- whiteSpace: "normal",
- },
- position: {
- bottom: viewContentPadding + "px",
- left: (viewContentWidth - viewContentPadding) / 3 + "px",
- width: viewContentWidth - viewContentPadding + "px",
- height: "40px",
- },
- });
- popupView.draw(popupViewContentList);
- popupView.addEventListener("click", function (e) {
- let maxTop = popupViewHeight - viewContentPadding;
- let maxLeft = popupViewWidth - viewContentPadding;
- let buttonWidth = (viewContentWidth - viewContentPadding) / 2;
- if (e.clientY > maxTop - 30 && e.clientY < maxTop) {
- // 暂不升级
- if (
- e.clientX > viewContentPadding &&
- e.clientX < maxLeft - buttonWidth - viewContentPadding
- ) {
- // 立即升级
- if (platform == "android") {
- maskLayer.hide();
- popupView.hide();
- callback && callback();
- } else {
- if (!data.forceUpdate) {
- maskLayer.hide();
- popupView.hide();
- }
- plus.runtime.openURL(downloadUrl);
- }
- } else if (e.clientX > maxLeft - buttonWidth && e.clientX < maxLeft) {
- // 立即升级
- if (platform == "android") {
- maskLayer.hide();
- popupView.hide();
- callback && callback();
- } else {
- if (!data.forceUpdate) {
- maskLayer.hide();
- popupView.hide();
- }
- plus.runtime.openURL(downloadUrl);
- }
- }
- }
- });
- // 点击遮罩层
- maskLayer.addEventListener("click", function () {
- //处理遮罩层点击
- if (!data.forceUpdate) {
- maskLayer.hide();
- popupView.hide();
- }
- });
- // 显示弹窗
- maskLayer.show();
- popupView.show();
- }
- // 文件下载的弹窗绘图
- function downloadPopupDrawing(data) {
- // 以下为计算菜单的nview绘制布局,为固定算法,使用者无关关心
- const screenWidth = plus.screen.resolutionWidth;
- const screenHeight = plus.screen.resolutionHeight;
- //弹窗容器宽度
- const popupViewWidth = screenWidth * 0.7;
- // 弹窗容器的Padding
- const viewContentPadding = 20;
- // 弹窗容器的宽度
- const viewContentWidth = popupViewWidth - viewContentPadding * 2;
- // 弹窗容器高度
- let popupViewHeight = viewContentPadding * 3 + 60;
- let progressTip = data.progressTip || "准备下载...";
- let contentText = data.contentText || "正在为您更新,请耐心等待";
- let elementList = [
- {
- tag: "rect", //背景色
- color: "#FFFFFF",
- rectStyles: {
- radius: "8px",
- },
- },
- {
- tag: "font",
- id: "title",
- text: "升级APP",
- textStyles: {
- size: "16px",
- color: "#333",
- weight: "bold",
- verticalAlign: "middle",
- whiteSpace: "normal",
- },
- position: {
- top: viewContentPadding + "px",
- height: "30px",
- },
- },
- {
- tag: "font",
- id: "content",
- text: contentText,
- textStyles: {
- size: "14px",
- color: "#333",
- verticalAlign: "middle",
- whiteSpace: "normal",
- },
- position: {
- top: viewContentPadding * 2 + 30 + "px",
- height: "20px",
- },
- },
- ];
- // 是否有进度条
- if (data.progress) {
- popupViewHeight += viewContentPadding + 40;
- elementList = elementList.concat([
- {
- tag: "font",
- id: "progressValue",
- text: progressTip,
- textStyles: {
- size: "14px",
- color: $mainColor,
- whiteSpace: "normal",
- },
- position: {
- top: viewContentPadding * 4 + 20 + "px",
- height: "30px",
- },
- },
- {
- tag: "rect", //绘制进度条背景
- id: "progressBg",
- rectStyles: {
- radius: "4px",
- borderColor: "#f1f1f1",
- borderWidth: "1px",
- },
- position: {
- top: viewContentPadding * 4 + 60 + "px",
- left: viewContentPadding + "px",
- width: viewContentWidth + "px",
- height: "8px",
- },
- },
- ]);
- }
- if (data.buttonNum == 2) {
- popupViewHeight += viewContentPadding + 30;
- // elementList = elementList.concat([{
- // tag: 'rect', //绘制底边按钮
- // rectStyles: {
- // radius: "3px",
- // borderColor: "#f1f1f1",
- // borderWidth: "1px",
- // },
- // position: {
- // bottom: viewContentPadding + 'px',
- // left: viewContentPadding + "px",
- // width: (viewContentWidth - viewContentPadding) / 2 + "px",
- // height: "30px"
- // }
- // },
- // {
- // tag: 'rect', //绘制底边按钮
- // rectStyles: {
- // radius: "3px",
- // color: $mainColor
- // },
- // position: {
- // bottom: viewContentPadding + 'px',
- // left: ((viewContentWidth - viewContentPadding) / 2 + viewContentPadding * 2) + "px",
- // width: (viewContentWidth - viewContentPadding) / 2 + "px",
- // height: "30px"
- // }
- // },
- // {
- // tag: 'font',
- // id: 'cancelText',
- // text: "取消下载",
- // textStyles: {
- // size: '14px',
- // color: "#666",
- // lineSpacing: "0%",
- // whiteSpace: "normal"
- // },
- // position: {
- // bottom: viewContentPadding + 'px',
- // left: viewContentPadding + "px",
- // width: (viewContentWidth - viewContentPadding) / 2 + "px",
- // height: "30px",
- // }
- // },
- // {
- // tag: 'font',
- // id: 'confirmText',
- // text: "后台下载",
- // textStyles: {
- // size: '14px',
- // color: "#FFF",
- // lineSpacing: "0%",
- // whiteSpace: "normal"
- // },
- // position: {
- // bottom: viewContentPadding + 'px',
- // left: ((viewContentWidth - viewContentPadding) / 2 + viewContentPadding * 2) + "px",
- // width: (viewContentWidth - viewContentPadding) / 2 + "px",
- // height: "30px",
- // }
- // }
- // ]);
- }
- if (data.buttonNum == 1) {
- popupViewHeight += viewContentPadding + 40;
- elementList = elementList.concat([
- {
- tag: "rect", //绘制底边按钮
- rectStyles: {
- radius: "6px",
- color: $mainColor,
- },
- position: {
- bottom: viewContentPadding + "px",
- left: viewContentPadding + "px",
- width: viewContentWidth + "px",
- height: "40px",
- },
- },
- {
- tag: "font",
- id: "confirmText",
- text: "关闭",
- textStyles: {
- size: "14px",
- color: "#FFF",
- lineSpacing: "0%",
- },
- position: {
- bottom: viewContentPadding + "px",
- left: viewContentPadding + "px",
- width: viewContentWidth + "px",
- height: "40px",
- },
- },
- ]);
- }
- return {
- popupViewHeight: popupViewHeight,
- popupViewWidth: popupViewWidth,
- screenHeight: screenHeight,
- viewContentWidth: viewContentWidth,
- viewContentPadding: viewContentPadding,
- elementList: elementList,
- };
- }
- // 文件下载的弹窗
- function downloadPopup(data, callback, cancelCallback, rebootCallback) {
- // 弹窗遮罩层
- let maskLayer = new plus.nativeObj.View("maskLayer", {
- //先创建遮罩层
- top: "0px",
- left: "0px",
- height: "100%",
- width: "100%",
- backgroundColor: "rgba(0,0,0,0.5)",
- });
- let popupViewData = downloadPopupDrawing(data);
- // 弹窗内容
- let popupView = new plus.nativeObj.View("popupView", {
- //创建底部图标菜单
- tag: "rect",
- top:
- (popupViewData.screenHeight - popupViewData.popupViewHeight) / 2 + "px",
- left: "15%",
- height: popupViewData.popupViewHeight + "px",
- width: "70%",
- });
- let progressValue = 0;
- let progressTip = 0;
- let contentText = 0;
- let buttonNum = 2;
- let forceUpdate = data.forceUpdate;
- if (data.buttonNum >= 0) {
- buttonNum = data.buttonNum;
- }
- popupView.draw(popupViewData.elementList);
- popupView.addEventListener("click", function (e) {
- let maxTop =
- popupViewData.popupViewHeight - popupViewData.viewContentPadding;
- let maxLeft =
- popupViewData.popupViewWidth - popupViewData.viewContentPadding;
- if (e.clientY > maxTop - 40 && e.clientY < maxTop) {
- if (buttonNum == 1) {
- // 单按钮
- if (
- e.clientX > popupViewData.viewContentPadding &&
- e.clientX < maxLeft
- ) {
- maskLayer.hide();
- popupView.hide();
- }
- } else if (buttonNum == 2) {
- // 双按钮
- let buttonWidth =
- (popupViewData.viewContentWidth - popupViewData.viewContentPadding) /
- 2;
- if (
- e.clientX > popupViewData.viewContentPadding &&
- e.clientX < maxLeft - buttonWidth - popupViewData.viewContentPadding
- ) {
- maskLayer.hide();
- popupView.hide();
- //cancelCallback && cancelCallback();
- } else if (e.clientX > maxLeft - buttonWidth && e.clientX < maxLeft) {
- maskLayer.hide();
- popupView.hide();
- }
- }
- }
- });
- // 显示弹窗
- maskLayer.show();
- popupView.show();
- // 改变进度条
- callback({
- change: function (res) {
- let progressElement = [];
- if (res.progressValue) {
- progressValue = res.progressValue;
- // 绘制进度条
- progressElement.push({
- tag: "rect", //绘制进度条背景
- id: "progressValueBg",
- rectStyles: {
- radius: "4px",
- color: $mainColor,
- },
- position: {
- top: popupViewData.viewContentPadding * 4 + 60 + "px",
- left: popupViewData.viewContentPadding + "px",
- width:
- popupViewData.viewContentWidth * (res.progressValue / 100) + "px",
- height: "8px",
- },
- });
- }
- if (res.progressTip) {
- progressTip = res.progressTip;
- progressElement.push({
- tag: "font",
- id: "progressValue",
- text: res.progressTip,
- textStyles: {
- size: "14px",
- color: $mainColor,
- whiteSpace: "normal",
- },
- position: {
- top: popupViewData.viewContentPadding * 4 + 20 + "px",
- height: "30px",
- },
- });
- }
- if (res.contentText) {
- contentText = res.contentText;
- progressElement.push({
- tag: "font",
- id: "content",
- text: res.contentText,
- textStyles: {
- size: "16px",
- color: "#333",
- whiteSpace: "normal",
- },
- position: {
- top: popupViewData.viewContentPadding * 2 + 30 + "px",
- height: "30px",
- },
- });
- }
- if (res.buttonNum >= 0 && buttonNum != res.buttonNum) {
- buttonNum = res.buttonNum;
- popupView.reset();
- popupViewData = downloadPopupDrawing(
- Object.assign(
- {
- progressValue: progressValue,
- progressTip: progressTip,
- contentText: contentText,
- },
- res
- )
- );
- let newElement = [];
- popupViewData.elementList.map((item, index) => {
- let have = false;
- progressElement.forEach((childItem, childIndex) => {
- if (item.id == childItem.id) {
- have = true;
- }
- });
- if (!have) {
- newElement.push(item);
- }
- });
- progressElement = newElement.concat(progressElement);
- popupView.setStyle({
- tag: "rect",
- top:
- (popupViewData.screenHeight - popupViewData.popupViewHeight) / 2 +
- "px",
- left: "15%",
- height: popupViewData.popupViewHeight + "px",
- width: "70%",
- });
- popupView.draw(progressElement);
- } else {
- popupView.draw(progressElement);
- }
- },
- cancel: function () {
- maskLayer.hide();
- popupView.hide();
- },
- });
- }
- export default function (isPrompt = false) {
- getCurrentNo((version) => {
- getServerNo((res) => {
- if (res.versionCode.replace(/\./g, "") < version.versionCode) {
- return false;
- }
- if (res.forceUpdate) {
- if (/\.wgt$/i.test(res.downloadUrl)) {
- getDownload(res);
- } else if (/\.html$/i.test(res.downloadUrl)) {
- plus.runtime.openURL(res.downloadUrl);
- } else {
- if (platform == "android") {
- getDownload(res);
- } else {
- updatePopup(res, function () {
- plus.runtime.openURL(res.downloadUrl);
- });
- // uni.showLoading({
- // title: "升级中......",
- // mask: true
- // });
- // plus.runtime.openURL(res.downloadUrl);
- // plus.runtime.restart();
- }
- }
- } else {
- updatePopup(res, function () {
- if (/\.wgt$/i.test(res.downloadUrl)) {
- getDownload(res);
- } else if (/\.html$/i.test(res.downloadUrl)) {
- plus.runtime.openURL(res.downloadUrl);
- } else {
- getDownload(res);
- // if (platform == "android") {
- // getDownload(res);
- // } else {
- // plus.runtime.openURL(res.downloadUrl);
- // }
- }
- });
- }
- });
- });
- }
- // #endif
|