/* eslint-disable */ // app.ts import { request } from './api/request' import { parseScene } from './utils/util' const licia = require('miniprogram-licia') const dayjs = require('dayjs') require('/utils/dayjs/day-zh-cn.js') const relativeTime = require('/utils/dayjs/relativeTime.js') dayjs.locale('zh-cn') // 全局使用 dayjs.extend(relativeTime) // page import page from '@/utils/page' App({ globalData: { // dev // appid:wxa4ece062e60e93a5 url: 'https://m.wtx.hbraas.com', upFileUrl: 'https://m.wtx.hbraas.com/', imageUrl: 'https://m.wtx.hbraas.com/GeneB/', // pro // appid:wx96f45ca4f1fa36ec // url: 'https://m.wtx.hbsaas.com', // upFileUrl: 'https://m.wtx.hbsaas.com/', // imageUrl: 'https://m.wtx.hbsaas.com/GeneB/', Timestamp: new Date().getTime(), scene: {}, loginState: '', isLogin: 0, // 0 未登录 1 已登录 isReg: 0, userId: '', guestPrivacyAgree: false, // anyWhere: true, anyWhere: false, userInfo: {}, }, onLaunch() { this.autoUpdate() Page = page as WechatMiniprogram.Page.Constructor wx.ajax = licia.curry(request)({ gUrl: this.globalData.url }) wx.setInnerAudioOption({ obeyMuteSwitch: false, mixWithOther: false, }) }, onShow(options) { if (options.query.scene) { this.globalData.scene = parseScene(options.query.scene) as { workerId: string } } this.startLogin() }, startLogin() { wx.login({ success: (res) => { wx.ajax({ method: 'GET', url: '?r=wtx/user/init-login', data: { code: res.code, }, }).then((res) => { this.globalData.loginState = res.loginState this.globalData.isReg = res.isReg this.globalData.isLogin = res.isLogin this.globalData.userId = res.userId this.globalData.guestPrivacyAgree = res.guestPrivacyAgree }) }, }) }, waitLogin() { let time: number return new Promise((resolve: (value?) => void) => { if (this.globalData.loginState) { resolve() return } time = setInterval(() => { if (this.globalData.loginState) { clearInterval(time) resolve() } }, 500) }) }, mpBehavior(data: { PageName: string; doctor?: boolean }) { let url = '?r=zd/mp-behavior/add' if (data.doctor) { url = '?r=zd/doctor/mp-behavior/add' } delete data.doctor wx.ajax({ method: 'POST', url, data: data, loading: false, showMsg: false, }).then((res) => { console.log('res: ', res) }) }, getUserInfo() { return wx.ajax({ method: 'GET', url: '?r=wtx/user/userinfo', }) }, autoUpdate: function () { var self = this // 获取小程序更新机制兼容 if (wx.canIUse('getUpdateManager')) { const updateManager = wx.getUpdateManager() //1. 检查小程序是否有新版本发布 updateManager.onCheckForUpdate(function (res) { // 请求完新版本信息的回调 if (res.hasUpdate) { //检测到新版本,需要更新,给出提示 wx.showModal({ title: '更新提示', content: '检测到新版本,是否下载新版本并重启小程序?', success: function (res) { if (res.confirm) { //2. 用户确定下载更新小程序,小程序下载及更新静默进行 self.downLoadAndUpdate(updateManager) } else if (res.cancel) { //用户点击取消按钮的处理,如果需要强制更新,则给出二次弹窗,如果不需要,则这里的代码都可以删掉了 wx.showModal({ title: '温馨提示~', content: '本次版本更新涉及到新的功能添加,旧版本无法正常访问的哦~', showCancel: false, //隐藏取消按钮 confirmText: '确定更新', //只保留确定更新按钮 success: function (res) { if (res.confirm) { //下载新版本,并重新应用 self.downLoadAndUpdate(updateManager) } }, }) } }, }) } }) } else { // 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示 wx.showModal({ title: '提示', content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。', }) } }, downLoadAndUpdate: function (updateManager) { //静默下载更新小程序新版本 updateManager.onUpdateReady(function () { wx.hideLoading() //新的版本已经下载好,调用 applyUpdate 应用新版本并重启 updateManager.applyUpdate() }) updateManager.onUpdateFailed(function () { // 新的版本下载失败 wx.showModal({ title: '新版本更新失败', content: '您可删除当前小程序,重新打开尝试', }) }) }, })