用户系统
用户系统是逍遥图库的基础模块,提供完整的用户注册、登录、个人中心功能。
用户注册
注册流程
- 点击「注册」按钮
- 填写注册信息:
- 用户名(唯一,3-20 字符)
- 邮箱(唯一,用于找回密码)
- 密码(至少 6 位)
- 点击「注册」完成
字段验证
| 字段 | 规则 |
|---|---|
| 用户名 | 3-20 字符,字母数字下划线 |
| 邮箱 | 有效邮箱格式,唯一 |
| 密码 | 至少 6 位 |
管理员账号
第一个注册的用户自动成为管理员。
用户登录
登录方式
- 用户名 + 密码
- 邮箱 + 密码
登录安全
- 密码错误 5 次锁定 15 分钟
- 支持「记住我」保持登录
- 会话超时自动退出
退出登录
点击头像菜单 →「退出登录」
个人中心
概览页
显示用户统计数据:
- 图片总数
- 相册总数
- 收藏总数
- 获得的点赞数
- 最近上传
我的图片
- 查看所有上传的图片
- 支持搜索和筛选
- 批量操作(删除、移动)
我的相册
- 管理所有相册
- 创建/编辑/删除相册
- 设置相册封面和排序
我的收藏
- 查看收藏的图片
- 按时间或分类查看
- 取消收藏
通知中心
- 评论通知
- 点赞通知
- 收藏通知
- 系统通知
个人设置
基本信息
- 昵称 - 显示名称
- 头像 - 上传自定义头像
- 简介 - 个人介绍
- 性别 - 可选
- 生日 - 可选
联系方式
- 邮箱 - 登录和通知
- 手机 - 可选
修改密码
- 输入当前密码
- 输入新密码
- 确认新密码
- 点击保存
隐私设置
- 是否公开个人主页
- 是否允许他人查看收藏
- 是否接收通知邮件
用户主页
每个用户都有公开的个人主页:/user/{username}
主页内容
- 用户信息(头像、昵称、简介)
- 统计数据
- 公开的图片
- 公开的相册
关注功能
- 关注其他用户
- 查看关注列表
- 查看粉丝列表
用户等级
等级规则
| 等级 | 积分要求 | 特权 |
|---|---|---|
| Lv.1 新手 | 0 | 基础功能 |
| Lv.2 入门 | 100 | - |
| Lv.3 进阶 | 500 | - |
| Lv.4 高手 | 1000 | - |
| Lv.5 大师 | 5000 | - |
积分获取
| 操作 | 积分 |
|---|---|
| 每日登录 | +5 |
| 上传图片 | +10 |
| 获得点赞 | +2 |
| 获得收藏 | +5 |
| 优质评论 | +3 |
用户排行榜
排行类型
- 上传榜 - 上传图片最多
- 人气榜 - 获得点赞最多
- 活跃榜 - 互动最频繁
排行周期
- 日榜
- 周榜
- 月榜
- 总榜
API 接口
用户注册
POST /api/auth/register
Content-Type: application/json
{
"username": "user123",
"email": "user@example.com",
"password": "password123"
}
用户登录
POST /api/auth/login
Content-Type: application/json
{
"username": "user123",
"password": "password123"
}
获取用户信息
GET /api/auth/user
Authorization: Bearer {token}
更新个人资料
PUT /api/auth/profile
Content-Type: application/json
{
"nickname": "新昵称",
"bio": "个人简介"
}
修改密码
PUT /api/auth/password
Content-Type: application/json
{
"old_password": "旧密码",
"new_password": "新密码"
}
获取用户主页
GET /api/users/{username}
安全措施
密码安全
- 使用 bcrypt 加密存储
- 不可逆,不可查看明文
- 支持密码强度检测
会话安全
- Token 有效期 7 天
- 支持多设备登录
- 可以踢出其他设备
防暴力破解
- 登录错误次数限制
- IP 封禁机制
- 验证码保护
