upapp.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. import Request from '@/library/Request.js'
  2. import sotre from "@/store/index.js"
  3. export default function initSys() {
  4. const appType = uni.getSystemInfoSync().platform;
  5. if (plus != null) {
  6. plus.runtime.getProperty(plus.runtime.appid, (wgtinfo) => {
  7. try {
  8. let versionCode = wgtinfo.versionCode;
  9. let arr1 = wgtinfo.version.split('.');
  10. sotre.commit('chnangeSshowData', false);
  11. Request.post("sysInit", {
  12. code: versionCode
  13. })
  14. .then(res => {
  15. <<<<<<< HEAD
  16. console.log(res.data, 8888)
  17. =======
  18. // console.log(res.data, 8888)
  19. >>>>>>> 44ddb39d08bc04218f8a3299959f78720024ad8f
  20. if (res.code == 200) {
  21. if (appType != "ios") {
  22. if (wgtinfo.versionCode < res.data.app_code) {
  23. sotre.commit('chnangeSshowData', false);
  24. const upDater = uni.requireNativePlugin("CL-UpDater");
  25. let options = {
  26. title: "升级",
  27. con: res.data.app_update,
  28. downUrl: encodeURI(res.data.android_url), //必填
  29. hidCancelbtn: false, //是否隐藏取消按钮;
  30. btnBgColor: "#ff3300", //设置按钮背景色颜色
  31. updateBtnText: "升级", //升级按钮文字,默认为立即升级
  32. topImgBg: "", //非必填,用于自定义;自定义方法请参考demo,
  33. downMsgTip: "资源下载中,请稍后...", //可选(android)
  34. };
  35. if (res.data.android_url.indexOf('.wgt') > -1) {
  36. plus.io.requestFileSystem(plus.io.PUBLIC_DOWNLOADS, function(fobject) {
  37. //设置文件下载根路径;
  38. let rootPath = fobject.root.fullPath;
  39. upDater.wgtUpdate(options, rootPath, result => {
  40. if (result) {
  41. var pathNew = plus.io
  42. .convertAbsoluteFileSystem(result);
  43. <<<<<<< HEAD
  44. console.log(pathNew);
  45. =======
  46. // console.log(pathNew);
  47. >>>>>>> 44ddb39d08bc04218f8a3299959f78720024ad8f
  48. plus.runtime.install(pathNew, {
  49. force: false
  50. }, function() {
  51. //进行重新启动;
  52. plus.runtime.restart();
  53. }, (e) => {
  54. uni.showToast({
  55. title: '安装升级包失败' +
  56. JSON
  57. .stringify(
  58. e),
  59. icon: 'none'
  60. })
  61. });
  62. }
  63. }, () => {
  64. console.log("弹框关闭了");
  65. });
  66. })
  67. } else {
  68. options.hidBackBtn = true
  69. options.verCode = res.data
  70. .app_version //最新apk版本号 可选 用于Android整包升级,避免用户取消安装apk时,重复下载问题,如果不传的话,apk将会重新下载,
  71. options.goBackBtnText = "进入后台" //可选(android)
  72. //必需提供下载地址;
  73. upDater.startUpdate(options, () => {});
  74. }
  75. } else if (wgtinfo.versionCode > res.data.app_code) {
  76. sotre.commit('chnangeSshowData', false);
  77. } else {
  78. sotre.commit('chnangeSshowData', true);
  79. }
  80. }
  81. }
  82. }).catch((err) => {
  83. console.log(err)
  84. });
  85. if (appType == "ios") {
  86. const getIosUpAppUrl = 'https://itunes.apple.com/cn/lookup?id=6474850968'
  87. const iosAppStroeUrl =
  88. 'https://apps.apple.com/cn/app/%E6%98%93%E8%B6%A3cbb/id6474850968';
  89. uni.request({
  90. url: getIosUpAppUrl,
  91. method: 'POST',
  92. data: {},
  93. success: res => {
  94. let arr = res.data.results[0].version.split('.');
  95. for (let i = 0; i < arr.length; i++) {
  96. // 线上版本号
  97. const x = +arr[i];
  98. // 本地版本号
  99. const y = +arr1[i];
  100. // 判断线上版本是否小于本地版本
  101. if (x < y) {
  102. // 设置显示数据
  103. sotre.commit('chnangeSshowData', false);
  104. return
  105. }
  106. // 判断线上版本是否大于本地版本
  107. else if (x > y) {
  108. sotre.commit('chnangeSshowData', false);
  109. uni.showModal({
  110. title: '提示',
  111. content: '请更新应用',
  112. showCancel: false,
  113. success(e) {
  114. plus.runtime.openURL(
  115. iosAppStroeUrl
  116. );
  117. }
  118. });
  119. return
  120. }
  121. // 判断是否本地版本等于线上版本
  122. else if (x == y && i == arr.length - 1) {
  123. sotre.commit('chnangeSshowData', true);
  124. return
  125. }
  126. }
  127. },
  128. fail: res => {
  129. console.log(res, 'shib');
  130. }
  131. });
  132. }
  133. } catch (e) {
  134. console.log(e)
  135. }
  136. });
  137. }
  138. }