const AIChatSocket = require('./utils/chatmsg.js') const API = require('./utils/api.js') App({ onLaunch() { let appId = wx.getStorageSync('attendant-appid') if (!appId) { appId = 'app_' + Date.now().toString(36) + Math.random().toString(36).substr(2, 9) wx.setStorageSync('attendant-appid', appId) } this.globalData.appId = appId this.globalData.servicesReady = new Promise((resolve) => { API.resource.getServices().then((data) => { this.globalData.services = data.data.services resolve(data.data.services) }).catch((err) => { console.error('获取服务列表失败', err) resolve([]) }) }) this.globalData.agreementReady = new Promise((resolve) => { API.resource.getAgreement().then((data) => { this.globalData.agreement = data.data.agreement resolve(data.data.agreement) }).catch((err) => { console.error('获取服务协议失败', err) resolve(null) }) }) this.globalData.hospitalInfoReady = new Promise((resolve) => { API.resource.getHospitalInfo().then((data) => { this.globalData.hospitalInfo = data.data.hospitalInfo resolve(data.data.hospitalInfo) }).catch((err) => { console.error('获取医院信息失败', err) resolve([]) }) }) this.globalData.hospitalRankingReady = new Promise((resolve) => { API.resource.getHospitalRanking().then((data) => { this.globalData.hospitalRanking = data.data.hospitalRanking resolve(data.data.hospitalRanking) }).catch((err) => { console.error('获取医院排名失败', err) resolve([]) }) }) this.globalData.departmentRankingsReady = new Promise((resolve) => { API.resource.getDepartmentRankings().then((data) => { this.globalData.departmentRankings = data.data.departmentRankings resolve(data.data.departmentRankings) }).catch((err) => { console.error('获取科室排名失败', err) resolve([]) }) }) }, onShow(options) { const request = require('./utils/request.js') wx.login({ success: res => { if (res.code) { request.post('https://api.huashengtec.com/user/wxsignin', { code: res.code }) .then((data) => { if (data.code == 0) { this.globalData.user = data.data.user } else { console.log('error:', data) } }) .catch((err) => { console.log('请求失败', err) }) } else { console.log('登录失败!' + res.errMsg) } } }) this.initChatSocket() }, initChatSocket() { if (this.globalData.chatSocket) return const socket = new AIChatSocket() socket.onOpen(() => { console.log('[App] Chat WebSocket connected') }) socket.onClose((res) => { console.log('[App] Chat WebSocket closed', res) }) socket.onError((err) => { console.error('[App] Chat WebSocket error', err) }) socket.connect().catch((err) => { console.error('[App] Chat WebSocket connect failed', err) }) this.globalData.chatSocket = socket }, globalData: { appId: '', user: null, chatSocket: null, services: [], agreement: null, hospitalInfo: [], hospitalRanking: [], departmentRankings: [], } })