123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- const config = require('./config')
- const themeListeners = []
- global.isDemo = true
- App({
-
- onLaunch(opts, data) {
- // const that = this;
- // const canIUseSetBackgroundFetchToken = wx.canIUse('setBackgroundFetchToken')
- // if (canIUseSetBackgroundFetchToken) {
- // wx.setBackgroundFetchToken({
- // token: 'getBackgroundFetchToken',
- // })
- // }
- // if (wx.getBackgroundFetchData) {
- // wx.getBackgroundFetchData({
- // fetchType: 'pre',
- // success(res) {
- // that.globalData.backgroundFetchData = res;
- // console.log('读取预拉取数据成功')
- // },
- // fail() {
- // console.log('读取预拉取数据失败')
- // wx.showToast({
- // title: '无缓存数据',
- // icon: 'none'
- // })
- // },
- // complete() {
- // console.log('结束读取')
- // }
- // })
- // }
- console.log('App Launch', opts)
- if (data && data.path) {
- wx.navigateTo({
- url: data.path,
- })
- }
- if (!wx.cloud) {
- console.error('请使用 2.2.3 或以上的基础库以使用云能力')
- } else {
- wx.cloud.init({
- env: config.envId,
- traceUser: true,
- })
- }
- },
-
- onShow(opts) {
- console.log('App Show', opts)
- // console.log(wx.getSystemInfoSync())
- },
- onHide() {
- console.log('App Hide')
- },
- onThemeChange({ theme }) {
- this.globalData.theme = theme
- themeListeners.forEach((listener) => {
- listener(theme)
- })
- },
- watchThemeChange(listener) {
- if (themeListeners.indexOf(listener) < 0) {
- themeListeners.push(listener)
- }
- },
- unWatchThemeChange(listener) {
- const index = themeListeners.indexOf(listener)
- if (index > -1) {
- themeListeners.splice(index, 1)
- }
- },
- globalData: {
- theme: wx.getSystemInfoSync().theme,
- hasLogin: false,
- openid: null,
- iconTabbar: '/page/weui/example/images/icon_tabbar.png',
- },
- // lazy loading openid
- getUserOpenId(callback) {
- const self = this
- if (self.globalData.openid) {
- callback(null, self.globalData.openid)
- } else {
- wx.login({
- success(data) {
- wx.cloud.callFunction({
- name: 'login',
- data: {
- action: 'openid'
- },
- success: res => {
- console.log('拉取openid成功', res)
- self.globalData.openid = res.result.openid
- callback(null, self.globalData.openid)
- },
- fail: err => {
- console.log('拉取用户openid失败,将无法正常使用开放接口等服务', res)
- callback(res)
- }
- })
- },
- fail(err) {
- console.log('wx.login 接口调用失败,将无法正常使用开放接口等服务', err)
- callback(err)
- }
- })
- }
- },
- // 通过云函数获取用户 openid,支持回调或 Promise
- getUserOpenIdViaCloud() {
- return wx.cloud.callFunction({
- name: 'wxContext',
- data: {}
- }).then(res => {
- this.globalData.openid = res.result.openid
- return res.result.openid
- })
- }
- })
|