2020-07-31 18:34:27 +08:00
|
|
|
|
{
|
|
|
|
|
"schema": {
|
|
|
|
|
"bsonType": "object",
|
2020-08-20 16:25:31 +08:00
|
|
|
|
"required": [],
|
2020-07-31 18:34:27 +08:00
|
|
|
|
"properties": {
|
|
|
|
|
"_id": {
|
|
|
|
|
"description": "存储文档 ID(用户 ID),系统自动生成"
|
|
|
|
|
},
|
|
|
|
|
"username": {
|
|
|
|
|
"bsonType": "string",
|
2020-10-31 18:26:14 +08:00
|
|
|
|
"title": "用户名",
|
2020-12-23 20:20:34 +08:00
|
|
|
|
"description": "用户名,不允许重复",
|
|
|
|
|
"trim":"both"
|
2020-07-31 18:34:27 +08:00
|
|
|
|
},
|
|
|
|
|
"password": {
|
2020-11-20 11:58:49 +08:00
|
|
|
|
"bsonType": "password",
|
2020-10-31 18:26:14 +08:00
|
|
|
|
"title": "密码",
|
2020-12-23 20:20:34 +08:00
|
|
|
|
"description": "密码,加密存储",
|
|
|
|
|
"trim":"both"
|
2020-07-31 18:34:27 +08:00
|
|
|
|
},
|
2020-11-14 17:50:14 +08:00
|
|
|
|
"password_secret_version": {
|
2020-11-14 17:02:18 +08:00
|
|
|
|
"bsonType": "int",
|
2020-11-20 11:58:49 +08:00
|
|
|
|
"title": "passwordSecret",
|
2020-11-14 17:02:18 +08:00
|
|
|
|
"description": "密码使用的passwordSecret版本"
|
|
|
|
|
},
|
2020-07-31 18:34:27 +08:00
|
|
|
|
"nickname": {
|
|
|
|
|
"bsonType": "string",
|
2020-10-31 18:26:14 +08:00
|
|
|
|
"title": "昵称",
|
2020-12-23 20:20:34 +08:00
|
|
|
|
"description": "用户昵称",
|
|
|
|
|
"trim":"both"
|
2020-07-31 18:34:27 +08:00
|
|
|
|
},
|
|
|
|
|
"gender": {
|
|
|
|
|
"bsonType": "int",
|
2020-10-31 18:26:14 +08:00
|
|
|
|
"title": "性别",
|
2020-10-31 18:57:25 +08:00
|
|
|
|
"description": "用户性别:0 未知 1 男性 2 女性",
|
|
|
|
|
"defaultValue": 0,
|
2020-11-07 18:19:40 +08:00
|
|
|
|
"enum": [{
|
|
|
|
|
"text": "未知",
|
|
|
|
|
"value": 0
|
|
|
|
|
}, {
|
|
|
|
|
"text": "男",
|
|
|
|
|
"value": 1
|
|
|
|
|
}, {
|
|
|
|
|
"text": "女",
|
|
|
|
|
"value": 2
|
|
|
|
|
}]
|
2020-07-31 18:34:27 +08:00
|
|
|
|
},
|
|
|
|
|
"status": {
|
|
|
|
|
"bsonType": "int",
|
2020-11-07 18:19:40 +08:00
|
|
|
|
"description": "用户状态:0 正常 1 禁用 2 审核中 3 审核拒绝",
|
|
|
|
|
"title": "用户状态",
|
|
|
|
|
"defaultValue": 0,
|
|
|
|
|
"enum": [{
|
|
|
|
|
"text": "正常",
|
|
|
|
|
"value": 0
|
|
|
|
|
}, {
|
|
|
|
|
"text": "禁用",
|
|
|
|
|
"value": 1
|
|
|
|
|
}, {
|
|
|
|
|
"text": "审核中",
|
|
|
|
|
"value": 2
|
|
|
|
|
}, {
|
|
|
|
|
"text": "审核拒绝",
|
|
|
|
|
"value": 3
|
|
|
|
|
}]
|
2020-07-31 18:34:27 +08:00
|
|
|
|
},
|
|
|
|
|
"mobile": {
|
|
|
|
|
"bsonType": "string",
|
2020-10-31 18:26:14 +08:00
|
|
|
|
"title": "手机号码",
|
2020-10-31 18:57:25 +08:00
|
|
|
|
"description": "手机号码",
|
2020-12-23 20:20:34 +08:00
|
|
|
|
"pattern": "^\\+?[0-9-]{3,20}$",
|
|
|
|
|
"trim":"both"
|
2020-07-31 18:34:27 +08:00
|
|
|
|
},
|
|
|
|
|
"mobile_confirmed": {
|
|
|
|
|
"bsonType": "int",
|
2020-11-07 18:19:40 +08:00
|
|
|
|
"description": "手机号验证状态:0 未验证 1 已验证",
|
|
|
|
|
"title": "手机号验证状态",
|
|
|
|
|
"defaultValue": 0,
|
|
|
|
|
"enum": [{
|
|
|
|
|
"text": "未验证",
|
|
|
|
|
"value": 0
|
|
|
|
|
}, {
|
|
|
|
|
"text": "已验证",
|
|
|
|
|
"value": 1
|
|
|
|
|
}]
|
2020-07-31 18:34:27 +08:00
|
|
|
|
},
|
|
|
|
|
"email": {
|
|
|
|
|
"bsonType": "string",
|
2020-10-31 18:57:25 +08:00
|
|
|
|
"format": "email",
|
2020-10-31 18:26:14 +08:00
|
|
|
|
"title": "邮箱",
|
2020-12-23 20:20:34 +08:00
|
|
|
|
"description": "邮箱地址",
|
|
|
|
|
"trim":"both"
|
2020-07-31 18:34:27 +08:00
|
|
|
|
},
|
|
|
|
|
"email_confirmed": {
|
|
|
|
|
"bsonType": "int",
|
2020-11-07 18:19:40 +08:00
|
|
|
|
"description": "邮箱验证状态:0 未验证 1 已验证",
|
|
|
|
|
"title": "邮箱验证状态",
|
|
|
|
|
"defaultValue": 0,
|
|
|
|
|
"enum": [{
|
|
|
|
|
"text": "未验证",
|
|
|
|
|
"value": 0
|
|
|
|
|
}, {
|
|
|
|
|
"text": "已验证",
|
|
|
|
|
"value": 1
|
|
|
|
|
}]
|
2020-07-31 18:34:27 +08:00
|
|
|
|
},
|
|
|
|
|
"avatar": {
|
|
|
|
|
"bsonType": "string",
|
2020-10-31 18:26:14 +08:00
|
|
|
|
"title": "头像地址",
|
2020-12-23 20:20:34 +08:00
|
|
|
|
"description": "头像地址",
|
|
|
|
|
"trim":"both"
|
2020-07-31 18:34:27 +08:00
|
|
|
|
},
|
2021-01-10 10:19:08 +08:00
|
|
|
|
"department_id": {
|
2021-01-10 10:22:57 +08:00
|
|
|
|
"bsonType": "array",
|
2021-01-10 10:19:08 +08:00
|
|
|
|
"description": "部门ID",
|
|
|
|
|
"title": "部门",
|
|
|
|
|
"enumType": "tree",
|
|
|
|
|
"enum": {
|
|
|
|
|
"collection": "opendb-department",
|
|
|
|
|
"orderby": "name asc",
|
|
|
|
|
"field": "_id as value, name as text"
|
|
|
|
|
}
|
|
|
|
|
},
|
2020-11-07 14:28:48 +08:00
|
|
|
|
"role": {
|
|
|
|
|
"bsonType": "array",
|
|
|
|
|
"title": "角色",
|
2020-11-07 18:19:40 +08:00
|
|
|
|
"description": "用户角色",
|
2020-11-20 15:16:05 +08:00
|
|
|
|
"enum": {
|
|
|
|
|
"collection": "uni-id-roles",
|
|
|
|
|
"field": "role_id as value, role_name as text"
|
|
|
|
|
},
|
2020-11-11 11:48:27 +08:00
|
|
|
|
"foreignKey": "uni-id-roles.role_id",
|
2020-11-07 18:19:40 +08:00
|
|
|
|
"permission": {
|
|
|
|
|
"write": false
|
|
|
|
|
}
|
2020-11-07 14:28:48 +08:00
|
|
|
|
},
|
2020-07-31 18:34:27 +08:00
|
|
|
|
"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"
|
|
|
|
|
},
|
2021-01-18 13:28:20 +08:00
|
|
|
|
"apple_openid": {
|
|
|
|
|
"bsonType": "string",
|
|
|
|
|
"description": "苹果登录openid"
|
|
|
|
|
},
|
2020-07-31 18:34:27 +08:00
|
|
|
|
"comment": {
|
|
|
|
|
"bsonType": "string",
|
2020-10-31 18:26:14 +08:00
|
|
|
|
"title": "备注",
|
2020-12-23 20:20:34 +08:00
|
|
|
|
"description": "备注",
|
|
|
|
|
"trim":"both"
|
2020-07-31 18:34:27 +08:00
|
|
|
|
},
|
|
|
|
|
"realname_auth": {
|
|
|
|
|
"bsonType": "object",
|
|
|
|
|
"description": "实名认证信息",
|
2020-09-23 20:58:34 +08:00
|
|
|
|
"required": [
|
|
|
|
|
"type",
|
|
|
|
|
"auth_status"
|
|
|
|
|
],
|
2020-07-31 18:34:27 +08:00
|
|
|
|
"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",
|
2020-10-31 18:26:14 +08:00
|
|
|
|
"description": "注册时间",
|
|
|
|
|
"forceDefaultValue": {
|
|
|
|
|
"$env": "now"
|
|
|
|
|
}
|
2020-07-31 18:34:27 +08:00
|
|
|
|
},
|
|
|
|
|
"register_ip": {
|
|
|
|
|
"bsonType": "string",
|
2020-10-31 18:26:14 +08:00
|
|
|
|
"description": "注册时 IP 地址",
|
|
|
|
|
"forceDefaultValue": {
|
2020-10-31 18:57:25 +08:00
|
|
|
|
"$env": "clientIP"
|
2020-10-31 18:26:14 +08:00
|
|
|
|
}
|
2020-07-31 18:34:27 +08:00
|
|
|
|
},
|
|
|
|
|
"last_login_date": {
|
|
|
|
|
"bsonType": "timestamp",
|
|
|
|
|
"description": "最后登录时间"
|
|
|
|
|
},
|
|
|
|
|
"last_login_ip": {
|
|
|
|
|
"bsonType": "string",
|
|
|
|
|
"description": "最后登录时 IP 地址"
|
2020-08-20 16:25:31 +08:00
|
|
|
|
},
|
|
|
|
|
"token": {
|
|
|
|
|
"bsonType": "array",
|
|
|
|
|
"description": "用户token"
|
|
|
|
|
},
|
|
|
|
|
"inviter_uid": {
|
|
|
|
|
"bsonType": "array",
|
2020-12-23 20:20:34 +08:00
|
|
|
|
"description": "用户全部上级邀请者",
|
|
|
|
|
"trim":"both"
|
2020-08-20 16:25:31 +08:00
|
|
|
|
},
|
|
|
|
|
"my_invite_code": {
|
|
|
|
|
"bsonType": "string",
|
|
|
|
|
"description": "用户自身邀请码"
|
2020-07-31 18:34:27 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"data": [],
|
2020-10-31 18:26:14 +08:00
|
|
|
|
"index": [{
|
2020-09-23 20:58:34 +08:00
|
|
|
|
"IndexName": "username",
|
|
|
|
|
"MgoKeySchema": {
|
2020-10-31 18:26:14 +08:00
|
|
|
|
"MgoIndexKeys": [{
|
|
|
|
|
"Name": "username",
|
|
|
|
|
"Direction": "1"
|
|
|
|
|
}],
|
2020-11-03 13:26:23 +08:00
|
|
|
|
"MgoIsUnique": false
|
2020-09-23 20:58:34 +08:00
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"IndexName": "mobile",
|
|
|
|
|
"MgoKeySchema": {
|
2020-10-31 18:26:14 +08:00
|
|
|
|
"MgoIndexKeys": [{
|
|
|
|
|
"Name": "mobile",
|
|
|
|
|
"Direction": "1"
|
|
|
|
|
}],
|
2020-11-03 13:26:23 +08:00
|
|
|
|
"MgoIsUnique": false
|
2020-09-23 20:58:34 +08:00
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"IndexName": "email",
|
|
|
|
|
"MgoKeySchema": {
|
2020-10-31 18:26:14 +08:00
|
|
|
|
"MgoIndexKeys": [{
|
|
|
|
|
"Name": "email",
|
|
|
|
|
"Direction": "1"
|
|
|
|
|
}],
|
2020-11-03 13:26:23 +08:00
|
|
|
|
"MgoIsUnique": false
|
2020-09-23 20:58:34 +08:00
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"IndexName": "wx_openid.app-plus",
|
|
|
|
|
"MgoKeySchema": {
|
2020-10-31 18:26:14 +08:00
|
|
|
|
"MgoIndexKeys": [{
|
|
|
|
|
"Name": "wx_openid.app-plus",
|
|
|
|
|
"Direction": "1"
|
|
|
|
|
}],
|
2020-09-23 20:58:34 +08:00
|
|
|
|
"MgoIsUnique": false
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"IndexName": "wx_openid.mp-weixin",
|
|
|
|
|
"MgoKeySchema": {
|
2020-10-31 18:26:14 +08:00
|
|
|
|
"MgoIndexKeys": [{
|
|
|
|
|
"Name": "wx_openid.mp-weixin",
|
|
|
|
|
"Direction": "1"
|
|
|
|
|
}],
|
2020-09-23 20:58:34 +08:00
|
|
|
|
"MgoIsUnique": false
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"IndexName": "wx_unionid",
|
|
|
|
|
"MgoKeySchema": {
|
2020-10-31 18:26:14 +08:00
|
|
|
|
"MgoIndexKeys": [{
|
|
|
|
|
"Name": "wx_unionid",
|
|
|
|
|
"Direction": "1"
|
|
|
|
|
}],
|
2020-09-23 20:58:34 +08:00
|
|
|
|
"MgoIsUnique": false
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"IndexName": "ali_openid",
|
|
|
|
|
"MgoKeySchema": {
|
2020-10-31 18:26:14 +08:00
|
|
|
|
"MgoIndexKeys": [{
|
|
|
|
|
"Name": "ali_openid",
|
|
|
|
|
"Direction": "1"
|
|
|
|
|
}],
|
2020-09-23 20:58:34 +08:00
|
|
|
|
"MgoIsUnique": false
|
2021-01-18 13:28:20 +08:00
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"IndexName": "apple_openid",
|
|
|
|
|
"MgoKeySchema": {
|
|
|
|
|
"MgoIndexKeys": [{
|
|
|
|
|
"Name": "apple_openid",
|
|
|
|
|
"Direction": "1"
|
|
|
|
|
}],
|
|
|
|
|
"MgoIsUnique": false
|
2020-09-23 20:58:34 +08:00
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"IndexName": "my_invite_code",
|
|
|
|
|
"MgoKeySchema": {
|
2020-10-31 18:26:14 +08:00
|
|
|
|
"MgoIndexKeys": [{
|
|
|
|
|
"Name": "my_invite_code",
|
|
|
|
|
"Direction": "1"
|
|
|
|
|
}],
|
2020-09-23 20:58:34 +08:00
|
|
|
|
"MgoIsUnique": false
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"IndexName": "inviter_uid",
|
|
|
|
|
"MgoKeySchema": {
|
2020-10-31 18:26:14 +08:00
|
|
|
|
"MgoIndexKeys": [{
|
|
|
|
|
"Name": "inviter_uid",
|
|
|
|
|
"Direction": "1"
|
|
|
|
|
}],
|
2020-09-23 20:58:34 +08:00
|
|
|
|
"MgoIsUnique": false
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"IndexName": "invite_time",
|
|
|
|
|
"MgoKeySchema": {
|
2020-10-31 18:26:14 +08:00
|
|
|
|
"MgoIndexKeys": [{
|
|
|
|
|
"Name": "invite_time",
|
|
|
|
|
"Direction": "1"
|
|
|
|
|
}],
|
2020-09-23 20:58:34 +08:00
|
|
|
|
"MgoIsUnique": false
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"IndexName": "role",
|
|
|
|
|
"MgoKeySchema": {
|
2020-10-31 18:26:14 +08:00
|
|
|
|
"MgoIndexKeys": [{
|
|
|
|
|
"Name": "role",
|
|
|
|
|
"Direction": "1"
|
|
|
|
|
}],
|
2020-09-23 20:58:34 +08:00
|
|
|
|
"MgoIsUnique": false
|
|
|
|
|
}
|
2021-01-10 10:22:57 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"IndexName": "department",
|
|
|
|
|
"MgoKeySchema": {
|
|
|
|
|
"MgoIndexKeys": [{
|
|
|
|
|
"Name": "department_id",
|
|
|
|
|
"Direction": "1"
|
|
|
|
|
}],
|
|
|
|
|
"MgoIsUnique": false
|
|
|
|
|
}
|
|
|
|
|
}
|
2020-09-23 20:58:34 +08:00
|
|
|
|
]
|
2020-10-31 18:26:14 +08:00
|
|
|
|
}
|