App.vue 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. <script>
  2. export default {
  3. data() {
  4. return {
  5. progress: 0
  6. }
  7. },
  8. onLaunch: function() {
  9. console.log('App Launch')
  10. // #ifdef APP-PLUS
  11. // this.checkUpdate();
  12. // #endif
  13. const value = uni.getStorageSync('launchFlag');
  14. if (!value) {
  15. // launchFlag=true直接跳转到首页
  16. uni.reLaunch({
  17. url: '/pages/index/index'
  18. });
  19. }
  20. },
  21. onShow: function() {
  22. console.log('App Show')
  23. this.$store.commit("user/load")
  24. this.$store.dispatch("cart/load");
  25. },
  26. onHide: function() {
  27. console.log('App Hide')
  28. },
  29. methods: {
  30. checkUpdate() {
  31. this.$http.get({
  32. url: '/update',
  33. success: (res) => {
  34. let temp = [];
  35. let last_version = res.data.data.versionName.substring(1);
  36. temp = last_version.substring(1).split(".");
  37. let last_version_code = parseInt(temp[0]) * 10000 + parseInt(temp[1]) * 100 + parseInt(
  38. temp[2]);
  39. let cur_version = plus.runtime.version;
  40. temp = cur_version.substring(1).split(".");
  41. let cur_version_code = parseInt(temp[0]) * 10000 + parseInt(temp[1]) * 100 + parseInt(
  42. temp[2]);
  43. console.log(`最新版本:${last_version} 当前版本${cur_version}`)
  44. // uni.showModal({
  45. // content:`最新版本:${last_version} 当前版本${cur_version} 当前环境 ${process.env.NODE_ENV}`
  46. // })
  47. if (last_version_code > cur_version_code || process.env.NODE_ENV === 'development') {
  48. uni.showModal({
  49. title: "版本更新",
  50. content: `检测到新版本,是否更新?`,
  51. confirmText: "立即更新",
  52. success: (e) => {
  53. if (e.confirm) {
  54. console.log('用户点击确定');
  55. if (plus.os.name === 'iOS') {
  56. plus.runtime.openURL(
  57. "https://apps.apple.com/cn/app/id387682726")
  58. }
  59. if (plus.os.name === 'Android') {
  60. let downloadTask = uni.downloadFile({
  61. url: this.$http.baseUrl + res.data.data
  62. .apk_file,
  63. success: (downloadResult) => {
  64. if (downloadResult.statusCode ===
  65. 200) {
  66. plus.runtime.install(
  67. downloadResult
  68. .tempFilePath, {
  69. force: false
  70. },
  71. function() {
  72. console.log(
  73. 'install success...'
  74. );
  75. plus.runtime
  76. .restart();
  77. },
  78. function(e) {
  79. console.error(
  80. 'install fail...'
  81. );
  82. });
  83. }
  84. }
  85. });
  86. let loading = plus.nativeUI.showWaiting("已下载0%", {
  87. width: "30%",
  88. height: "15%"
  89. })
  90. downloadTask.onProgressUpdate((e) => {
  91. // console.log('下载进度' + e.progress);
  92. // console.log('已经下载的数据长度' + e.totalBytesWritten);
  93. // console.log('预期需要下载的数据总长度' + e.totalBytesExpectedToWrite);
  94. if (e.progress % 5 === 0) {
  95. loading.setTitle("已下载" + e.progress +
  96. "%")
  97. }
  98. if (e.progress === 100) {
  99. loading.close();
  100. }
  101. })
  102. }
  103. } else if (e.cancel) {
  104. console.log('用户点击取消');
  105. }
  106. }
  107. })
  108. }
  109. }
  110. });
  111. }
  112. }
  113. }
  114. </script>
  115. <style>
  116. page {
  117. background: #F8F8F8;
  118. }
  119. /*每个页面公共css */
  120. ::-webkit-scrollbar {
  121. display: none;
  122. width: 0 !important;
  123. height: 0 !important;
  124. -webkit-appearance: none;
  125. background: transparent;
  126. }
  127. </style>