lijuncheng
11 months ago
6 changed files with 201 additions and 67 deletions
@ -0,0 +1,116 @@ |
|||
import { |
|||
appCheckUpdate |
|||
} from '../api/request2.js'; |
|||
export function appUpdate() { |
|||
let curversion = 0; |
|||
plus.runtime.getProperty(plus.runtime.appid, function(widgetInfo) { |
|||
const data = { |
|||
action: 'checkVersion', |
|||
appid: plus.runtime.appid, |
|||
appVersion: plus.runtime.version, |
|||
wgtVersion: widgetInfo.version, |
|||
versionCode: widgetInfo.versionCode |
|||
} |
|||
curversion=data.versionCode |
|||
appCheckUpdate().then(res => { |
|||
console.log("当前版本提示",curversion) |
|||
if (res.data) { |
|||
if (res.data.versionCode > Number(curversion)) { |
|||
var downUrl = res.data.downUrl; |
|||
var content = res.data.content; |
|||
var version =res.data.version |
|||
console.log("新版本提示") |
|||
uni.showModal({ |
|||
title: "发现新版本:("+version+")", |
|||
content: content, |
|||
confirmText: "更新", |
|||
cancelText: "取消", |
|||
success: (res) => { |
|||
if (res.confirm) { |
|||
confirm(downUrl); |
|||
console.log('comfirm') //点击确定之后执行的代码
|
|||
} else { |
|||
console.log('cancel') //点击取消之后执行的代码
|
|||
} |
|||
} |
|||
}) |
|||
} else { |
|||
uni.showToast({ |
|||
title:"当前是最新版本" |
|||
}) |
|||
console.log("没有新版本") |
|||
} |
|||
} |
|||
}).catch(error => { |
|||
console.log("版本错误", error) |
|||
}) |
|||
|
|||
}) |
|||
|
|||
|
|||
|
|||
} |
|||
|
|||
export function confirm(downUrl) { |
|||
var downloadApkUrl = downUrl |
|||
var dtask = plus.downloader.createDownload(downloadApkUrl, {}, |
|||
function(d, status) { |
|||
|
|||
// 下载完成
|
|||
if (status == 200) { |
|||
|
|||
plus.runtime.install(plus.io.convertLocalFileSystemURL( |
|||
d.filename), {}, {}, function(error) { |
|||
uni.showToast({ |
|||
title: '安装失败', |
|||
duration: 1500 |
|||
}); |
|||
}) |
|||
} else { |
|||
uni.showToast({ |
|||
title: '更新失败', |
|||
duration: 1500 |
|||
}); |
|||
} |
|||
}); |
|||
try { |
|||
dtask.start(); // 开启下载的任务
|
|||
var prg = 0; |
|||
var showLoading = plus.nativeUI.showWaiting( |
|||
"正在下载"); //创建一个showWaiting对象
|
|||
dtask.addEventListener('statechanged', function( |
|||
task, |
|||
status |
|||
) { |
|||
// 给下载任务设置一个监听 并根据状态 做操作
|
|||
switch (task.state) { |
|||
case 1: |
|||
showLoading.setTitle("正在下载"); |
|||
break; |
|||
case 2: |
|||
showLoading.setTitle("已连接到服务器"); |
|||
break; |
|||
case 3: |
|||
prg = parseInt( |
|||
(parseFloat(task.downloadedSize) / |
|||
parseFloat(task.totalSize)) * |
|||
100 |
|||
); |
|||
showLoading.setTitle(" 正在下载" + prg + "% "); |
|||
break; |
|||
case 4: |
|||
plus.nativeUI.closeWaiting(); |
|||
//下载完成
|
|||
break; |
|||
} |
|||
}); |
|||
} catch (err) { |
|||
plus.nativeUI.closeWaiting(); |
|||
uni.showToast({ |
|||
title: '更新失败-03', |
|||
mask: false, |
|||
duration: 1500 |
|||
}); |
|||
} |
|||
|
|||
} |
Loading…
Reference in new issue