upapp.js 3.4 KB

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