|
@@ -0,0 +1,96 @@
|
|
|
+
|
|
|
+var alog = uni.requireNativePlugin("AndroidLog")
|
|
|
+var apk = uni.requireNativePlugin("ApkPlug")
|
|
|
+function update(vue){
|
|
|
+ plus.runtime.getProperty(plus.runtime.appid, function(wgtInfo){
|
|
|
+ vue.$u.api.appveriosn({
|
|
|
+ appid: wgtInfo.appid,
|
|
|
+ name: wgtInfo.name,
|
|
|
+ versionName: wgtInfo.version,
|
|
|
+ versionCode: wgtInfo.versionCode
|
|
|
+ })
|
|
|
+ .then(res => {
|
|
|
+ let data = res.data;
|
|
|
+ if(data.isUpload && data.wgtUrl){
|
|
|
+ wgtUpdate(data)
|
|
|
+ }else if (data.isUpload && data.pkgUrl){
|
|
|
+ pkgUpdate(data);
|
|
|
+ }else{
|
|
|
+ updateNone();
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(err => {
|
|
|
+
|
|
|
+ });
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+function updateNone(){
|
|
|
+ plus.nativeUI.toast('已经是最新版本');
|
|
|
+}
|
|
|
+
|
|
|
+function wgtUpdate(data){
|
|
|
+ uni.showModal({
|
|
|
+ title: "更新提示",
|
|
|
+ content: '有新版本:' + data.note,
|
|
|
+ success: (res) => {
|
|
|
+ if (res.confirm) {
|
|
|
+ uni.downloadFile({
|
|
|
+ url: data.wgtUrl,
|
|
|
+ success: (downloadResult) => {
|
|
|
+ if (downloadResult.statusCode === 200) {
|
|
|
+ plus.runtime.install(downloadResult.tempFilePath, {
|
|
|
+ force: false
|
|
|
+ }, function() {
|
|
|
+ plus.runtime.restart();
|
|
|
+ }, function(e) {
|
|
|
+ plus.nativeUI.toast('更新版本失败');
|
|
|
+ });
|
|
|
+ }else {
|
|
|
+ plus.nativeUI.toast('下载版本失败');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+function pkgUpdate(data){
|
|
|
+ alog.info({msg: '全量更新' + JSON.stringify(data)})
|
|
|
+ uni.showModal({
|
|
|
+ title: "更新提示",
|
|
|
+ content: '有新版本:' + data.note,
|
|
|
+ success: (res) => {
|
|
|
+ if (res.confirm) {
|
|
|
+ // plus.runtime.openURL(data.pkgUrl);
|
|
|
+ let downloadTask = uni.downloadFile({
|
|
|
+ url: data.pkgUrl,
|
|
|
+ success: (downloadResult) => {
|
|
|
+ if (downloadResult.statusCode === 200) {
|
|
|
+ alog.info({msg: 'apk下载完成:' + JSON.stringify(downloadResult)})
|
|
|
+ // plus.runtime.install(downloadResult.tempFilePath, {
|
|
|
+ // force: false
|
|
|
+ // }, function() {
|
|
|
+ // plus.runtime.restart();
|
|
|
+ // }, function(e) {
|
|
|
+ // plus.nativeUI.toast('更新版本失败');
|
|
|
+ // });
|
|
|
+ // apk.instll(downloadResult.tempFilePath);
|
|
|
+
|
|
|
+ }else {
|
|
|
+ plus.nativeUI.toast('下载版本失败');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ downloadTask.onProgressUpdate((res) => {
|
|
|
+ alog.info({msg: '下载进度' + res.progress});
|
|
|
+ alog.info({msg: '已经下载的数据长度' + res.totalBytesWritten});
|
|
|
+ alog.info({msg: '预期需要下载的数据总长度' + res.totalBytesExpectedToWrite});
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+export default update
|