2024-01-16 14:59:06 +08:00

77 lines
2.5 KiB
JavaScript

import { API } from '../../utils/network/api'
const api = new API()
const app = getApp()
Page({
data: {
title: '',
height: app.globalData.height,
order_inquiry_id: "",
from:'',
inquiry_type:'',
currentConversationID:'',
baseInfo: {}
},
onLoad(option) {
// console.log("chat onload", option);
let order_inquiry_id = option.order_inquiry_id;
let from=option.from;
this.setData({
order_inquiry_id: order_inquiry_id,
from:from?from:''
})
this.getInquiryMessageBasic();
},
onUnload() {
// console.log("chat onUnload");
},
onShow(){
// console.log("chat onShow");
// console.log("app.globalData.scene from chat: ", app.globalData.scene);
},
$onMessageReceived(value) {
const message = value.data[0];
// console.log("message from chat: ",message)
},
initChat(){
let _this = this;
let count = 0;
let {currentConversationID,order_inquiry_id,inquiry_type,baseInfo,from}=this.data;
let interval = setInterval(() => {
// console.log("chat init count: ", count);
// console.log("app.globalData.chat_sdk_ready: ", app.globalData.chat_sdk_ready);
if(app.globalData.chat_sdk_ready){
const TUIChat = _this.selectComponent('#TUIKit');
TUIChat.init(currentConversationID,order_inquiry_id,inquiry_type,baseInfo,from);
// wx.$TUIKit.on(wx.$TUIKitTIM.EVENT.MESSAGE_RECEIVED, _this.$onMessageReceived, _this);
clearInterval(interval);
}
count = count + 1;
if(count > 5){//如果尝试5次不成功就去主动调用IM初始化
app.imInit();
count = 0;
}
}, 1000);
},
//获取问诊订单消息内页基础数据
getInquiryMessageBasic() {
// console.log("order_inquiry_id: ", this.data.order_inquiry_id);
api.getInquiryMessageBasic({order_inquiry_id: this.data.order_inquiry_id}).then(response => {
// console.log(response);
this.setData({
baseInfo: response.data,
currentConversationID:'C2C'+response.data.patient_user_id
})
let promise=wx.$TUIKit.getUserProfile({
userIDList: [response.data.patient_user_id]
});
promise.then(function(imResponse) {
wx.setStorageSync('patient_avatar',imResponse.data[0].avatar);
}).catch(function(imError) {
console.warn('getUserProfile error:', imError); // 获取其他用户资料失败的相关信息
});
}).then(res => {
this.initChat();
}).catch(errors => {console.error(errors);})
},
})