1. 医生端开方2.0测试
This commit is contained in:
74
config/chat.js
Normal file
74
config/chat.js
Normal file
@@ -0,0 +1,74 @@
|
||||
/**
|
||||
* 聊天室配置文件
|
||||
* 统一管理聊天室相关配置
|
||||
*/
|
||||
|
||||
/**
|
||||
* 聊天室配置
|
||||
*/
|
||||
export const chatConfig = {
|
||||
/**
|
||||
* 消息类型映射
|
||||
* 将消息类型名称映射到数字类型
|
||||
*/
|
||||
messageTypes: {
|
||||
text: 0, // 文本消息
|
||||
image: 1, // 图片消息
|
||||
audio: 2, // 语音消息
|
||||
video: 3, // 视频消息
|
||||
prescription: 4, // 处方消息
|
||||
file: 5, // 文件消息
|
||||
register: 10, // 挂号消息
|
||||
'patient-experience': 11, // 患者体验消息
|
||||
'product-card': 12, // 产品卡片消息
|
||||
'end-consultation': 13 // 结束问诊消息
|
||||
},
|
||||
|
||||
/**
|
||||
* 根据消息类型名称获取数字类型
|
||||
* @param {string} typeName - 消息类型名称
|
||||
* @returns {number} 消息类型数字
|
||||
*/
|
||||
getMessageType(typeName) {
|
||||
return this.messageTypes[typeName] || 0;
|
||||
},
|
||||
|
||||
/**
|
||||
* 根据数字类型获取消息类型名称
|
||||
* @param {number} type - 消息类型数字
|
||||
* @returns {string} 消息类型名称
|
||||
*/
|
||||
getMessageTypeName(type) {
|
||||
const entries = Object.entries(this.messageTypes);
|
||||
const found = entries.find(([name, value]) => value === type);
|
||||
return found ? found[0] : 'text';
|
||||
},
|
||||
|
||||
/**
|
||||
* 房间配置
|
||||
*/
|
||||
room: {
|
||||
messagePageSize: 20, // 每页消息数量
|
||||
maxCacheSize: 100 // 最大缓存消息数
|
||||
},
|
||||
|
||||
/**
|
||||
* 未读数配置
|
||||
*/
|
||||
unread: {
|
||||
maxCount: 99 // 最大未读数显示(超过显示99+)
|
||||
},
|
||||
|
||||
/**
|
||||
* 格式化未读数显示
|
||||
* @param {number} count - 未读数
|
||||
* @returns {string} 格式化后的未读数
|
||||
*/
|
||||
formatUnreadCount(count) {
|
||||
if (count <= 0) return '';
|
||||
if (count > this.unread.maxCount) {
|
||||
return `${this.unread.maxCount}+`;
|
||||
}
|
||||
return count.toString();
|
||||
}
|
||||
};
|
||||
55
config/websocket.js
Normal file
55
config/websocket.js
Normal file
@@ -0,0 +1,55 @@
|
||||
/**
|
||||
* WebSocket配置文件
|
||||
* 统一管理WebSocket相关配置
|
||||
*/
|
||||
|
||||
// 检查是否为开发环境
|
||||
// 在uni-app中,可以通过条件编译或manifest.json判断
|
||||
const isDev = true; // TODO: 根据实际环境配置
|
||||
|
||||
/**
|
||||
* WebSocket配置
|
||||
*/
|
||||
export const websocketConfig = {
|
||||
/**
|
||||
* WebSocket URL配置
|
||||
* dev: 开发环境WebSocket地址
|
||||
* prod: 生产环境WebSocket地址
|
||||
*/
|
||||
url: {
|
||||
dev: 'ws://127.0.0.1:12080/ws',
|
||||
prod: 'wss://api.ws.g.xiaokang88.com/ws'
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取当前环境的WebSocket URL
|
||||
* @returns {string} WebSocket URL
|
||||
*/
|
||||
getUrl() {
|
||||
return isDev ? this.url.dev : this.url.prod;
|
||||
},
|
||||
|
||||
/**
|
||||
* 重连配置
|
||||
*/
|
||||
reconnect: {
|
||||
maxAttempts: 5, // 最大重连次数
|
||||
initialDelay: 1000, // 初始重连延迟(毫秒)
|
||||
maxDelay: 30000 // 最大重连延迟(毫秒)
|
||||
},
|
||||
|
||||
/**
|
||||
* 心跳配置
|
||||
*/
|
||||
heartbeat: {
|
||||
interval: 300000 // 心跳间隔(毫秒),5分钟
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户标识配置
|
||||
*/
|
||||
user: {
|
||||
prefix: 'doctor-', // 医生小程序使用doctor-前缀
|
||||
platform: 'doctor-miniprogram' // 平台标识(医生小程序)
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user