upapp.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  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. console.log(res.data.app_code,8888)
  16. if (res.code == 200) {
  17. if (appType != "ios") {
  18. if (wgtinfo.versionCode < res.data.app_code) {
  19. sotre.commit('chnangeSshowData', false);
  20. const upDater = uni.requireNativePlugin("CL-UpDater");
  21. let options = {
  22. title: "升级",
  23. con: res.data.app_update,
  24. downUrl: encodeURI(res.data.android_url), //必填
  25. hidCancelbtn: true, //是否隐藏取消按钮;
  26. btnBgColor: "#ff3300", //设置按钮背景色颜色
  27. updateBtnText: "升级", //升级按钮文字,默认为立即升级
  28. topImgBg: "", //非必填,用于自定义;自定义方法请参考demo,
  29. hidBackBtn: true, //可选 默认为false(即会显示后台更新按钮), 设置android 整包更新弹框是否显示后台更新按钮,这个只有android整包更新才有这个参数,热更新是是无法设置的。
  30. verCode: res.data
  31. .app_version, //最新apk版本号 可选 用于Android整包升级,避免用户取消安装apk时,重复下载问题,如果不传的话,apk将会重新下载,
  32. downMsgTip: "资源下载中,请稍后...", //可选(android)
  33. goBackBtnText: "进入后台", //可选(android)
  34. };
  35. //必需提供下载地址;
  36. upDater.startUpdate(options, () => {});
  37. } else if (wgtinfo.versionCode > res.data.app_code) {
  38. sotre.commit('chnangeSshowData', false);
  39. } else {
  40. sotre.commit('chnangeSshowData', true);
  41. }
  42. }
  43. }
  44. }).catch((err) => {
  45. console.log(err)
  46. });
  47. if (appType == "ios") {
  48. const getIosUpAppUrl = 'https://itunes.apple.com/cn/lookup?id=6474850968'
  49. const iosAppStroeUrl =
  50. 'https://apps.apple.com/cn/app/%E6%98%93%E8%B6%A3cbb/id6474850968';
  51. uni.request({
  52. url: getIosUpAppUrl,
  53. method: 'POST',
  54. data: {},
  55. success: res => {
  56. let arr = res.data.results[0].version.split('.');
  57. for (let i = 0; i < arr.length; i++) {
  58. // 线上版本号
  59. const x = +arr[i];
  60. // 本地版本号
  61. const y = +arr1[i];
  62. // 判断线上版本是否小于本地版本
  63. if (x < y) {
  64. // 设置显示数据
  65. sotre.commit('chnangeSshowData', false);
  66. return
  67. }
  68. // 判断线上版本是否大于本地版本
  69. else if (x > y) {
  70. sotre.commit('chnangeSshowData', false);
  71. uni.showModal({
  72. title: '提示',
  73. content: '请更新应用',
  74. showCancel: false,
  75. success(e) {
  76. plus.runtime.openURL(
  77. iosAppStroeUrl
  78. );
  79. }
  80. });
  81. return
  82. }
  83. // 判断是否本地版本等于线上版本
  84. else if (x == y && i == arr.length - 1) {
  85. sotre.commit('chnangeSshowData', true);
  86. return
  87. }
  88. }
  89. },
  90. fail: res => {
  91. console.log(res, 'shib');
  92. }
  93. });
  94. }
  95. } catch (e) {
  96. console.log(e)
  97. }
  98. });
  99. }
  100. }