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