123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271 |
- /**
- * 此文件内容为常用的系统枚举及变量。
- */
- /**
- * 系统部署时的配置文件。
- *
- * @type {string}
- */
- "use strict";
- let configFile = "config.";
- if (process.env.IM_PROFILE === "prod") {
- configFile += "prod";
- } else if (process.env.IM_PROFILE === "local") {
- configFile += "local";
- } else if (process.env.IM_PROFILE === "test") {
- configFile += "test";
- } else {
- configFile += "test";
- }
- exports.CONFIG_FILE = configFile;
- /**
- * 会话类型
- */
- const SESSION_TYPES = {
- SYSTEM: 0, // 系统会话
- MUC: 1, // MUC会话
- P2P: 2, // P2P
- GROUP: 3, // 固定组
- DISCUSSION: 4, // 临时讨论组
- SPECIALISTGROUP: 5, // 专科医生和家庭医生的固定组
- PRESCRIPTION: 8, // 续方
- KANGFU: 18, // 续方
- PRESCRIPTION_HOSPITAL:9, //医院在线复诊
- SCREENING_REFERRAL:1037, //筛查转诊
- 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 系统发送的会话消息
- PersonalCard: 18, // 个人名片
- MessageForward: 19, // 消息转发
- TopicInto: 14, // 进入议题 系统发送的会话消息
- Video:12,//视频
- System:13,//系统消息
- PrescriptionCheck:15,//续方审核消息消息
- PrescriptionBloodStatus:16,//续方咨询血糖血压咨询消息
- PrescriptionFollowupContent:17,//续方咨询随访问卷消息
- Rehabilitation: 20, //康复计划发送
- ReservationDoorCardInfo: 2101,//上门服务-预约工单卡片信息
- ChangeDoorCardInfo: 2102,//上门服务-修改工单卡片信息
- ChangeDoorDoctor: 2103,//上门服务-变更工单医生信息
- ChangeDoorPackageItems:2104, //上门服务-变更工单服务项信息
- 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",
- PCIM_DOCTOR:"pcim_doctor",
- DEMO:"demo"
- }
- /**
- * 客户端平台。
- */
- exports.PLATFORM = {
- iOS: 0,
- Android: 1,
- PC: 4,
- 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",
- SystemMessages: "system_messages",
- Participants: "participants",
- Sessions: "sessions",
- Topics: "topics",
- StickySessions: "sticky_sessions",
- WlyyConsult:"wlyy_consults",
- WlyyConsultTeam:"wlyy.wlyy_consult_team",
- WlyyConsultS:"wlyy.wlyy_consult",
- WlyyMessage:"wlyy.wlyy_message",
- MessageNoticeSetting:"wlyy.wlyy_message_notice_setting",
- SignFamily:"wlyy.wlyy_sign_family",
- 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.SCREENING_REFERRAL)
- return DB_TABLES.P2pMessages;
- else if (sessionType == SESSION_TYPES.GROUP)
- return DB_TABLES.GroupMessages;
- else if (sessionType == SESSION_TYPES.DISCUSSION)
- return DB_TABLES.GroupMessages;
- else if (sessionType == SESSION_TYPES.PRESCRIPTION)
- return DB_TABLES.MucMessages;
- else if (sessionType == SESSION_TYPES.KANGFU)
- 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 if (sessionType == SESSION_TYPES.SPECIALISTGROUP)
- return DB_TABLES.GroupMessages;
- 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;
- const MESSAGE_BUSSINESS_TYPE = {
- D_CT_01: "D_CT_01",//指定咨询, 您有新的指定咨询
- D_CT_02: "D_CT_02",//指定咨询, 您有新的消息
- D_CT_03: "D_CT_03",//名医咨询, 您有新的名医咨询
- D_CT_04: "D_CT_04",//名医咨询, 您有新的名医咨询
- D_CT_05: "D_CT_05",//续方咨询, 您有新的续方咨询
- D_CT_06: "D_CT_06",//在线复诊咨询, 您有新的复诊咨询
- D_CT_07: "D_CT_07"//上门服务咨询, 您有新的上门服务咨询回复
- };
- exports.MESSAGE_BUSSINESS_TYPE = MESSAGE_BUSSINESS_TYPE;
|