Add registration, login, and logout flows with session management Integrate Resend for email verification tokens Create frontend auth views and update topbar state
132 lines
2.6 KiB
Markdown
132 lines
2.6 KiB
Markdown
# Pokopia Wiki
|
||
|
||
## 技术栈
|
||
|
||
- 后端:Postgresql
|
||
- 前端:Vue
|
||
- 运维:Docker
|
||
都要用最新的框架
|
||
|
||
# 功能描述
|
||
|
||
- 一个具有社区功能的 Pokopia 游戏 Wiki
|
||
|
||
## 数据
|
||
|
||
Pokemon 可配置:
|
||
- ID
|
||
- 名字
|
||
- 特长(可多选,最多 2 个)
|
||
- 喜欢的环境(单选)
|
||
- 喜欢的东西(可多选,最多 6 个)
|
||
- 出现的栖息地(可多选)
|
||
|
||
特长 可配置:
|
||
- 名称
|
||
- 二级分类(可空,用于给乱撒这类特长做二级分类)
|
||
Eg: 名称:乱撒,二级分类:棉花
|
||
|
||
喜欢的环境 可配置:
|
||
- 名称
|
||
|
||
喜欢的东西(标签) 可配置:
|
||
- 名称
|
||
|
||
物品 可配置:
|
||
- 名称
|
||
- 分类
|
||
- 用途
|
||
- 入手方式(可多选)
|
||
- 客制化:
|
||
- 可染色
|
||
- 可双区染色
|
||
- 可改花纹
|
||
- 标签(多选)
|
||
|
||
材料单 可配置:
|
||
- 名称
|
||
- 入手方式(可多选)
|
||
- 需要材料(可多样,多数量)
|
||
|
||
物品 / 材料单分类:
|
||
- 名称
|
||
|
||
物品 / 材料单用途:
|
||
- 名称
|
||
|
||
入手方式 可配置:
|
||
- 名称
|
||
|
||
地图:
|
||
- 名称
|
||
|
||
栖息地:
|
||
- 名称
|
||
- 配方(物品,数量)
|
||
- 可出现的宝可梦(可多选)
|
||
|
||
出现契机
|
||
- 时间:早晨 / 中午 / 傍晚 / 晚上
|
||
- 天气:晴天 / 阴天 / 雨天
|
||
- 稀有度:1 ~ 3 星
|
||
- 地图关联
|
||
|
||
## 功能
|
||
|
||
- Pokemon 列表
|
||
- 搜索
|
||
- 筛选
|
||
- 特长(可多选,满足任意条件 / 满足全部条件)
|
||
- 喜欢的环境
|
||
- 喜欢的东西(可多选,满足任意条件 / 满足全部条件)
|
||
- Pokemon 详情页
|
||
- 特长
|
||
- 喜欢的环境
|
||
- 喜欢的东西
|
||
- 栖息地
|
||
- 栖息地列表
|
||
- 栖息地详情页
|
||
- 配方列表
|
||
- 可能出现的宝可梦列表
|
||
- 出现时间
|
||
- 出现天气
|
||
- 稀有度
|
||
- 出现的地图列表
|
||
- 物品 / 材料单列表
|
||
- 根据分类显示(标签页)
|
||
- 筛选
|
||
- 用途
|
||
- 标签
|
||
- 物品详情页
|
||
- 基本信息
|
||
- 用途
|
||
- 入手方式
|
||
- 自定义
|
||
- 可染色
|
||
- 可双区染色
|
||
- 可改花纹
|
||
- 材料单信息
|
||
- 入手方式
|
||
- 需要材料列表
|
||
- 标签
|
||
- 相关栖息地
|
||
- 材料单详情页
|
||
- 基本信息
|
||
- 入手方式
|
||
- 需要材料列表
|
||
|
||
## 用户系统
|
||
|
||
- 用户可注册
|
||
- 邮箱
|
||
- 显示名
|
||
- 密码
|
||
- 用户注册后需要通过邮箱验证
|
||
- 使用 Resend 发送验证邮件
|
||
- 邮件内包含验证链接
|
||
- 用户可登录
|
||
- 仅允许已验证邮箱的用户登录
|
||
- 登录后可获取当前用户信息
|
||
- 用户可退出登录
|
||
- API 只返回必要用户字段,不暴露密码、验证 token、会话 token 哈希或内部元数据
|