{ "schema": { "bsonType": "object", "required": [], "properties": { "_id": { "description": "存储文档 ID(用户 ID),系统自动生成" }, "username": { "bsonType": "string", "title": "用户名", "description": "用户名,不允许重复", "trim": "both" }, "password": { "bsonType": "password", "title": "密码", "description": "密码,加密存储", "trim": "both" }, "password_secret_version": { "bsonType": "int", "title": "passwordSecret", "description": "密码使用的passwordSecret版本" }, "nickname": { "bsonType": "string", "title": "昵称", "description": "用户昵称", "trim": "both" }, "gender": { "bsonType": "int", "title": "性别", "description": "用户性别:0 未知 1 男性 2 女性", "defaultValue": 0, "enum": [ { "text": "未知", "value": 0 }, { "text": "男", "value": 1 }, { "text": "女", "value": 2 } ] }, "status": { "bsonType": "int", "description": "用户状态:0 正常 1 禁用 2 审核中 3 审核拒绝", "title": "用户状态", "defaultValue": 0, "enum": [ { "text": "正常", "value": 0 }, { "text": "禁用", "value": 1 }, { "text": "审核中", "value": 2 }, { "text": "审核拒绝", "value": 3 } ] }, "mobile": { "bsonType": "string", "title": "手机号码", "description": "手机号码", "pattern": "^\\+?[0-9-]{3,20}$", "trim": "both" }, "mobile_confirmed": { "bsonType": "int", "description": "手机号验证状态:0 未验证 1 已验证", "title": "手机号验证状态", "defaultValue": 0, "enum": [ { "text": "未验证", "value": 0 }, { "text": "已验证", "value": 1 } ] }, "email": { "bsonType": "string", "format": "email", "title": "邮箱", "description": "邮箱地址", "trim": "both" }, "email_confirmed": { "bsonType": "int", "description": "邮箱验证状态:0 未验证 1 已验证", "title": "邮箱验证状态", "defaultValue": 0, "enum": [ { "text": "未验证", "value": 0 }, { "text": "已验证", "value": 1 } ] }, "avatar": { "bsonType": "string", "title": "头像地址", "description": "头像地址", "trim": "both" }, "avatar_file": { "bsonType": "file", "title": "头像文件", "description": "用file类型方便使用uni-file-picker组件" }, "department_id": { "bsonType": "array", "description": "部门ID", "title": "部门", "enumType": "tree", "enum": { "collection": "opendb-department", "orderby": "name asc", "field": "_id as value, name as text" } }, "role": { "bsonType": "array", "title": "角色", "description": "用户角色", "enum": { "collection": "uni-id-roles", "field": "role_id as value, role_name as text" }, "foreignKey": "uni-id-roles.role_id", "permission": { "write": false } }, "wx_unionid": { "bsonType": "string", "description": "微信unionid" }, "wx_openid": { "bsonType": "object", "description": "微信各个平台openid", "properties": { "app": { "bsonType": "string", "description": "app平台微信openid" }, "mp": { "bsonType": "string", "description": "微信小程序平台openid" }, "h5": { "bsonType": "string", "description": "微信公众号平台openid" }, "web": { "bsonType": "string", "description": "微信网页登录openid" } } }, "ali_openid": { "bsonType": "string", "description": "支付宝平台openid" }, "apple_openid": { "bsonType": "string", "description": "苹果登录openid" }, "dcloud_appid": { "bsonType": "array", "description": "允许登录的客户端的appid列表", "foreignKey": "opendb-app-list.appid" }, "comment": { "bsonType": "string", "title": "备注", "description": "备注", "trim": "both" }, "third_party" : { "bsonType": "object", "description": "缓存用户在三方平台的token等信息", "properties": { "mp_weixin": { "bsonType": "object", "description": "微信小程序相关信息", "properties": { "session_key": { "bsonType": "string", "description": "微信小程序session key" } } }, "app_weixin": { "bsonType": "object", "description": "app平台微信相关信息", "properties": { "access_token": { "bsonType": "string", "description": "app平台微信access token" }, "access_token_expired": { "bsonType": "string", "description": "app平台微信access token过期时间" }, "refresh_token": { "bsonType": "string", "description": "app平台微信refresh token" } } }, "h5_weixin": { "bsonType": "object", "description": "微信公众号平台微信相关信息", "properties": { "access_token": { "bsonType": "string", "description": "微信公众号平台access token" }, "access_token_expired": { "bsonType": "string", "description": "微信公众号平台access token过期时间" }, "refresh_token": { "bsonType": "string", "description": "微信公众号平台refresh token" } } }, "web_weixin": { "bsonType": "object", "description": "web平台微信相关信息", "properties": { "access_token": { "bsonType": "string", "description": "web平台微信access token" }, "access_token_expired": { "bsonType": "string", "description": "web平台微信access token过期时间" }, "refresh_token": { "bsonType": "string", "description": "web平台微信refresh token" } } }, "mp_qq": { "bsonType": "object", "description": "QQ小程序相关信息", "properties": { "session_key": { "bsonType": "string", "description": "QQ小程序session key" } } }, "app_qq": { "bsonType": "object", "description": "app平台QQ相关信息", "properties": { "access_token": { "bsonType": "string", "description": "app平台QQ access token" }, "access_token_expired": { "bsonType": "string", "description": "app平台QQ access token过期时间" } } } } }, "register_env": { "bsonType": "object", "description": "注册环境信息", "properties": { "appid": { "bsonType": "string", "description": "注册时的应用AppId" }, "uni_platform": { "bsonType": "string", "description": "注册时的应用平台,app、h5等" }, "os_name": { "bsonType": "string", "description": "注册时的客户端系统类型,ios、android、windows、mac、linux" }, "app_name": { "bsonType": "string", "description": "注册时的应用名称" }, "app_version": { "bsonType": "string", "description": "注册时的应用版本名称" }, "app_version_code": { "bsonType": "string", "description": "注册时的应用版本号码" }, "channel": { "bsonType": "string", "description": "注册时的应用渠道或小程序启动场景" }, "client_ip": { "bsonType": "string", "description": "注册时的客户端ip" } } }, "realname_auth": { "bsonType": "object", "description": "实名认证信息", "required": [ "type", "auth_status" ], "properties": { "type": { "bsonType": "int", "minimum": 0, "maximum": 1, "description": "用户类型:0 个人用户 1 企业用户" }, "auth_status": { "bsonType": "int", "minimum": 0, "maximum": 3, "description": "认证状态:0 未认证 1 等待认证 2 认证通过 3 认证失败" }, "auth_date": { "bsonType": "timestamp", "description": "认证通过时间" }, "real_name": { "bsonType": "string", "description": "真实姓名/企业名称" }, "identity": { "bsonType": "string", "description": "身份证号码/营业执照号码" }, "id_card_front": { "bsonType": "string", "description": "身份证正面照 URL" }, "id_card_back": { "bsonType": "string", "description": "身份证反面照 URL" }, "in_hand": { "bsonType": "string", "description": "手持身份证照片 URL" }, "license": { "bsonType": "string", "description": "营业执照 URL" }, "contact_person": { "bsonType": "string", "description": "联系人姓名" }, "contact_mobile": { "bsonType": "string", "description": "联系人手机号码" }, "contact_email": { "bsonType": "string", "description": "联系人邮箱" } } }, "score": { "bsonType": "int", "description": "用户积分,积分变更记录可参考:uni-id-scores表定义" }, "register_date": { "bsonType": "timestamp", "description": "注册时间", "forceDefaultValue": { "$env": "now" } }, "register_ip": { "bsonType": "string", "description": "注册时 IP 地址", "forceDefaultValue": { "$env": "clientIP" } }, "last_login_date": { "bsonType": "timestamp", "description": "最后登录时间" }, "last_login_ip": { "bsonType": "string", "description": "最后登录时 IP 地址" }, "token": { "bsonType": "array", "description": "用户token" }, "inviter_uid": { "bsonType": "array", "description": "用户全部上级邀请者", "trim": "both" }, "invite_time": { "bsonType": "timestamp", "description": "受邀时间" }, "my_invite_code": { "bsonType": "string", "description": "用户自身邀请码" } } }, "data": [], "index": [ { "IndexName": "username", "MgoKeySchema": { "MgoIndexKeys": [ { "Name": "username", "Direction": "1" } ], "MgoIsUnique": false } }, { "IndexName": "mobile", "MgoKeySchema": { "MgoIndexKeys": [ { "Name": "mobile", "Direction": "1" } ], "MgoIsUnique": false } }, { "IndexName": "email", "MgoKeySchema": { "MgoIndexKeys": [ { "Name": "email", "Direction": "1" } ], "MgoIsUnique": false } }, { "IndexName": "wx_openid.app", "MgoKeySchema": { "MgoIndexKeys": [ { "Name": "wx_openid.app", "Direction": "1" } ], "MgoIsUnique": false } }, { "IndexName": "wx_openid.mp", "MgoKeySchema": { "MgoIndexKeys": [ { "Name": "wx_openid.mp", "Direction": "1" } ], "MgoIsUnique": false } }, { "IndexName": "wx_openid.h5", "MgoKeySchema": { "MgoIndexKeys": [ { "Name": "wx_openid.h5", "Direction": "1" } ], "MgoIsUnique": false } }, { "IndexName": "wx_openid.web", "MgoKeySchema": { "MgoIndexKeys": [ { "Name": "wx_openid.web", "Direction": "1" } ], "MgoIsUnique": false } }, { "IndexName": "wx_unionid", "MgoKeySchema": { "MgoIndexKeys": [ { "Name": "wx_unionid", "Direction": "1" } ], "MgoIsUnique": false } }, { "IndexName": "qq_openid.app", "MgoKeySchema": { "MgoIndexKeys": [ { "Name": "qq_openid.app", "Direction": "1" } ], "MgoIsUnique": false } }, { "IndexName": "qq_openid.mp", "MgoKeySchema": { "MgoIndexKeys": [ { "Name": "qq_openid.mp", "Direction": "1" } ], "MgoIsUnique": false } }, { "IndexName": "qq_unionid", "MgoKeySchema": { "MgoIndexKeys": [ { "Name": "qq_unionid", "Direction": "1" } ], "MgoIsUnique": false } }, { "IndexName": "ali_openid", "MgoKeySchema": { "MgoIndexKeys": [ { "Name": "ali_openid", "Direction": "1" } ], "MgoIsUnique": false } }, { "IndexName": "apple_openid", "MgoKeySchema": { "MgoIndexKeys": [ { "Name": "apple_openid", "Direction": "1" } ], "MgoIsUnique": false } }, { "IndexName": "my_invite_code", "MgoKeySchema": { "MgoIndexKeys": [ { "Name": "my_invite_code", "Direction": "1" } ], "MgoIsUnique": false } }, { "IndexName": "inviter_uid", "MgoKeySchema": { "MgoIndexKeys": [ { "Name": "inviter_uid", "Direction": "1" } ], "MgoIsUnique": false } }, { "IndexName": "register_env_app_version_", "MgoKeySchema": { "MgoIndexKeys": [ { "Name": "register_env.appVersion", "Direction": "1" } ], "MgoIsUnique": false } }, { "IndexName": "register_env_channel_", "MgoKeySchema": { "MgoIndexKeys": [ { "Name": "register_env.channel", "Direction": "1" } ], "MgoIsUnique": false } } ] }