CatCat/Cat需求文档.md
2026-02-09 16:08:55 +08:00

120 lines
8.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 《Draw a Cat 小程序复刻项目需求规格说明书》
## V1.0 版本
文档目的:明确小程序复刻 Draw a Fish 网站的核心目标、功能范围、技术要求、交互规范及上线标准,为产品设计、开发、测试及验收提供统一依据。
适用范围产品经理、前端开发、后端开发、测试工程师、UI设计师及项目相关负责人。
核心目标:复刻 Draw a Fish 网站“手绘猫+AI识别+虚拟猫咖互动”核心玩法适配微信小程序生态实现无门槛创作、AI实时识别、动态跑动、全球/个人猫咖互动功能,兼顾易用性与性能稳定性。
# 一、项目基础信息
## 1.1 产品名称
手绘猫乐园(暂定名,可优化调整)
## 1.2 产品定位
免费、无门槛的微信小程序,主打 AI 互动手绘体验,面向全年龄段用户,提供“画猫-识别-领养-互动”的完整流程,兼具创意释放与轻社交属性。
## 1.3 核心参考
复刻原型Draw a Fish 官网https://drawafish.com/),核心功能及交互逻辑对齐原网站,适配小程序操作习惯做本土化调整。
# 二、核心功能需求
## 2.1 手绘画布模块
### 2.1.1 基础绘图功能
- 支持画笔粗细调节:提供 3-5 档可选(建议范围 2px-10px默认中等粗细5px
- 支持颜色选择:至少提供 7 种基础颜色(红、橙、黄、绿、蓝、紫、黑),默认红色,选中颜色有明显视觉标识。
- 支持橡皮擦功能:切换橡皮擦模式后,可清除画布内容,橡皮擦粗细固定为 20px适配手绘场景便于快速修正
- 支持清空画布:提供“清空”按钮,点击后弹出二次确认提示,确认后清除全部绘制内容,恢复初始画布状态。
### 2.1.2 画布交互优化
- 画布尺寸:适配手机屏幕,建议宽 300-350px高 400-450px居中展示周边预留工具栏空间。
- 绘制体验触摸绘制线条流畅无卡顿、断点线条端点圆润lineCap 设为 round提升手绘质感。
- 实时反馈:画布背景随绘制过程实时轻微变色(参考原网站效果),给予用户视觉反馈。
## 2.2 AI 猫形识别模块
### 2.2.1 识别核心逻辑
- 实时计算相似度绘制过程中AI 实时判断手绘内容与“猫形”的相似度以百分比0%-100%)展示在画布底部,保留一位小数。
- 识别阈值:相似度 ≥ 60% 时“生成跑动猫”按钮激活60% 时按钮置灰,提示“再画一画更像猫哦”。
- 识别优化:优先识别“猫头朝右”的绘制内容(参考原网站规则),提升识别准确率;支持不同风格手绘猫(简笔画、卡通等)。
### 2.2.2 识别结果处理
- 达标反馈相似度达标后背景色定格为明亮色调按钮文案为“Make it Run!(生成跑动猫)”,点击后进入猫名输入环节。
- 不达标反馈:相似度持续低于 60% 时,提示用户调整绘制内容(如“尝试画完整的猫头和猫身”)。
## 2.3 动态猫生成与跑动模块
### 2.3.1 猫信息设置
- 猫名输入:识别达标后,弹出输入框,允许用户输入猫名(限 1-10 个字符支持中英文、数字禁止特殊符号默认生成随机名称如“小猫XXX”
- 确认提交:输入猫名后点击“确认领养”,将手绘猫转为动态跑动效果,同时保存至数据库。
### 2.3.2 跑动动画效果
- 动画逻辑:保留手绘猫的原始轮廓、颜色,实现左右跑动、轻微摆尾摆耳的动态效果,跑动速度均匀(可微调,避免过快/过慢)。
- 边界处理:猫跑动至画布边缘时,平滑穿越边界从另一侧出现,循环跑动,无卡顿、跳跃。
- 视觉优化:动态猫带有轻微阴影效果,提升层次感,与猫咖背景区分开。
## 2.4 猫咖互动模块
### 2.4.1 全球猫咖
- 作品展示:默认进入全球猫咖页面,展示所有用户提交的动态猫,按提交时间倒序排列,最多同时展示 20 只猫(避免性能压力),支持下拉刷新加载更多。
- 互动功能:每只猫下方显示猫名、相似度、点赞数,支持用户点击“点赞”“点踩”(同一用户对同一只猫仅可操作一次),点赞数实时更新。
- 排行榜提供“热门猫排行榜”入口按点赞数倒序排列展示Top50作品显示猫名、作者匿名/昵称)、点赞数、相似度。
### 2.4.2 个人猫咖(需登录)
- 登录方式支持微信一键授权登录获取用户OpenID作为唯一标识无需注册额外账号。
- 作品管理:个人猫咖页面展示当前用户提交的所有猫作品,支持查看详情(猫名、创建时间、相似度、点赞数)、删除作品。
- 收藏功能:支持收藏全球猫咖中的优质作品,收藏后在个人中心“我的收藏”中查看。
## 2.5 个人中心模块
- 基础信息:展示用户头像(微信授权头像)、昵称(微信授权昵称),支持修改昵称(限 1-8 个字符)。
- 作品统计:显示用户累计提交猫作品数量、总点赞数、收藏数量。
- 功能入口:提供“我的作品”“我的收藏”“热门排行榜”“关于我们”入口。
- 帮助中心:包含“画猫技巧”“识别规则”“常见问题”,指导用户使用(如“猫头朝右更易通过识别”)。
## 易用性需求
- 无门槛操作:无需登录即可完成“画猫-识别-领养”核心流程,登录仅用于个人作品管理、收藏功能。
- 视觉引导:工具栏图标、按钮文案清晰,操作流程有明确视觉引导(如颜色选中标识、按钮状态变化),新手用户可快速上手。
- 错误提示:操作错误(如输入非法字符、识别失败)时,提示文案简洁易懂,给出解决方案。
## 4.3 兼容性需求
- 设备兼容:适配 iOS、Android 主流手机机型,不同屏幕尺寸下画布、工具栏布局自适应,无变形、错位。
- 微信版本兼容:支持微信 7.0.0 及以上版本,低版本提示用户升级微信。
## 4.4 可维护性需求
- 代码规范前后端代码遵循行业规范添加必要注释便于后期迭代、bug 修复。
- 接口设计:后端接口统一规范,预留扩展字段,便于后续新增功能(如分享、评论)。
- 日志记录:后端记录关键操作日志(用户登录、作品提交、识别结果、报错信息),便于问题排查。
# 五、交互与UI需求
## 5.1 整体风格
延续原网站极简、清新风格,主色调采用暖色系(贴合猫的柔软温馨主题),辅助色为白色、浅灰色,避免复杂装饰,聚焦手绘与互动功能。
## 5.2 核心页面交互
- 首页:默认展示“手绘画布”模块,顶部为标题,底部为工具栏(颜色、粗细、橡皮擦、清空),画布下方显示相似度及激活按钮。
- 猫咖页面:顶部为“全球猫咖/个人猫咖”切换标签,中间为动态猫展示区域,底部为“返回手绘”“排行榜”按钮。
- 个人中心:采用列表式布局,各功能入口清晰,图标与文字搭配,视觉简洁统一。
## 5.3 反馈交互
- 操作反馈:按钮点击有触觉反馈(微信原生震动),加载状态显示加载动画(如转圈图标),避免用户重复操作。
- 结果反馈:点赞、删除、提交作品后,实时显示反馈文案(如“点赞成功”“作品已删除”),持续 1-2 秒后消失。
# 六、上线与验收标准
## 6.1 上线前置条件
- 功能完整性所有核心功能实现无缺失、无严重bug致命、严重级别bug为0
- 性能达标:启动速度、绘制流畅度、响应时间符合本需求文档要求。
- 合规性:通过微信小程序审核,内容审核机制正常运行,无隐私合规风险。
- 测试验收:完成功能测试、兼容性测试、性能测试,测试报告合格。
## 6.2 验收核心指标
- 功能指标:手绘、识别、跑动、猫咖互动、个人中心功能均正常运行,操作流程无阻塞。
- 性能指标启动速度、绘制流畅度、AI识别响应时间达标并发场景下无异常。
- 兼容性指标:在指定机型、微信版本下,页面布局、功能无异常,无闪退、卡顿。
- 用户体验:新手用户可在 1 分钟内完成“画猫-识别-领养”全流程,操作无困惑。
# 七、迭代规划(可选)
## V1.0 版本(核心功能版)
实现手绘、AI 模板匹配识别、动态跑动、全球猫咖、个人猫咖基础功能,满足核心玩法。
## V1.1 版本(优化升级版)
升级 AI 识别模型EasyDL新增作品分享微信好友、朋友圈、评论功能优化动画效果。
## V1.2 版本(功能扩展版)
新增猫皮肤、道具系统,支持用户自定义猫的装饰;新增主题猫咖,提升社交互动性。