用户系统
1. 管理员用户系统(Guard: admin)
| 功能 | 说明 |
|---|---|
| 管理员登录 | 支持用户名/邮箱/手机号登录,可选微信/Apple 授权登录 |
| Token 管理 | 刷新 Token、查看已签发 Token、销毁指定 Token |
| 管理员信息管理 | 查看和修改个人资料、上传头像 |
| 密码管理 | 修改密码、重置密码 |
| 状态管理 | 启用/禁用管理员账号 |
| 角色分配 | 为管理员分配角色(多对多) |
| 登录历史 | 记录管理员登录历史(IP、设备、浏览器) |
| 权限控制 | 基于 RBAC 的权限管理(spatie/laravel-permission v8) |
2. 前台用户系统(Guard: web)
| 功能 | 说明 |
|---|---|
| 用户注册 | 支持手机号/邮箱注册 |
| 用户认证 | 基于 Sanctum 的 Token 认证 |
| 用户信息管理 | 查看和修改个人资料(profile/extra 两张扩展表) |
| 头像管理 | 上传头像(multipart/form-data),服务端自动转换 WebP(质量 60),以用户 ID 命名并按分片目录存储,重复上传覆盖旧图;上传后派发 UserProfileUpdated 事件驱动完善资料任务 |
| 密码重置 | 通过邮箱/手机验证码重置密码 |
| 联系方式重置 | 通过验证码重置手机号/邮箱 |
| 用户状态管理 | 启用、禁用、冻结用户 |
| VIP会员系统 | 支持VIP会员延期功能 |
| 积分/金币系统 | 用户积分和金币流水管理(调整余额、查询流水) |
| 钱包系统 | 真实货币余额管理(余额查询、流水明细、充值、提现、冻结/解冻),记录层多态设计支持未来扩展至其他主体 |
| 实名认证 | 支持个人认证(姓名+身份证)和企业认证(营业执照+法人信息),多态认证记录,管理员审核通过/驳回,驳回原因字典化管理,认证有效期 3 年 |
| 第三方绑定 | 查询用户社交账号绑定记录(前台 GET /api/v1/user/socials + 后台 GET /admin/users/{id}/socials,openid/unionid 脱敏展示) |
| 登录历史 | 记录用户登录历史 |
| 用户分群 | 手动分群(人工打标/解标)与规则分群(基于规则 JSON 自动匹配),支持笛卡尔批量打标/解标、规则增量 diff 同步、异步任务跟踪与站内信通知,每日凌晨 2 点自动同步启用的规则分群 |
| 访问记录 | 多态访问埋点(记录一次访问 + 我的访问记录列表),用于 PV/UV 与"最近浏览"等业务场景;append-only 模型,无 updated_at、无 unique 约束 |
文档来源:PRD 第 3.1 节