{ "bsonType": "object", "description": "im消息表", "permission": { "create": false, "delete": false, "read": true, // 在触发器中限制 "update": false }, "required": [ "to_uid", "body", "type" ], "properties": { "_id": { "description": "ID,系统自动生成" }, "from_uid": { "bsonType": "string", "description": "消息发送方 UserID(用于指定发送消息方帐号)", "forceDefaultValue": { "$env": "uid" } }, "nickname": { "bsonType": "string", "description": "冗余的消息发送者昵称" }, "avatar_file": { "bsonType": "file", "title": "冗余的消息发送者头像文件" }, "to_uid": { "bsonType": "string", "description": "消息接收方 UserID" }, "conversation_id": { "bsonType": "string", "description": "conversation_id即消息的会话id", "foreignKey": "uni-im-conversation.id" }, "group_id": { "bsonType": "string", "description": "group_id即消息接收群的id" }, "body": { "description": "消息内容,包含的键会随type变化。需要自己写valedateFunction验证" }, "reader_list": { "bsonType": "array", "description": "已读用户列表", "forceDefaultValue": [] }, "is_read": { "bsonType": "bool", "description": "是否已读(单聊时使用)", "forceDefaultValue": false }, "type": { "bsonType": "string", "enum": [{ "text": "文本", "value": "text" }, { "text": "图像", "value": "image" }, { "text": "语音", "value": "sound" }, { "text": "视频", "value": "video" }, { "text": "文件", "value": "file" }, { "text": "代码", "value": "code" }, { "text": "历史消息(来源用户转发)", "value": "history" }, { "text": "富文本", "value": "rich-text" }, { "text": "位置", "value": "location" }, { "text": "系统消息", "value": "system" }, { "text": "名片", "value": "userinfo-card" } ] }, "__text": { "bsonType": "string", "description": "私有冗余字段,方便实现:历史消息搜索功能" }, "state": { "bsonType": "int", "description": "0 发送中,100发送成功,-100 发送失败,-200 禁止发送(内容不合法)" }, "is_revoke": { "bsonType": "bool", "description": "是否被撤回", "defaultValue": false }, "about_msg_id": { "bsonType": "string", "description": "关于某条消息的id,一般用于回复某一条消息", "defaultValue": false }, "appid": { "bsonType": "string", "description": "接收消息的appid" }, "create_time": { "bsonType": "timestamp", "description": "消息发送时间戳", "forceDefaultValue": { "$env": "now" } }, "update_time": { "bsonType": "timestamp", "description": "消息更新时间戳", "forceDefaultValue": { "$env": "now" } }, "client_create_time": { "bsonType": "timestamp", "description": "客户端创建消息的时间戳", "forceDefaultValue": { "$env": "now" } } } }