Drop subcategory column from database schema and update constraints Remove subcategory handling from backend queries and API endpoints Clean up frontend components and admin views to reflect the change
138 lines
2.8 KiB
Markdown
138 lines
2.8 KiB
Markdown
# Pokopia Wiki
|
||
|
||
## 技术栈
|
||
|
||
- 后端:Postgresql
|
||
- 前端:Vue
|
||
- 运维:Docker
|
||
都要用最新的框架
|
||
|
||
# 功能描述
|
||
|
||
- 一个具有社区功能的 Pokopia 游戏 Wiki
|
||
|
||
## 数据
|
||
|
||
Pokemon 可配置:
|
||
- ID
|
||
- 名字
|
||
- 特长(可多选,最多 2 个)
|
||
- 喜欢的环境(单选)
|
||
- 喜欢的东西(可多选,最多 6 个)
|
||
- 出现的栖息地(可多选)
|
||
|
||
特长 可配置:
|
||
- 名称
|
||
|
||
喜欢的环境 可配置:
|
||
- 名称
|
||
|
||
喜欢的东西(标签) 可配置:
|
||
- 名称
|
||
|
||
物品 可配置:
|
||
- 名称
|
||
- 分类
|
||
- 用途
|
||
- 入手方式(可多选)
|
||
- 客制化:
|
||
- 可染色
|
||
- 可双区染色
|
||
- 可改花纹
|
||
- 标签(多选)
|
||
|
||
材料单 可配置:
|
||
- 名称
|
||
- 入手方式(可多选)
|
||
- 需要材料(可多样,多数量)
|
||
|
||
物品 / 材料单分类:
|
||
- 名称
|
||
|
||
物品 / 材料单用途:
|
||
- 名称
|
||
|
||
入手方式 可配置:
|
||
- 名称
|
||
|
||
地图:
|
||
- 名称
|
||
|
||
栖息地:
|
||
- 名称
|
||
- 配方(物品,数量)
|
||
- 可出现的宝可梦(可多选)
|
||
|
||
出现契机
|
||
- 时间:早晨 / 中午 / 傍晚 / 晚上
|
||
- 天气:晴天 / 阴天 / 雨天
|
||
- 稀有度:1 ~ 3 星
|
||
- 地图关联
|
||
|
||
## 功能
|
||
|
||
- Pokemon 列表
|
||
- 搜索
|
||
- 筛选
|
||
- 特长(可多选,满足任意条件 / 满足全部条件)
|
||
- 喜欢的环境
|
||
- 喜欢的东西(可多选,满足任意条件 / 满足全部条件)
|
||
- Pokemon 详情页
|
||
- 特长
|
||
- 喜欢的环境
|
||
- 喜欢的东西
|
||
- 栖息地
|
||
- 栖息地列表
|
||
- 栖息地详情页
|
||
- 配方列表
|
||
- 可能出现的宝可梦列表
|
||
- 出现时间
|
||
- 出现天气
|
||
- 稀有度
|
||
- 出现的地图列表
|
||
- 物品 / 材料单列表
|
||
- 根据分类显示(标签页)
|
||
- 筛选
|
||
- 用途
|
||
- 标签
|
||
- 物品详情页
|
||
- 基本信息
|
||
- 用途
|
||
- 入手方式
|
||
- 自定义
|
||
- 可染色
|
||
- 可双区染色
|
||
- 可改花纹
|
||
- 材料单信息
|
||
- 入手方式
|
||
- 需要材料列表
|
||
- 标签
|
||
- 相关栖息地
|
||
- 材料单详情页
|
||
- 基本信息
|
||
- 入手方式
|
||
- 需要材料列表
|
||
|
||
## 用户系统
|
||
|
||
- 用户可注册
|
||
- 邮箱
|
||
- 显示名
|
||
- 密码
|
||
- 用户注册后需要通过邮箱验证
|
||
- 使用 Resend 发送验证邮件
|
||
- 邮件内包含验证链接
|
||
- 用户可登录
|
||
- 仅允许已验证邮箱的用户登录
|
||
- 登录后可获取当前用户信息
|
||
- 用户可退出登录
|
||
- API 只返回必要用户字段,不暴露密码、验证 token、会话 token 哈希或内部元数据
|
||
|
||
## Community 编辑
|
||
|
||
- 所有人都可浏览 Wiki 内容
|
||
- 已注册并完成邮箱验证的用户都可编辑 Wiki 内容
|
||
- 每次创建、修改、删除 Wiki 内容都需要记录编辑者
|
||
- Wiki 内容展示最后编辑者和最后编辑时间
|
||
- 编辑署名只展示必要用户信息,不暴露邮箱、token、hash 或内部元数据
|