App.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <script>
  2. export default {
  3. // onLaunch: function() {},
  4. onLaunch: function() {
  5. var self = this
  6. // 获取小程序更新机制兼容
  7. if (wx.canIUse('getUpdateManager')) {
  8. const updateManager = wx.getUpdateManager()
  9. //1. 检查小程序是否有新版本发布
  10. updateManager.onCheckForUpdate(function(res) {
  11. // 请求完新版本信息的回调
  12. if (res.hasUpdate) {
  13. //检测到新版本,需要更新,给出提示
  14. wx.showModal({
  15. title: '更新提示',
  16. showCancel: false, //隐藏取消按钮
  17. confirmText: "确定更新", //只保留确定更新按钮
  18. content: '检测到新版本,是否下载新版本并重启小程序?',
  19. success: function(res) {
  20. if (res.confirm) {
  21. //2. 用户确定下载更新小程序,小程序下载及更新静默进行
  22. self.downLoadAndUpdate(updateManager)
  23. } else if (res.cancel) {
  24. //用户点击取消按钮的处理,如果需要强制更新,则给出二次弹窗,如果不需要,则这里的代码都可以删掉了
  25. wx.showModal({
  26. title: '温馨提示~',
  27. content: '本次版本更新涉及到新的功能添加,旧版本无法正常访问的哦~',
  28. showCancel: false, //隐藏取消按钮
  29. confirmText: "确定更新", //只保留确定更新按钮
  30. success: function(res) {
  31. if (res.confirm) {
  32. //下载新版本,并重新应用
  33. self.downLoadAndUpdate(updateManager)
  34. }
  35. }
  36. })
  37. }
  38. }
  39. })
  40. }
  41. })
  42. } else {
  43. // 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示
  44. wx.showModal({
  45. title: '提示',
  46. content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。',
  47. showCancel: false
  48. })
  49. }
  50. },
  51. onHide: function() {
  52. console.log('App Hide')
  53. },
  54. methods: {
  55. downLoadAndUpdate: function(updateManager) {
  56. var self = this
  57. wx.showLoading();
  58. //静默下载更新小程序新版本
  59. updateManager.onUpdateReady(function() {
  60. wx.hideLoading()
  61. //新的版本已经下载好,调用 applyUpdate 应用新版本并重启
  62. updateManager.applyUpdate()
  63. })
  64. updateManager.onUpdateFailed(function() {
  65. // 新的版本下载失败
  66. wx.hideLoading();
  67. wx.showModal({
  68. title: '已经有新版本了哟~',
  69. content: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~',
  70. showCancel: false
  71. })
  72. })
  73. }
  74. },
  75. }
  76. </script>
  77. <style lang="scss">
  78. @import 'uview-ui/theme.scss';
  79. @import 'common/style/shop.scss'; //引入店铺公用样式
  80. @import 'common/style/iconfont.css'; //引入iconfont
  81. @import 'common/style/new_iconfont.css'; //引入iconfont
  82. page {
  83. width: 100%;
  84. overflow-x: hidden;
  85. }
  86. // @font-face {
  87. // font-family: pingfang;
  88. // src: url('http://api.wd.cliu.cc/PINGFANG_BOLD.TTF');
  89. // }
  90. view,
  91. text {
  92. font-family: pingfang;
  93. }
  94. </style>