{ "schema": { "bsonType": "object", "required": [], "properties": { "_id": { "description": "存储文档 ID(用户 ID),系统自动生成" }, "username": { "bsonType": "string", "title": "用户名", "description": "用户名,不允许重复" }, "password": { "bsonType": "string", "title": "密码", "description": "密码,加密存储", "component": { "name": "input", "props": { "type": "password" } } }, "nickname": { "bsonType": "string", "title": "昵称", "description": "用户昵称" }, "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}$" }, "mobile_confirmed": { "bsonType": "int", "description": "手机号验证状态:0 未验证 1 已验证", "title": "手机号验证状态", "defaultValue": 0, "enum": [{ "text": "未验证", "value": 0 }, { "text": "已验证", "value": 1 }] }, "email": { "bsonType": "string", "format": "email", "title": "邮箱", "description": "邮箱地址" }, "email_confirmed": { "bsonType": "int", "description": "邮箱验证状态:0 未验证 1 已验证", "title": "邮箱验证状态", "defaultValue": 0, "enum": [{ "text": "未验证", "value": 0 }, { "text": "已验证", "value": 1 }] }, "avatar": { "bsonType": "string", "title": "头像地址", "description": "头像地址" }, "role": { "bsonType": "array", "title": "角色", "description": "用户角色", "permission": { "write": false } }, "wx_unionid": { "bsonType": "string", "description": "微信unionid" }, "wx_openid": { "bsonType": "object", "description": "微信各个平台openid", "properties": { "app-plus": { "bsonType": "string", "description": "app平台微信openid" }, "mp-weixin": { "bsonType": "string", "description": "微信小程序平台openid" } } }, "ali_openid": { "bsonType": "string", "description": "支付宝平台openid" }, "comment": { "bsonType": "string", "title": "备注", "description": "备注" }, "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": "联系人邮箱" } } }, "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": "用户全部上级邀请者" }, "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-plus", "MgoKeySchema": { "MgoIndexKeys": [{ "Name": "wx_openid.app-plus", "Direction": "1" }], "MgoIsUnique": false } }, { "IndexName": "wx_openid.mp-weixin", "MgoKeySchema": { "MgoIndexKeys": [{ "Name": "wx_openid.mp-weixin", "Direction": "1" }], "MgoIsUnique": false } }, { "IndexName": "wx_unionid", "MgoKeySchema": { "MgoIndexKeys": [{ "Name": "wx_unionid", "Direction": "1" }], "MgoIsUnique": false } }, { "IndexName": "ali_openid", "MgoKeySchema": { "MgoIndexKeys": [{ "Name": "ali_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": "invite_time", "MgoKeySchema": { "MgoIndexKeys": [{ "Name": "invite_time", "Direction": "1" }], "MgoIsUnique": false } }, { "IndexName": "role", "MgoKeySchema": { "MgoIndexKeys": [{ "Name": "role", "Direction": "1" }], "MgoIsUnique": false } } ] }