app.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. import {
  2. GetQueryString
  3. } from 'utils/util'
  4. import {
  5. getOpenidNoLogin
  6. } from '~/utils/httpUtilNoLogin';
  7. // const Towxml = require('/towxml/main');
  8. App({
  9. watch(method) {
  10. let obj = this.globalData
  11. // 这里监听 openId
  12. Object.defineProperty(obj, "openId", {
  13. configurable: true,
  14. enumerable: true,
  15. set: function (value) {
  16. console.log('zzeweqweqw', value);
  17. method(value) // 触发页面回调函数
  18. }
  19. })
  20. },
  21. async onLaunch(options) {
  22. this.updateApplet()
  23. // 判断设备是否为 iPhone X
  24. this.checkIsIPhoneX()
  25. options.referrerInfo.extraData && (this.globalData.upgradeHide = options.referrerInfo.extraData.upgrade)
  26. // 检查升级
  27. },
  28. async onShow(options) {
  29. let shareUid = options.query.uid
  30. getOpenidNoLogin((res) => {
  31. if (getApp().callBack) {
  32. getApp().callBack(res);
  33. }
  34. }, () => {}, shareUid);
  35. },
  36. globalData: {
  37. isIPX: false, // 当前设备是否为 iPhone X
  38. isIOS: false, // 判断设备是否为苹果
  39. userInfo: null,
  40. statusBarHeight: wx.getSystemInfoSync()['statusBarHeight'],
  41. userGrade: '二年级',
  42. upgradeHide: true,
  43. openId: null,
  44. activityPop: true
  45. },
  46. checkIsIPhoneX: function () {
  47. const self = this
  48. wx.getSystemInfo({
  49. success: function (res) {
  50. // 根据 model 进行判断
  51. if (res.model.search('iPhone X') != -1) {
  52. self.globalData.isIPX = true
  53. }
  54. if (res.system.search('iOS') != -1) {
  55. self.globalData.isIOS = true
  56. }
  57. }
  58. })
  59. },
  60. updateApplet() {
  61. // 获取小程序更新机制兼容
  62. if (wx.canIUse('getUpdateManager')) {
  63. const updateManager = wx.getUpdateManager()
  64. updateManager.onCheckForUpdate(function (res) {
  65. // 请求完新版本信息的回调
  66. if (res.hasUpdate) {
  67. updateManager.onUpdateReady(function () {
  68. wx.showModal({
  69. title: '更新提示',
  70. content: '新版本已经准备好,是否重启应用?',
  71. success: function (res) {
  72. if (res.confirm) {
  73. // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
  74. updateManager.applyUpdate()
  75. }
  76. }
  77. })
  78. })
  79. updateManager.onUpdateFailed(function () {
  80. // 新的版本下载失败
  81. wx.showModal({
  82. title: '已经有新版本了哟~',
  83. content: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~',
  84. })
  85. })
  86. }
  87. })
  88. }
  89. }
  90. })