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

用户中心

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)
  • 单元测试与接口测试覆盖

如需详细到每个接口的参数、返回值、流程图或数据库表结构设计,请告知!