Files
vtubermini/Requirement-Breakdown.mmd
km2023 4ad8e7cbec chore: 初始化仓库,配置 Git LFS 管理大素材
- git init (分支 main) + remote origin → gitea comi-logic/vtubermini
- 根级 .gitignore 排除 node_modules/dist/android-build/releases(APK)/日志/.codex-logs
- .gitattributes 用 Git LFS 跟踪 *.png/*.mp4 等媒体(141 个文件)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 11:19:40 +08:00

132 lines
5.2 KiB
Plaintext

flowchart TD
%% VTuber Mini requirements breakdown for product/dev communication.
user["粉丝用户"]
operator["运营人员"]
subgraph frontend["前台 App 需求"]
shell["App 壳与登录<br/>Android 优先 / React + Capacitor<br/>5 个底部 Tab"]
home["首页<br/>主播主题视觉 / 资产摘要 / 公告<br/>宠物、抽卡、商城、纪念日入口"]
pet["宠物小屋<br/>每日看小狗 / 喂食 / 抚摸 / 清洁 / 玩耍<br/>每日积分上限 80 / 亲密等级 / 连续照顾"]
gacha["抽卡与卡册<br/>卡池版本 / 概率公示 / 单抽 / 十连<br/>保底 / 重复卡转换 / 抽卡日志 / 卡册"]
shop["钻石商城与订单<br/>商品列表 / 商品详情 / 收货信息<br/>库存校验 / 兑换订单 / 物流与售后状态"]
anniversary["纪念日<br/>入团时间 / 主播生日 / 开播周年<br/>自定义纪念日 / 提醒设置"]
my["我的与支持<br/>资产流水 / 抽卡记录 / 订单入口<br/>规则协议 / 通知中心 / 客服申诉"]
end
subgraph admin["后台工坊需求"]
adminUser["用户与资产管理<br/>积分、钻石发放必须填原因"]
adminPool["卡牌与卡池管理<br/>卡池版本不可覆盖历史"]
adminShop["商城与订单管理<br/>商品库存 / 上下架 / 发货状态"]
adminAnniv["纪念日配置<br/>主播生日 / 开播周年 / 主题图 / 活动入口"]
audit["审计日志<br/>操作人 / 时间 / 对象 / 原因 / 业务编号"]
end
subgraph backend["服务端与数据需求"]
api["API 契约<br/>统一 ServiceResponse<br/>错误码与可读错误信息"]
asset["资产可信结算<br/>points / diamonds / shards<br/>余额以后端为准,所有变更写流水"]
petRules["宠物规则服务<br/>每日次数 / 每日上限 / 完成奖励<br/>亲密等级、连续天数服务端计算"]
gachaRules["抽卡规则服务<br/>概率配置 / 保底 / 结果生成<br/>扣款、发卡、日志同事务"]
shopRules["商城兑换服务<br/>余额 / 库存 / 地址校验<br/>扣款、锁库存、生成订单同事务"]
annivRules["纪念日服务<br/>本人数据权限 / 提醒任务 / 系统纪念日配置"]
risk["风控与合规<br/>幂等 / 防重复提交 / PII 脱敏<br/>概率公示 / 未成年人提示 / 审计"]
end
subgraph delivery["构建与交付"]
webBuild["Web 构建<br/>npm.cmd run lint<br/>npm.cmd run build"]
android["Android 打包<br/>Capacitor Android 工程<br/>需 JDK / Android SDK / adb / Gradle"]
apk["Debug APK<br/>环境补齐后 cap sync 并构建"]
end
subgraph agents["建议并行开发分工"]
agentA["Agent A 前台基础<br/>App 壳 / 首页 / 我的 / 规则 / 通知"]
agentB["Agent B 宠物积分<br/>宠物小屋 / 每日任务 / 积分流水"]
agentC["Agent C 抽卡收藏<br/>卡池 / 抽卡 / 卡册 / 日志"]
agentD["Agent D 商城订单<br/>钻石钱包 / 商城 / 订单 / 库存"]
agentE["Agent E 纪念日<br/>入团时间 / 系统纪念日 / 自定义提醒"]
agentF["Agent F 后台服务<br/>后台工坊 / API 契约 / 审计 / 风控"]
agentG["Agent G 构建交付<br/>Capacitor / Android 环境 / APK"]
end
subgraph openQuestions["开发前必须确认"]
q1["宠物奖励到底发积分还是钻石?<br/>每日 80 上限约束哪种资产?"]
q2["商城兑换到底扣钻石还是积分?<br/>diamondPrice 字段是否需要修正?"]
q3["喂食是否和其他互动一样受每日次数与上限限制?"]
q4["抽卡是否需要真实随机、种子审计、概率快照与保底继承?"]
q5["订单是否需要取消、退款、售后、物流单号、地址修改窗口?"]
q6["后台发放是否需要审批流?<br/>目前审计状态字段已预留 pending/approved/rejected"]
end
user --> shell
shell --> home
shell --> pet
shell --> gacha
shell --> shop
shell --> my
home --> anniversary
my --> anniversary
operator --> adminUser
operator --> adminPool
operator --> adminShop
operator --> adminAnniv
adminUser --> audit
adminPool --> audit
adminShop --> audit
adminAnniv --> audit
shell --> api
home --> api
pet --> petRules
gacha --> gachaRules
shop --> shopRules
anniversary --> annivRules
my --> api
adminUser --> asset
petRules --> asset
gachaRules --> asset
shopRules --> asset
adminPool --> gachaRules
adminShop --> shopRules
adminAnniv --> annivRules
api --> asset
asset --> risk
petRules --> risk
gachaRules --> risk
shopRules --> risk
annivRules --> risk
audit --> risk
frontend --> webBuild
admin --> webBuild
backend --> webBuild
webBuild --> android
android --> apk
agentA -.负责.-> shell
agentA -.负责.-> home
agentA -.负责.-> my
agentB -.负责.-> pet
agentB -.协作.-> petRules
agentC -.负责.-> gacha
agentC -.协作.-> gachaRules
agentD -.负责.-> shop
agentD -.协作.-> shopRules
agentE -.负责.-> anniversary
agentE -.协作.-> annivRules
agentF -.负责.-> admin
agentF -.负责.-> backend
agentG -.负责.-> delivery
q1 -.阻塞.-> petRules
q1 -.影响.-> asset
q2 -.阻塞.-> shopRules
q2 -.影响.-> asset
q3 -.阻塞.-> petRules
q4 -.影响.-> gachaRules
q5 -.影响.-> shopRules
q6 -.影响.-> adminUser
q6 -.影响.-> audit