update.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. // var alog = uni.requireNativePlugin("AndroidLog")
  2. // var apk = uni.requireNativePlugin("ApkPlug")
  3. function update(vue){
  4. plus.runtime.getProperty(plus.runtime.appid, function(wgtInfo){
  5. vue.$u.api.appveriosn({
  6. appid: wgtInfo.appid,
  7. name: wgtInfo.name,
  8. versionName: wgtInfo.version,
  9. versionCode: wgtInfo.versionCode
  10. })
  11. .then(res => {
  12. let data = res.data;
  13. if(data.isUpload && data.wgtUrl){
  14. updateExecute({
  15. note: data.note,
  16. downUrl: data.wgtUrl,
  17. type: 1
  18. });
  19. }else if (data.isUpload && data.pkgUrl){
  20. updateExecute({
  21. note: data.note,
  22. downUrl: data.pkgUrl,
  23. type: 2
  24. });
  25. }else{
  26. plus.nativeUI.toast('已经是最新版本');
  27. }
  28. })
  29. .catch(err => {
  30. });
  31. });
  32. }
  33. function updateExecute(data){
  34. alog.info({msg: '升级信息:' + JSON.stringify(data)});
  35. uni.showModal({
  36. title: "更新提示",
  37. content: '有新版本:' + data.note,
  38. success: (res) => {
  39. if (res.confirm) {
  40. if(data.type === 1){
  41. uni.downloadFile({
  42. url: data.downUrl,
  43. success: (downloadResult) => {
  44. if (downloadResult.statusCode === 200) {
  45. plus.runtime.install(downloadResult.tempFilePath, {
  46. force: false
  47. }, function() {
  48. plus.runtime.restart();
  49. }, function(e) {
  50. plus.nativeUI.toast('更新版本失败');
  51. });
  52. }else {
  53. plus.nativeUI.toast('下载版本失败');
  54. }
  55. }
  56. });
  57. }else{
  58. plus.runtime.openURL(data.downUrl);
  59. // var downTask = uni.downloadFile({
  60. // url: data.downUrl,
  61. // success: (downloadResult) => {
  62. // if (downloadResult.statusCode === 200) {
  63. // var locl = plus.io.convertLocalFileSystemURL(downloadResult.tempFilePath);
  64. // alog.info({msg: '转换本地路径:' + locl});
  65. // apk.instll(locl);
  66. // }else {
  67. // plus.nativeUI.toast('下载版本失败');
  68. // }
  69. // }
  70. // });
  71. // downTask.onProgressUpdate((res) => {
  72. // alog.info({msg: '下载进度' + res.progress});
  73. // });
  74. }
  75. }
  76. }
  77. })
  78. }
  79. export default update