const util = require('./utils/util.js'); const api = require('./config/api'); ! function () { var PageTmp = Page; Page = function (pageConfig) { // 设置全局默认分享 let tempShare = pageConfig.onShareAppMessage pageConfig.onShareAppMessage = function(...args) { let pages = getCurrentPages() let path = pages[pages.length - 1].route; let defconfig = { title: '【好友推荐】一起云逛店吧~', desc: '【好友推荐】一起云逛店吧~', path: path, imageUrl: 'https://houseoss.4dkankan.com/4dHouse/miniprogram/aaa.jpg', }; let currConfig = tempShare && tempShare.call(this, ...args) let config = defconfig if (currConfig) { config = { ...defconfig, ...currConfig, } } return config } let onShow = pageConfig.onShow pageConfig.onShow = function(...args) { getApp().setLoginProps(true) return onShow && onShow.call(this, ...args) } PageTmp(pageConfig); }; }(); const voiceCbs = [] const voiceProps = { noMute: false, pullUrls: [], pushUrl: false, } const loginCbs = [] const loginProps = { isLogin: true }; App({ onShareAppMessage() { console.log('--------------------') }, onLaunch: function () { //获取小程序更新机制兼容 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: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~', }) }) } }) } else { // 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示 wx.showModal({ title: '提示', content: '当前微信版本过低,无法更好体验程序,请升级到最新微信版本后重试。' }) } this.onGetSysInfo() }, globalData: { voiceProps, loginProps, userInfo: { nickName: 'Hi,游客', userName: '点击去登录', avatarUrl: 'https://platform-wxmall.oss-cn-beijing.aliyuncs.com/upload/20180727/150547696d798c.png' }, token: '', userCoupon: 'NO_USE_COUPON', //默认不适用优惠券 courseCouponCode: {}, //购买课程的时候优惠券信息 isiPhoneX: false, isLogin: false }, addVoicePropsListener(cb) { voiceCbs.push(cb) }, removeVoicePropsListener(cb) { voiceCbs.splice(voiceCbs.indexOf(cb), 1) }, setVoiceProps(props) { console.log(props, 'props') Object.keys(props).forEach(k => { voiceProps[k] = props[k] }) voiceCbs.forEach(cb => cb(props)) }, addLoginListener(cb) { loginCbs.push(cb) }, removeLoginListener(cb) { loginCbs.splice(loginCbs.indexOf(cb), 1) }, setLoginProps(props) { loginProps.isLogin = props loginCbs.forEach(cb => cb()) }, onGetSysInfo() { // 先缓存获取 let isiPhoneX = wx.getStorageSync('isiPhoneX') || false // 缓存没有 再获取 if (!isiPhoneX) { wx.getSystemInfo({ success: res => { // 手机品牌 let modelmes = res.model; console.log('mode---------------lmes', modelmes) // 如果是 X,XS,XR,XS MAX 均可适配 if (modelmes.indexOf('iPhone X') != -1) { // 存储型号 this.globalData.isiPhoneX = true wx.setStorageSync('isiPhoneX', true) // 加入回调 this.sysCallback && this.sysCallback() } }, }) } else { this.globalData.isiPhoneX = isiPhoneX } }, // 下拉刷新 onPullDownRefresh: function () { // 显示顶部刷新图标 wx.showNavigationBarLoading(); var that = this; // 隐藏导航栏加载框 wx.hideNavigationBarLoading(); // 停止下拉动作 wx.stopPullDownRefresh(); this.checkNetStatu() }, // 更新小程序 updateManager: function () { //获取系统信息 客户端基础库 wx.getSystemInfo({ success: function (res) { //基础库版本比较,版本更新必须是1.9.90以上 const v = util.compareVersion(res.SDKVersion, '1.9.90'); if (v > 0) { const manager = wx.getUpdateManager(); manager.onCheckForUpdate(function (res) { // 请求完新版本信息的回调 //console.log(res.hasUpdate); }); manager.onUpdateReady(function () { wx.showModal({ title: '更新提示', content: '新版本已经准备好,是否重启应用?', success: function (res) { if (res.confirm) { // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启 manager.applyUpdate(); } } }) }); manager.onUpdateFailed(function () { // 新的版本下载失败 }); } else { // wx.showModal({ // title: '温馨提示', // content: '当前微信版本过低,无法更好体验程序,请升级到最新微信版本后重试。' // }) } }, }) }, getCurrentPages: function () { var pages = getCurrentPages(); //获取加载的页面 var currentPage = pages[pages.length - 1]; //获取当前页面的对象 var url = currentPage.route; //当前页面url var options = currentPage.options; //获取url中所带的参数 //拼接url的参数 var currentPage = url + '?'; for (var key in options) { var value = options[key] currentPage += key + '=' + value + '&'; } currentPage = currentPage.substring(0, currentPage.length - 1); return currentPage; }, async checkNetStatu() { if (!(await util.checkNetStatu())) { return wx.redirectTo({ url: '/pages/offline/offline?url=' + decodeURI(this.getCurrentPages()), }) } }, updateCardCount() { util.request(api.CartList).then((res) => { //显示红字,badge if (!res.data || !res.data.cartTotal) { return } // global.setTabBarBadge({ // index: 3, // text: res.data.cartTotal.goodsCount , // }); if (res.data.cartTotal.goodsCount) { wx.setTabBarBadge({ index: 3, text: res.data.cartTotal.goodsCount + '', }); } else { wx.removeTabBarBadge({ index: 3, }); } }) }, onLaunch() { console.error('第一次进来') wx.setStorageSync('lastSceneNum', null) } })