import {
    GetQueryString
} from 'utils/util'
import {
    getOpenidNoLogin
} from '~/utils/httpUtilNoLogin';
// const Towxml = require('/towxml/main');
App({
    watch(method) {
        let obj = this.globalData
        // 这里监听 openId
        Object.defineProperty(obj, "openId", {
            configurable: true,
            enumerable: true,
            set: function (value) {
                console.log('zzeweqweqw', value);
                method(value) // 触发页面回调函数
            }
        })
    },
    async onLaunch(options) {
        this.updateApplet()
        // 判断设备是否为 iPhone X
        this.checkIsIPhoneX()
        options.referrerInfo.extraData && (this.globalData.upgradeHide = options.referrerInfo.extraData.upgrade)
        // 检查升级
    },
    async onShow(options) {
        let shareUid = options.query.uid
        getOpenidNoLogin((res) => {
            if (getApp().callBack) {
                getApp().callBack(res);
            }
        }, () => {}, shareUid);
    },
    globalData: {
        isIPX: false, // 当前设备是否为 iPhone X
        isIOS: false, // 判断设备是否为苹果
        userInfo: null,
        statusBarHeight: wx.getSystemInfoSync()['statusBarHeight'],
        userGrade: '二年级',
        upgradeHide: true,
        openId: null,
        activityPop: true
    },
    checkIsIPhoneX: function () {
        const self = this
        wx.getSystemInfo({
            success: function (res) {
                // 根据 model 进行判断
                if (res.model.search('iPhone X') != -1) {
                    self.globalData.isIPX = true
                }
                if (res.system.search('iOS') != -1) {
                    self.globalData.isIOS = true
                }
            }
        })
    },
    updateApplet() {
        // 获取小程序更新机制兼容
        if (wx.canIUse('getUpdateManager')) {
            const updateManager = wx.getUpdateManager()
            updateManager.onCheckForUpdate(function (res) {
                // 请求完新版本信息的回调
                if (res.hasUpdate) {
                    updateManager.onUpdateReady(function () {
                        wx.showModal({
                            title: '更新提示',
                            content: '新版本已经准备好,是否重启应用?',
                            success: function (res) {
                                if (res.confirm) {
                                    // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
                                    updateManager.applyUpdate()
                                }
                            }
                        })
                    })
                    updateManager.onUpdateFailed(function () {
                        // 新的版本下载失败
                        wx.showModal({
                            title: '已经有新版本了哟~',
                            content: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~',
                        })
                    })
                }
            })
        }
    }
})