/** * 此文件内容为常用的系统枚举及变量。 */ /** * 系统部署时的配置文件。 * * @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 if (process.env.IM_PROFILE === "ystest") { configFile += "ystest"; } else if (process.env.IM_PROFILE === "hzprod") { configFile += "hzprod"; } else if (process.env.IM_PROFILE === "dsyy") { configFile += "dsyy"; } 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, // 续方 PRESCRIPTION_HOSPITAL:9, //互联网医院医院在线复诊-图文 ONDOOR_NURSING:11, //上门护理 COLLABORATION_HOSPITAL:12, //互联网医院协同门诊 GUIDANCE_HOSPITAL:14, //互联网医院居民导诊聊天 GENERAL_EXPERT:15, //全科医生发起求助专科医生的专家咨询 PRESCRIPTION_HOSPITAL_VIDEO:16, //互联网医院医院在线复诊-视频 MUC_VIDEO:17, //视频咨询 GUIDANCE_ASSISTANT: 18,//导诊助手 EMERGENCY_ASSISTANCE: 20,//紧急救助 DOOR_COACH:21, //上门预约 SECURITY_WARN:22, //安防咨询 ONLINE:23, //新生儿在线咨询 ONLINEAged:24, //老人在线咨询 HEALTHAged:25, //老人健康咨询 VIP_GUIDANCE_ASSISTANT:26, //专属服务导诊(专属候诊室) ONLINE_WAITING_ROOM:27, //在线候诊室 contantsType: function (session_type) { if( session_type==SESSION_TYPES.MUC|| session_type==SESSION_TYPES.P2P|| session_type==SESSION_TYPES.GROUP|| session_type==SESSION_TYPES.DISCUSSION|| session_type==SESSION_TYPES.SPECIALISTGROUP|| session_type==SESSION_TYPES.PRESCRIPTION|| session_type==SESSION_TYPES.PRESCRIPTION_HOSPITAL|| session_type==SESSION_TYPES.COLLABORATION_HOSPITAL|| session_type==SESSION_TYPES.GUIDANCE_HOSPITAL|| session_type==SESSION_TYPES.ONDOOR_NURSING|| session_type==SESSION_TYPES.GENERAL_EXPERT|| session_type==SESSION_TYPES.PRESCRIPTION_HOSPITAL_VIDEO|| session_type==SESSION_TYPES.MUC_VIDEO|| session_type==SESSION_TYPES.GUIDANCE_ASSISTANT|| session_type==SESSION_TYPES.VIP_GUIDANCE_ASSISTANT|| session_type==SESSION_TYPES.ONLINE_WAITING_ROOM|| session_type==SESSION_TYPES.EMERGENCY_ASSISTANCE|| session_type==SESSION_TYPES.DOOR_COACH|| session_type==SESSION_TYPES.ONLINE|| session_type==SESSION_TYPES.ONLINEAged|| session_type==SESSION_TYPES.HEALTHAged|| session_type==SESSION_TYPES.SECURITY_WARN){ return true; } return false; }, contantsTopticType: function (sessionType) { if( sessionType == SESSION_TYPES.MUC|| sessionType == SESSION_TYPES.PRESCRIPTION || sessionType == SESSION_TYPES.PRESCRIPTION_HOSPITAL || sessionType == SESSION_TYPES.COLLABORATION_HOSPITAL || sessionType == SESSION_TYPES.GUIDANCE_HOSPITAL || sessionType == SESSION_TYPES.GENERAL_EXPERT || sessionType == SESSION_TYPES.PRESCRIPTION_HOSPITAL_VIDEO || sessionType == SESSION_TYPES.MUC_VIDEO || sessionType == SESSION_TYPES.ONDOOR_NURSING|| sessionType == SESSION_TYPES.GUIDANCE_ASSISTANT|| sessionType == SESSION_TYPES.VIP_GUIDANCE_ASSISTANT|| sessionType == SESSION_TYPES.ONLINE_WAITING_ROOM|| sessionType == SESSION_TYPES.EMERGENCY_ASSISTANCE|| sessionType == SESSION_TYPES.DOOR_COACH|| sessionType == SESSION_TYPES.ONLINE|| sessionType == SESSION_TYPES.ONLINEAged|| sessionType == SESSION_TYPES.HEALTHAged|| sessionType == SESSION_TYPES.SECURITY_WARN){ return true; } return false; } }; 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, //康复计划发送 PrescriptionDiagnosis: 24,//诊断发送 PrescriptionInfo: 27,//药品消息 VideoAnswerStatus: 29, //视屏请求 HospiatlForward: 30, //互联网医院转发 PrescriptionSuggest: 31, //会诊建议 Screening: 32, //疾病筛查卡片消息 PrescriptionReject: 33, //处方驳回消息 ConsultSuggest: 34, //咨询建议 PayMessage: 35, //支付消息 surveyMessage: 36, //患者答完问卷 VideoAnswerAck: 39, //视屏请求确认 ReservationDoorCardInfo: 2101,//上门服务-预约工单卡片信息 ChangeDoorCardInfo: 2102,//上门服务-修改工单卡片信息 ChangeDoorDoctor: 2103,//上门服务-变更工单医生信息 ChangeDoorPackageItems:2104, //上门服务-变更工单服务项信息 InformedConsent:2105,//知情通知书 ReservationDoorCoachCardInfo: 2201,//上门辅导服务-预约工单卡片信息 ChangeDoorCoachCardInfo: 2202,//上门辅导服务-修改工单卡片信息 ChangeDoorCoachDoctor: 2203,//上门辅导服务-变更工单医生信息 ChangeDoorCoachPackageItems:2204, //上门辅导服务-变更工单服务项信息 CoachInformedConsent:2205,//上门辅导服务 知情通知书 emergencyAssistance:40,//医疗云-紧急预警弹框 BirthdayToPatientAssistance:41,//医疗云-人文关怀(生日祝福) HealthIndexToPatientAssistance:42,//医疗云-设备体征测量弹框 SystemMessagePushAssistance:999,// 系统推送消息统一 999 Pad 使用 DeviceMessagePushAssistance:991,// 设备消息统一推送 991 Pad 使用 EmergencyAssistanceMessage:43,//云招呼-预警消息 KnowCommonQuestion:3001,//知识库-常见问题 KnowCommonQuestions:3002,//知识库-常见问题集 KnowCommonDict:3003,//知识库-字典 KnowDeptDoctor:3004,//知识库-科室医生 KnowSymptomsDisease:3005,//知识库-疾病症状 KnowSymptomsDiseaseQ:3006,//知识库-疾病症状问题 KnowSymptomsDiseaseA:3007,//知识库-疾病症状回答 KnowCommonCustomer:3008,//知识库-客服欢迎 ForwardChat:3009,//转发聊天 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",//居民微信 PATIENT_SYSTEM:"patient_system",//居民微信外层 PC_PATIENT:"pc_patient",//居民PC PC_PATIENT_SYSTEM:"pc_patient_system",//居民PC外层 DOCTOR:"doctor",//医生APP DOCTOR_SYSTEM:"doctor_system",//医生APP外层 PC_DOCTOR:"pc_doctor",//医生PC PC_DOCTOR_SYSTEM:"pc_doctor_system",//医生PC外层 CloudCarePcManage:"cloudCare_pcManage",//医养pc管理 PCIM_DOCTOR:"pcim_doctor",//中山医院医生MDT 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:"base.wlyy_consult_team", WlyyConsultS:"base.wlyy_consult", WlyyMessage:"base.wlyy_message", MessageNoticeSetting:"base.wlyy_message_notice_setting", SignFamily:"base.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.GROUP ||sessionType == SESSION_TYPES.SPECIALISTGROUP ||sessionType == SESSION_TYPES.DISCUSSION) return DB_TABLES.GroupMessages; else return DB_TABLES.MucMessages; } }; 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;