80 lines
1.9 KiB
JavaScript
80 lines
1.9 KiB
JavaScript
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
|
|
|
|
const request = require('./utils/request.js')
|
|
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([])
|
|
})
|
|
})
|
|
},
|
|
|
|
onShow(options) {
|
|
const request = require('./utils/request.js')
|
|
wx.login({
|
|
success: res => {
|
|
if (res.code) {
|
|
request.post('/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: [],
|
|
}
|
|
}) |