You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4.7 KiB
4.7 KiB
用户中心
1. 功能模块
-
用户注册与登录
- 支持邮箱、手机号注册
- 支持用户名/手机号/邮箱+密码登录
- 支持验证码登录
- 支持第三方登录(如微信、QQ、钉钉、GitHub 等)
-
用户信息管理
- 个人信息查看与修改(昵称、头像、联系方式等)
- 密码修改
- 绑定/解绑第三方账号
- 实名认证(可选)
-
权限与角色管理
- 用户分组与角色分配
- 权限点管理
- 角色权限分配
- 支持多租户
-
安全与认证
- JWT Token 认证
- Session 管理
- 登录日志与安全审计
- 登录设备管理
- 密码找回与重置(邮箱/短信验证码)
-
用户状态管理
- 启用/禁用用户
- 注销/删除账号
- 黑名单管理
-
通知与消息
- 站内信
- 邮件/短信通知
- 消息推送
2. 数据库设计(简要)
- 用户表(users)
- 用户扩展信息表(user_profiles)
- 角色表(roles)
- 权限表(permissions)
- 用户-角色关联表(user_roles)
- 角色-权限关联表(role_permissions)
- 第三方账号表(user_oauth)
- 登录日志表(login_logs)
3. API 设计
用户注册与登录
- POST
/api/user/register
用户注册 - POST
/api/user/login
用户登录 - POST
/api/user/login/code
验证码登录 - POST
/api/user/login/oauth
第三方登录 - POST
/api/user/logout
用户登出
用户信息管理
- GET
/api/user/profile
获取个人信息 - PUT
/api/user/profile
修改个人信息 - POST
/api/user/password/change
修改密码 - POST
/api/user/password/reset
密码重置 - POST
/api/user/bind_oauth
绑定第三方账号 - POST
/api/user/unbind_oauth
解绑第三方账号 - POST
/api/user/verify_identity
实名认证
权限与角色管理
- GET
/api/user/roles
获取当前用户角色 - GET
/api/user/permissions
获取当前用户权限点 - GET
/api/roles
获取所有角色列表 - POST
/api/role
新增角色 - POST
/api/role/assign
分配角色给用户 - GET
/api/permissions
获取所有权限点 - POST
/api/permission
新增权限点 - POST
/api/role/permission/assign
分配权限点给角色
安全与认证
- GET
/api/user/login_logs
获取登录日志 - GET
/api/user/devices
获取登录设备列表 - POST
/api/user/device/logout
注销指定设备 - POST
/api/user/blacklist/add
加入黑名单 - POST
/api/user/blacklist/remove
移除黑名单
用户状态管理
- POST
/api/user/enable
启用用户 - POST
/api/user/disable
禁用用户 - POST
/api/user/delete
注销/删除账号
通知与消息
- GET
/api/user/messages
获取站内信列表 - POST
/api/user/message/read
标记消息为已读 - GET
/api/user/notifications
获取通知列表
多租户支持(Multi-Tenancy)
1. 租户管理
-
GET
/api/tenants
租户列表(分页、条件查询) -
POST
/api/tenants
新增租户 -
GET
/api/tenants/{id}
获取租户详情 -
POST
/api/tenants/{id}/update
修改租户信息 -
POST
/api/tenants/{id}/delete
删除租户 -
POST
/api/tenants/import
批量导入租户 -
GET
/api/tenants/export
租户数据导出
2. 租户下的用户与资源
-
GET
/api/tenants/{tenant_id}/users
获取租户下用户列表(分页) -
POST
/api/tenants/{tenant_id}/users/batch
批量新增租户用户 -
GET
/api/tenants/{tenant_id}/roles
获取租户下角色列表 -
POST
/api/tenants/{tenant_id}/roles/batch
批量新增租户角色 -
GET
/api/tenants/{tenant_id}/permissions
获取租户下权限点列表 -
其他资源(如机构、部门、日志等)均可按
/api/tenants/{tenant_id}/resource
方式设计
3. 用户与租户关系
-
GET
/api/users/{id}/tenants
获取用户所属租户列表 -
POST
/api/users/{id}/tenants/assign
分配用户到租户
Body: 租户 ID 数组
4. 说明
- 所有与租户相关的资源操作均以
/api/tenants/{tenant_id}/...
作为前缀,确保数据隔离。 - 超级管理员可管理所有租户,租户管理员仅能管理本租户下资源。
- 用户登录后,需带上当前租户 ID(如 Header:
X-Tenant-Id
)进行资源访问。
如需继续细化某一模块或添加其他接口,请随时告知!
4. 安全与合规
- 密码加密存储(如 bcrypt)
- 防止暴力破解(登录限流、验证码)
- 敏感操作二次验证
- 数据合规(如 GDPR,用户可导出/删除个人数据)
5. 其他建议
- 支持多语言
- 支持多终端(Web、App、小程序)
- 详细的接口文档(Swagger/OpenAPI)
- 单元测试与接口测试覆盖
如需详细到每个接口的参数、返回值、流程图或数据库表结构设计,请告知!