123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234 |
- /**
- * 此文件内容为常用的系统枚举及变量。
- */
- /**
- * 系统部署时的配置文件。
- *
- * @type {string}
- */
- "use strict";
- let configFile = "config.";
- if (process.env.IM_PROFILE === "prod") {
- configFile += "prod";
- } else if (process.env.IM_PROFILE === "prodPC") {
- configFile += "prodPC";
- } else if (process.env.IM_PROFILE === "test") {
- configFile += "test";
- } else {
- configFile += "dev";
- }
- exports.CONFIG_FILE = configFile;
- /**
- * 会话类型
- */
- const SESSION_TYPES = {
- SYSTEM: 0, // 系统会话
- MUC: 1, // MUC会话
- P2P: 2, // P2P
- GROUP: 3, // 固定组
- DISCUSSION: 4, // 临时讨论组
- PRESCRIPTION: 8, // 续方
- PRESCRIPTION_HOSPITAL:9,//医院在线复诊
- ONDOOR_NURSING:11 //上门护理
- };
- exports.SESSION_TYPES = SESSION_TYPES;
- /**
- * 会话状态
- */
- const TOPIC_STATUS = {
- NEW: 0, // 新建
- PROCEEDINGS: 1, // 进行中
- ENDED: 10 // 结束
- };
- exports.SESSION_STATUS = {
- PROCEEDINGS: 0, // 进行中
- ENDED:1 // 结束
- };
- /**
- * 会话业务类型
- */
- exports.SESSION_BUSINESS_TYPE = {
- PATIENT: 2,//针对患者
- DOCTOR: 1//针对医生
- };
- exports.TOPIC_STATUS = TOPIC_STATUS;
- /**
- * 会话参与者角色
- */
- const PARTICIPANT_ROLES = {
- HOST: 0,//主持者
- REGULAR: 1,//普通参与者
- BYSTANDER: 10//旁听者
- };
- exports.PARTICIPANT_ROLES = PARTICIPANT_ROLES;
- /**
- * 消息内容类型。
- */
- const CONTENT_TYPES = {
- PlainText: 1, // 信息
- Image: 2, // 图片信息
- Audio: 3, // 语音信息
- Article: 4, // 文章信息
- GoTo: 5, // 跳转信息,求组其他医生或者邀请其他医生发送的推送消息
- TopicBegin: 6, // 议题开始
- TopicEnd: 7, // 议题结束 10 11 系统发送的会话消息
- TopicInto: 14, // 进入议题 系统发送的会话消息
- Video:12,//视频
- System:13,//系统消息
- PrescriptionCheck:15,//续方审核消息消息
- typeToDescription: function (type, defaultDescription) {
- if (CONTENT_TYPES.Image == type) {
- return '[图片]';
- } else if (CONTENT_TYPES.Audio == type) {
- return '[语音]';
- }
- else if (CONTENT_TYPES.Video == type) {
- return '[视频]';
- }
- else if (type > 3) {
- return defaultDescription;
- }
- return false;
- }
- };
- exports.CONTENT_TYPES = CONTENT_TYPES;
- exports.SOCKET_TYPES={
- PATIENT:"patient",
- DOCTOR:"doctor",
- PC_DOCTOR:"pc_doctor",
- DEMO:"demo"
- }
- /**
- * 客户端平台。
- */
- exports.PLATFORM = {
- iOS: 0,
- Android: 1,
- PC: 3,
- Wechat: 10
- };
- /**
- * 组类型。
- */
- exports.GROUP_TYPE = {
- AdminTeam: 1,
- DiscussionGroup: 2
- };
- /**
- * 模型事件。
- *
- * @type {{Error: string, DataNotFound: string, OK: string}}
- */
- exports.MODEL_EVENTS = {
- Error: "error", // 数据库访问出错
- DataNotFound: "no_data", // 找不到指定的数据
- OK: "ok", // 操作结束或有数据返回
- Exists: "exists" // 数据已存在
- };
- /**
- * 整型最大值。
- */
- exports.MAX_INT = 9007199254740992;
- /**
- * 置顶会话基础分值,以此为下限向上递增。
- */
- exports.STICKY_SESSION_BASE_SCORE = 9000000000000;
- /**
- * 默认分页大小。
- */
- exports.DEFAULT_PAGE_SIZE = 100;
- /**
- * Redis Key列表与占位符。
- */
- const REDIS_KEY_REPLACER = "{id}";
- exports.REDIS_KEY_REPLACER = REDIS_KEY_REPLACER;
- exports.SESSION_USER_STATUS = {
- ONLINE: 0,
- OTHER: 1
- };
- exports.REDIS_KEYS = {
- Users: "users:",
- User: "users:" + REDIS_KEY_REPLACER,
- UserAppStatus: "users:" + REDIS_KEY_REPLACER + ":app_status",
- UserPcStatus: "users:" + REDIS_KEY_REPLACER + ":pc_status",
- UserWechatStatus: "users:" + REDIS_KEY_REPLACER + ":wechat_status",
- UserSessions: "users:" + REDIS_KEY_REPLACER + ":sessions",
- Sessions: "sessions:",
- Session: "sessions:" + REDIS_KEY_REPLACER,
- SessionParticipants: "participants:" + REDIS_KEY_REPLACER,
- SessionParticipantsRole: "participants:" + REDIS_KEY_REPLACER + ":role",
- Topics: "sessions:" + REDIS_KEY_REPLACER + ":topics",
- Topic: "topics:" + REDIS_KEY_REPLACER,
- Messages: "sessions:" + REDIS_KEY_REPLACER + ":messages",
- MessagesByTimestamp: "sessions:" + REDIS_KEY_REPLACER + ":messages_by_timestamp"
- };
- const DB_TABLES = {
- Doctors: "doctors",
- Patients: "patients",
- P2pMessages: "p2p_messages",
- MucMessages: "muc_messages",
- GroupMessages: "group_messages",
- DiscussionMessages: "discussion_messages",
- SystemMessages: "system_messages",
- Participants: "participants",
- Sessions: "sessions",
- Topics: "topics",
- StickySessions: "sticky_sessions",
- WlyyConsult:"wlyy_consults",
- WlyyConsultTeam:"wlyy.wlyy_consult_team",
- WlyyConsultS:"wlyy.wlyy_consult",
- sessionTypeToTableName: function (sessionType) {
- if (sessionType == SESSION_TYPES.SYSTEM)
- return DB_TABLES.SystemMessages;
- else if (sessionType == SESSION_TYPES.MUC)
- return DB_TABLES.MucMessages;
- else if (sessionType == SESSION_TYPES.P2P)
- return DB_TABLES.P2pMessages;
- else if (sessionType == SESSION_TYPES.GROUP)
- return DB_TABLES.GroupMessages;
- else if (sessionType == SESSION_TYPES.DISCUSSION)
- return DB_TABLES.DiscussionMessages;
- else if (sessionType == SESSION_TYPES.PRESCRIPTION)
- return DB_TABLES.MucMessages;
- else if (sessionType == SESSION_TYPES.PRESCRIPTION_HOSPITAL)
- return DB_TABLES.MucMessages;
- else if (sessionType == SESSION_TYPES.ONDOOR_NURSING)
- return DB_TABLES.MucMessages;
- else throw {message: "Unknown session type"};
- }
- };
- exports.DB_TABLES = DB_TABLES;
|