@@ -0,0 +1,212 @@
|
||||
# 数学脑 · 产品描述
|
||||
|
||||
> 一个围绕数学的轻量级移动端兴趣社区 App | MVP v6.0
|
||||
|
||||
---
|
||||
|
||||
## 一、产品定位
|
||||
|
||||
**数学脑** 是一款面向 C 端用户的数学科普与兴趣社区 Web App。产品以 "让数学变得有趣" 为核心目标,融合短视频发现、知识卡片阅读、互动剧情游戏三大内容形态,通过 iPhone 移动端友好的设计,打造轻松使用、随时消费的数学兴趣入口。
|
||||
|
||||
**Slogan**:数学不是公式,是你理解世界的方式。
|
||||
|
||||
---
|
||||
|
||||
## 二、目标用户
|
||||
|
||||
| 用户画像 | 典型场景 |
|
||||
|----------|---------|
|
||||
| 初中/高中生 | 课后刷到一条3分钟视频,发现"原来数学跟手机、游戏、追番都有关" |
|
||||
| 大学生/研究生 | 跨专业了解"学数学对我专业有什么用" |
|
||||
| 职场人 | 碎片时间读一篇知识卡片,刷新认知 |
|
||||
| 文史爱好者 | 在互动小说中体验数学与武侠的跨界碰撞 |
|
||||
|
||||
核心需求:**轻量、有趣、不考试**——让用户在没有学习压力的环境下,重新认识数学的用处和美感。
|
||||
|
||||
---
|
||||
|
||||
## 三、四大功能模块
|
||||
|
||||
### 🟠 发现(视频流)
|
||||
|
||||
> **发现 · 值得一看的数学内容**
|
||||
|
||||
手机 App 风格的数学短视频发现页,类似主流视频/DISCOVERY 应用的交互。
|
||||
|
||||
**子导航**:
|
||||
- **推荐** — 双列瀑布流推荐视频
|
||||
- **热门** — 按热度排序
|
||||
- **专业分区** — 12 个学科图标网格
|
||||
|
||||
**12 个专业分区**:
|
||||
|
||||
| 专业 | 图标 |
|
||||
|------|------|
|
||||
| 人工智能 | 🤖 |
|
||||
| 计算机 | 💻 |
|
||||
| 电子信息 | 📡 |
|
||||
| 微电子 | 🔌 |
|
||||
| 机械工程 | ⚙️ |
|
||||
| 自动化 | 🦾 |
|
||||
| 能源动力 | 🔥 |
|
||||
| 化工材料 | 🧪 |
|
||||
| 生物医学 | 🧬 |
|
||||
| 经济管理 | 📊 |
|
||||
| 环境工程 | 🌱 |
|
||||
| 数学建模 | 📐 |
|
||||
|
||||
每个分区可点击进入该学科专属视频列表,共收录 **54 条**来自各学院志愿者提供的科普视频(占位数据)。
|
||||
|
||||
**顶部搜索栏**支持关键词搜索(标题、描述、作者、学科)。
|
||||
|
||||
---
|
||||
|
||||
### 🔵 知识(数学发现卡片流)
|
||||
|
||||
> **知识 · 数学发现**
|
||||
|
||||
非视频化的轻量数学知识发现 Feed,类似小红书/得到 App 卡片风格。
|
||||
|
||||
**组成**:
|
||||
- **每日 Hero 大卡** — 今日主题 + 统计概览
|
||||
- **横向滚动话题标签** — 统计陷阱、概率思维、几何直觉、逻辑悖论、数学模型、博弈策略、数列之美、混沌理论
|
||||
- **信息流卡片** — 6 个趣味数学主题,每个卡片包含:
|
||||
- 渐变色彩封面
|
||||
- 一个引人思考的「问题」
|
||||
- 知识标题 + 简明描述
|
||||
- 预估阅读时间
|
||||
- 点击可呼出 AI 助教深入探讨
|
||||
|
||||
**当前卡片内容**:
|
||||
- 被平均数骗过的所有人
|
||||
- 彩票:一场精心设计的数学税
|
||||
- 为什么所有地图都在骗你
|
||||
- 大自然最爱的数列(斐波那契)
|
||||
- 博弈论:竞争的最优解
|
||||
- 混沌理论:看不见的秩序
|
||||
|
||||
---
|
||||
|
||||
### 🟢 数学人生(互动剧情游戏)
|
||||
|
||||
> **数学人生 · 葫芦侠行**
|
||||
|
||||
基于原创小说《葫芦侠行》改编的 **视觉小说(Visual Novel)**,将数学精神融入武侠叙事。
|
||||
|
||||
**世界观**:北宋年间,紫金山下秉公习武堂。数学与武侠融合的独特江湖。玩家扮演葫芦侠从初入武堂到创立脑学数堂,经历教习、论道、陷害、审查、悟道——最终揭开真相。
|
||||
|
||||
**核心玩法**:
|
||||
|
||||
- **选择驱动剧情** — 每个关键节点 2-3 个选项
|
||||
- **四属性系统**:
|
||||
- 📐 数理根基 — 解锁高阶功法、影响论道胜负
|
||||
- ⚔️ 侠义声望 — 影响 NPC 态度和武林大会成绩
|
||||
- 🧘 心志韧性 — 面对挫折时的选择余地
|
||||
- 💕 好感度 — 与 8 位关键角色的关系(欧阳侠、Eddie侠、厚朴侠、三力思侠、溜溜侠、孔锝侠、星侠、甲亢侠)
|
||||
- **多结局** — 根据属性阈值和关键选择触发不同结局
|
||||
|
||||
**8 章完整剧情**:
|
||||
|
||||
| 章节 | 时间线 | 核心剧情 |
|
||||
|------|--------|---------|
|
||||
| 第一章·初入江湖 | 1022年秋 | 入门集训、结识好友、认识厚朴侠、红灰青蟹、瘟疫抉择 |
|
||||
| 第二章·西部教习 | 1023年春 | 武林大会队内赛、社牛挑战、姑苏城出游、常青藤支教 |
|
||||
| 第三章·数理论道 | 1023年秋 | 玎铧侠赠锦囊、组建堂口团队、跨学科访学 |
|
||||
| 第四章·脑学初创 | 1023年冬 | 地下石室建堂、招新大会、甲亢之辩、欧阳侠出海 |
|
||||
| 第五章·报国之路 | 1024年春 | 武林大会备战、常青藤精神入堂训、获最佳报国创新奖 |
|
||||
| 第六章·暗流涌动 | 1024年秋 | 流言陷害、监察会审查、龙场悟道、溜溜侠揭露身份 |
|
||||
| 第七章·陋室修炼 | 1024冬-1025秋 | 统计流三境修炼、黑衣人夜袭、罗素悖论 |
|
||||
| 第八章·真相之门 | 1025年秋 | 京城审查、宿老三招之约、周口店真相、何立导演现身 |
|
||||
|
||||
**8+ 种结局**:真相守望、数理宗师、逍遥江湖、出海远航、悲情英雄、堕落之路、冤狱、虚无……
|
||||
|
||||
**技术特性**:
|
||||
- 打字机效果逐字显示剧情
|
||||
- 选项按钮显示属性变化预览
|
||||
- 章节自动检测 + 徽章展示
|
||||
- localStorage 存档/读档/重置
|
||||
|
||||
---
|
||||
|
||||
### 🟣 我的(个人中心)
|
||||
|
||||
> **我的 · 个人中心**
|
||||
|
||||
按主流 App 格式设计的个人信息页。
|
||||
|
||||
**板块结构**:
|
||||
- **个人卡片** — 头像 + 昵称 + ID + 身份标签(紫色渐变背景)
|
||||
- **数据统计** — 已看内容、收藏专题、剧情存档(三栏数字)
|
||||
- **个人信息** — 昵称与头像、兴趣方向、学习偏好(菜单列表)
|
||||
- **我的内容** — 我的收藏、观看记录、数学人生存档
|
||||
- **更多** — 设置与帮助、意见反馈
|
||||
|
||||
---
|
||||
|
||||
## 四、AI 数学助教
|
||||
|
||||
集成 **DeepSeek** 大语言模型,在 App 任意位置可通过右上角按钮唤起对话。
|
||||
|
||||
**能力**:
|
||||
- 解释数学在各学科中的基础作用
|
||||
- 用生活化语言回答"学数学有什么用"
|
||||
- 知识卡片点击可一键追问
|
||||
|
||||
**交互**:
|
||||
- 气泡式对话界面
|
||||
- 快捷提问按钮(数学与医学 / 数学与建筑 / 数学与AI / 为什么要学)
|
||||
- 打字指示器动画
|
||||
|
||||
---
|
||||
|
||||
## 五、设计语言
|
||||
|
||||
### 移动端优先
|
||||
- 390px 宽度(iPhone 标准比例)
|
||||
- 100dvh 全屏高度 + safe-area 顶部/底部适配
|
||||
- 桌面端呈现为圆角设备壳效果(border-radius: 34px + 阴影)
|
||||
|
||||
### 底部 TabBar
|
||||
- 四个入口:发现 / 知识 / 数学人生 / 我的
|
||||
- 白色半透明玻璃感 + 毛玻璃模糊
|
||||
- CSS 伪元素绘制的简约图标
|
||||
- 激活态为对应模块主色的浅色高亮
|
||||
|
||||
### 色彩语义
|
||||
- 每个模块有独立主色,切换时全局 CSS 变量动态替换
|
||||
- 保证用户在四个模块间不会产生混淆
|
||||
|
||||
---
|
||||
|
||||
## 六、数据现状
|
||||
|
||||
| 数据 | 数量 | 说明 |
|
||||
|------|------|------|
|
||||
| 短视频 | 54 条 | 12 个专业分区,志愿者提供 |
|
||||
| 知识卡片 | 6 张 | 6 个数学趣味主题 |
|
||||
| 话题标签 | 8 个 | 横向滚动可筛选 |
|
||||
| 互动剧情节点 | 93 个 | 8 章完整剧情 |
|
||||
| 关键角色 | 10+ 位 | 含好感度系统 |
|
||||
| 结局 | 8+ 种 | 基于属性+选择触发 |
|
||||
| AI 助教 | DeepSeek Chat | 全模块可呼出 |
|
||||
|
||||
---
|
||||
|
||||
## 七、与竞品的差异
|
||||
|
||||
| 维度 | 数学脑 | B站/小红书 | 得到 App |
|
||||
|------|--------|-----------|---------|
|
||||
| 内容聚焦 | 数学单一垂类 | 泛兴趣 | 泛知识 |
|
||||
| 内容形态 | 视频 + 卡片 + 互动小说 | 以视频为主 | 音频 + 电子书 |
|
||||
| 互动深度 | 视觉小说级分支剧情 | 评论弹幕 | 划线笔记 |
|
||||
| 用户心智 | "数学也可以有趣" | 消遣娱乐 | 学习提升 |
|
||||
| 目标年龄 | 15-25岁 | 全年龄 | 25岁以上 |
|
||||
|
||||
---
|
||||
|
||||
## 八、内容来源
|
||||
|
||||
1. **视频**:各学院大学生志愿者提供科普课程(占位数据已内置)
|
||||
2. **知识卡片**:产品团队原创数学科普内容
|
||||
3. **互动小说**:原创小说《葫芦侠行》改编,8 章完整剧情
|
||||
4. **AI 对话**:DeepSeek 大模型实时生成
|
||||
@@ -0,0 +1,487 @@
|
||||
# 数学脑 · 产品设计 PRD
|
||||
|
||||
> 版本:v1.0 | 状态:草案 | 更新日期:2026-06
|
||||
|
||||
---
|
||||
|
||||
## 一、产品概要
|
||||
|
||||
### 1.1 产品定义
|
||||
|
||||
**数学脑** 是一款以"乐"为核心的数学兴趣社区 App(Web 端适配移动端)。通过视频发现、知识卡片、数学专业模拟器、互动视觉小说等多元内容形态,让用户在没有学习压力的环境下,重新认识数学的美感与用处。
|
||||
|
||||
**一句话**:让中小学生通过"模拟大学数学专业"等沉浸式体验,在爽的过程中爱上数学;让成年人通过知识卡片和视频,碎片化刷新对数学的认知。
|
||||
|
||||
### 1.2 核心定位
|
||||
|
||||
| 维度 | 定位 |
|
||||
|------|------|
|
||||
| 用户心智 | "数学也可以很有趣"——兴趣消遣型,非目标驱动型 |
|
||||
| 对标参考 | B站(内容发现)+ Duolingo(游戏化留存)+ 卵石实习生(模拟体验) |
|
||||
| 差异化 | 数学垂类唯一提供"大学数学专业全流程模拟"的产品 |
|
||||
| 公益属性 | 支教场景作为分发渠道,促进教育公平 |
|
||||
|
||||
### 1.3 目标用户
|
||||
|
||||
| 优先级 | 用户群 | 核心场景 |
|
||||
|--------|--------|---------|
|
||||
| 短期主打 | 中小学生(12-18岁) | 刷视频发现数学的用处;玩模拟器体验"大学数学专业是什么样" |
|
||||
| 长期沉淀 | 成年人(18-35岁) | 碎片时间读知识卡片;在视觉小说中体验数学+武侠跨界叙事 |
|
||||
| 渠道用户 | 支教志愿者 & 支教地学生 | 通过支教项目接触到 App,作为辅助教学/兴趣引导工具 |
|
||||
|
||||
### 1.4 不做的事
|
||||
|
||||
- **不做刷题**:不以应试提分为目标
|
||||
- **不做论坛/UGC**:不开放用户发帖、评论、私信等社交功能
|
||||
- **不做广告**:商业化不依赖信息流或视频贴片广告
|
||||
- **不做氪金**:无内购抽卡、虚拟币充值
|
||||
|
||||
### 1.5 产品理念
|
||||
|
||||
> **乐为核心。** 用户不需要"学到"什么——而是玩了之后,无意中感受到数学的妙处。
|
||||
>
|
||||
> **内容纯净。** 无社交陌生人、无氪金引导。家长放心,孩子喜欢。
|
||||
>
|
||||
> **支教为渠道。** 通过常青藤支教队等公益网络,把 App 带到教育资源薄弱地区。
|
||||
|
||||
---
|
||||
|
||||
## 二、功能架构
|
||||
|
||||
### 2.1 四大主模块
|
||||
|
||||
```
|
||||
数学脑
|
||||
│
|
||||
┌────────────────────┼────────────────────┐
|
||||
│ │ │
|
||||
🟠 发现 🔵 知识 🟢 数学人生
|
||||
(视频发现流) (知识卡片流) (沉浸式体验)
|
||||
│ │ │
|
||||
┌───────┼───────┐ │ ┌────────┼────────┐
|
||||
│ │ │ ┌────┼────┐ │ │ │
|
||||
推荐 热门 专业分区 Hero 话题 卡片 数学专业 葫芦侠行
|
||||
(12) 大卡 标签 流 模拟器 互动小说
|
||||
│
|
||||
┌─────┼─────┐
|
||||
大一~大四 8章93节点
|
||||
全流程模拟 8+种结局
|
||||
|
||||
🟣 我的
|
||||
(个人中心)
|
||||
│
|
||||
┌───────────┼───────────┐
|
||||
│ │ │
|
||||
个人信息 我的内容 更多设置
|
||||
```
|
||||
|
||||
### 2.2 全局功能
|
||||
|
||||
| 功能 | 说明 | 入口 |
|
||||
|------|------|------|
|
||||
| AI 数学助教 | DeepSeek 大模型驱动的对话式问答 | 任意页面右上角按钮 |
|
||||
| 底部 TabBar | 四个模块切换入口 | 始终可见 |
|
||||
| 顶部品牌栏 | "数学脑"品牌标识 + AI入口 | 始终可见 |
|
||||
| 家长模式 | 使用时长统计 + 内容消费报告 | "我的"页面 |
|
||||
|
||||
### 2.3 模块详情
|
||||
|
||||
#### 🟠 发现 · 视频发现流
|
||||
|
||||
**定位**:B站式数学垂类视频发现入口。
|
||||
|
||||
**组成**:
|
||||
- **顶部搜索栏**:支持按标题、描述、作者、学科搜索
|
||||
- **子导航**:推荐 / 热门 / 专业分区
|
||||
- **12 个专业分区图标网格**:人工智能、计算机、电子信息、微电子、机械工程、自动化、能源动力、化工材料、生物医学、经济管理、环境工程、数学建模
|
||||
- **双列视频卡片流**:封面 + 标题 + 作者 + 时长 + 观看量
|
||||
- **视频详情弹窗**:标题、简介、作者、学科标签、外部链接跳转
|
||||
|
||||
**数据**:当前内置 54 条占位视频(各学院志愿者提供),来自 seed_videos.json → SQLite。
|
||||
|
||||
**交互**:
|
||||
- 点击分区图标 → 展示该学科专属视频列表 + 返回按钮
|
||||
- 点击视频卡片 → 弹出详情弹窗
|
||||
- 搜索实时过滤
|
||||
|
||||
---
|
||||
|
||||
#### 🔵 知识 · 知识卡片流
|
||||
|
||||
**定位**:类似小红书/得到 App 的轻量数学知识发现,非视频形态。
|
||||
|
||||
**组成**:
|
||||
- **每日 Hero 大卡**:渐变深蓝背景,今日主题 + 阅读统计
|
||||
- **横向滚动话题标签**:统计陷阱、概率思维、几何直觉、逻辑悖论、数学模型、博弈策略、数列之美、混沌理论
|
||||
- **信息流卡片(当前6张)**:
|
||||
- 每张卡片包含:渐变色彩封面 + 一个引人思考的"问题" + 知识标题 + 描述 + 阅读时间
|
||||
- 点击卡片 → 呼出 AI 助教深入探讨该主题
|
||||
|
||||
**示例卡片**:
|
||||
- 被平均数骗过的所有人(你和马云的平均财富是多少?)
|
||||
- 彩票:一场精心设计的数学税(2元博500万,值不值?)
|
||||
- 为什么所有地图都在骗你(格陵兰岛有非洲大吗?)
|
||||
|
||||
**交互**:
|
||||
- 点击话题标签 → 高亮筛选
|
||||
- 点击卡片 → 一键呼出 AI 深入追问
|
||||
|
||||
---
|
||||
|
||||
#### 🟢 数学人生 · 沉浸式体验
|
||||
|
||||
**定位**:整个产品的核心差异化模块,包含两个独立子功能。
|
||||
|
||||
##### 子功能一:数学专业模拟器(P0 主打)
|
||||
|
||||
**定位**:让学生"跑完四年大学数学专业的全流程",在模拟中选择方向、面对挑战、最终走向不同结局。参考卵石实习生 App 的模式。
|
||||
|
||||
**结构**:8学期(大一上→大四下),每学期约10-15个事件节点。
|
||||
|
||||
**核心循环**:
|
||||
```
|
||||
选课 → 上课(课堂事件选择题)→ 期中考试 → 课外活动与社交 → 期末考试 → 学期结算 → 暑假事件 → 下学期
|
||||
```
|
||||
|
||||
**大三专业分流**(核心关卡):
|
||||
|
||||
```
|
||||
纯数学 应用数学 统计学
|
||||
├─ 分析(实变/泛函) ├─ 计算数学(数值分析) ├─ 数理统计
|
||||
├─ 代数(抽象代数) ├─ 金融数学(随机过程) ├─ 数据科学
|
||||
└─ 几何(微分几何) └─ 生物数学(生物信息) └─ 精算
|
||||
```
|
||||
|
||||
**属性系统**:GPA、学术倾向、社交值、兴趣值、精力值(有限分配)
|
||||
|
||||
**毕业结局**:数学博士、量化交易员、高中教师、数据科学家、数学作家、转行程序员、退学创业者等。
|
||||
|
||||
**指标**:用户留存率、日均访问次数、完整跑完四年的用户比例。
|
||||
|
||||
##### 子功能二:葫芦侠行 · 互动视觉小说
|
||||
|
||||
**定位**:北宋数学武侠背景的 8 章完整互动剧情。基于原创小说《葫芦侠行》改编。是深度内容的沉淀,适合喜欢叙事体验的用户。
|
||||
|
||||
**规模**:8章 × 约12节点/章 = 93个交互节点
|
||||
|
||||
**属性系统**:数理根基、侠义声望、心志韧性、关键角色好感度
|
||||
|
||||
**结局**:8+ 种(真相守望 / 数理宗师 / 逍遥江湖 / 出海远航 / 悲情英雄 / 堕落之路 / 冤狱 / 虚无)
|
||||
|
||||
**当前状态**:已开发完成,可运行。
|
||||
|
||||
---
|
||||
|
||||
#### 🟣 我的 · 个人中心
|
||||
|
||||
**定位**:标准 App 个人中心,个人信息管理 + 数据概览 + 家长入口。
|
||||
|
||||
**板块**:
|
||||
- **个人卡片**:头像 + 昵称 + ID + 身份标签(紫色渐变背景)
|
||||
- **数据统计**:已看内容数、收藏专题数、剧情存档数
|
||||
- **个人信息**:昵称与头像、兴趣方向、学习偏好
|
||||
- **我的内容**:我的收藏、观看记录、数学人生存档
|
||||
- **更多**:设置与帮助、意见反馈
|
||||
- **家长模式**(规划中):本周使用时长、内容消费分布、知识点图谱
|
||||
|
||||
---
|
||||
|
||||
### 2.4 后续规划功能
|
||||
|
||||
| 优先级 | 功能 | 说明 |
|
||||
|--------|------|------|
|
||||
| P1 | 工具箱/趣味计算器 | 概率模拟器、数学魔术生成器、π查询器、分形画廊。作为留存工具,填补碎片时间 |
|
||||
| P1 | AI 数字人视频生成 | AI写稿 + TTS语音 + 静态数字人播报,降低视频制作成本 |
|
||||
| P1 | 数学冷知识随机卡片 | 摇一摇或点击刷新,轻量互动 |
|
||||
| P2 | 双语支持(i18n) | UI文案抽离、故事双语JSON、视频双语描述 |
|
||||
| P2 | 支教场景定制 | 为支教志愿者提供教学辅助功能、学生进度追踪 |
|
||||
| P3 | 学习报告/周报 | 每周生成内容消费总结,可分享给家长 |
|
||||
|
||||
---
|
||||
|
||||
## 三、交互与UI规范
|
||||
|
||||
### 3.1 布局
|
||||
|
||||
| 规范 | 值 |
|
||||
|------|------|
|
||||
| 容器宽度 | `min(390px, 100vw)`(iPhone 标准比例) |
|
||||
| 全屏高度 | `100dvh` |
|
||||
| 安全区 | `env(safe-area-inset-top)` / `env(safe-area-inset-bottom)` |
|
||||
| 桌面端 | 居中 + `border-radius: 34px` + 阴影(模拟设备壳) |
|
||||
| 字体 | `-apple-system, BlinkMacSystemFont, PingFang SC, Microsoft YaHei` |
|
||||
|
||||
### 3.2 底部 TabBar
|
||||
|
||||
- 四个入口图标:CSS 伪元素绘制,简约风格
|
||||
- 背景:白色半透明 + `backdrop-filter: blur(18px)` 玻璃感
|
||||
- 激活态:对应模块主色的浅色背景高亮
|
||||
- 适配 safe-area 底部留白
|
||||
|
||||
### 3.3 色彩语义
|
||||
|
||||
| 模块 | 主色 | 色值 |
|
||||
|------|------|------|
|
||||
| 发现 | 暖橙 | `#F97316` |
|
||||
| 知识 | 蓝色 | `#3B82F6` |
|
||||
| 数学人生 | 绿色 | `#10B981` |
|
||||
| 我的 | 紫色 | `#8B5CF6` |
|
||||
|
||||
切换模块时,全局 CSS 变量 `--accent` 动态替换,顶部品牌栏和视觉小说内角色名同步变色。
|
||||
|
||||
### 3.4 响应式
|
||||
|
||||
- 移动端:全宽,safe-area 适配
|
||||
- 桌面端(≥480px):居中显示在模拟设备壳中,上方和两侧留白
|
||||
|
||||
---
|
||||
|
||||
## 四、技术架构
|
||||
|
||||
### 4.1 技术选型
|
||||
|
||||
| 层级 | 技术 | 用途 |
|
||||
|------|------|------|
|
||||
| 后端 | Flask(Python) | 路由、API、SQLite 管理 |
|
||||
| 数据库 | SQLite | 视频数据、行为日志 |
|
||||
| 前端 | 原生 HTML5 + CSS3 + Vanilla JS | SPA 页面切换、视觉小说引擎 |
|
||||
| AI | DeepSeek Chat API | AI 数学助教对话 |
|
||||
| 数据 | JSON 文件 | 剧情节点树、种子视频 |
|
||||
|
||||
### 4.2 API 接口
|
||||
|
||||
| 路径 | 方法 | 返回 | 说明 |
|
||||
|------|------|------|------|
|
||||
| `/` | GET | HTML | SPA 首页 |
|
||||
| `/api/videos` | GET | `{code, data, disciplines}` | 视频列表 + 学科分类 |
|
||||
| `/api/chat` | POST | `{code, reply}` | AI 对话 |
|
||||
| `/api/story` | GET | `{code, data}` | 互动剧情 JSON |
|
||||
| `/api/log` | POST | `{code, msg}` | 行为日志 |
|
||||
| `/api/students` | GET | `{code, data}` | 学生列表(B端预留) |
|
||||
|
||||
### 4.3 视觉小说引擎
|
||||
|
||||
共用引擎,数据隔离:
|
||||
- `seed_story.json` → 葫芦侠行(93节点,已完成)
|
||||
- `seed_simulator.json`(待建)→ 数学专业模拟器(约100-120节点)
|
||||
|
||||
引擎特性:打字机效果、四属性系统、章节自动检测、localStorage 存档/读档/重置、选项效果预览。
|
||||
|
||||
### 4.4 多端支持
|
||||
|
||||
```
|
||||
┌─────────────────────┐
|
||||
│ Flask 后端 + SPA │
|
||||
│ (同一套代码) │
|
||||
└─────────┬───────────┘
|
||||
│
|
||||
┌───────────────┼───────────────┐
|
||||
│ │ │
|
||||
浏览器访问 PWA 安装 小程序 web-view
|
||||
(HTTP/HTTPS) (manifest.json) (壳包 + 嵌入URL)
|
||||
```
|
||||
|
||||
不开发独立原生 App。通过 PWA + 各平台小程序 web-view 实现多端覆盖。需要 HTTPS 域名部署。
|
||||
|
||||
---
|
||||
|
||||
## 五、内容策略
|
||||
|
||||
### 5.1 内容矩阵
|
||||
|
||||
| 类型 | 数量 | 来源 | 更新频率 |
|
||||
|------|------|------|---------|
|
||||
| 科普视频 | 54条(占位) | 各学院志愿者 + 未来 AI 生成 | 周更 |
|
||||
| 知识卡片 | 6张 | 团队原创 | 周更 |
|
||||
| 话题标签 | 8个 | 团队精选 | 月更 |
|
||||
| 葫芦侠行 | 93节点 | 原创小说改编 | 已完成 |
|
||||
| 数学模拟器 | ~120节点 | 团队设计 | 开发中 |
|
||||
|
||||
### 5.2 AI 助教
|
||||
|
||||
- 引擎:DeepSeek Chat
|
||||
- 系统提示词设定:面向中小学生的数学引导者,200字以内,生活化语言
|
||||
- 触发点:知识卡片点击、任意页面右上角按钮、快捷提问按钮
|
||||
- 快捷提问:数学与医学 / 数学与建筑 / 数学与AI / 为什么要学
|
||||
|
||||
### 5.3 AI 数字人视频(P1规划)
|
||||
|
||||
| 阶段 | 做法 | 单条成本 |
|
||||
|------|------|---------|
|
||||
| MVP | AI写稿 → 人工录旁白 → 画面剪辑 | 几乎零 |
|
||||
| v1 | AI写稿 + TTS语音 + 静态数字人播报 | ¥5-15 |
|
||||
| v2 | 数字人 + AI辅助画面 + 人工精修 | ¥20-50 |
|
||||
|
||||
### 5.4 双语规划(P2)
|
||||
|
||||
- UI 文案抽离为 `i18n/zh.json` / `i18n/en.json`
|
||||
- 视频标题/描述增加英文字段
|
||||
- 互动剧情准备英文版 JSON
|
||||
- AI 助教检测用户输入语言并切换提示词
|
||||
- 英语社区冷启动路径:Reddit r/math、Product Hunt、YouTube 数学频道合作
|
||||
|
||||
---
|
||||
|
||||
## 六、用户留存与增长
|
||||
|
||||
### 6.1 用户路径
|
||||
|
||||
```
|
||||
第一次打开 ──→ 发现页刷视频(B站式,零门槛)
|
||||
│
|
||||
┌──────────────┼──────────────┐
|
||||
│ │ │
|
||||
看到感兴趣的 刷到知识卡片 听说"模拟器"
|
||||
学科视频 点开AI追问 想试试
|
||||
│ │ │
|
||||
└──────────────┴──────────────┘
|
||||
│
|
||||
▼
|
||||
进入数学人生模块
|
||||
│
|
||||
┌──────────────┼──────────────┐
|
||||
│ │
|
||||
数学专业模拟器 葫芦侠行
|
||||
(主打留存) (深度内容)
|
||||
│
|
||||
▼
|
||||
每天打开,推进学期进度
|
||||
分享"我的数学人生结局"截图
|
||||
```
|
||||
|
||||
### 6.2 增长策略
|
||||
|
||||
| 阶段 | 策略 |
|
||||
|------|------|
|
||||
| **种子期** | 高校数学社团合作、B站/小红书数学科普KOL试用推荐 |
|
||||
| **增长期** | 模拟器结局截图社交分享裂变、微信小程序上线、家长社群传播 |
|
||||
| **规模化** | 与教育机构合作内置、学校采购、海外 Reddit/Product Hunt 推广 |
|
||||
|
||||
### 6.3 支教渠道
|
||||
|
||||
- 与常青藤支教队等公益组织合作
|
||||
- App 作为支教志愿者的辅助教学工具
|
||||
- 支教地学生通过 App 接触更丰富的数学内容
|
||||
- 不改变产品形态——支教是分发渠道,不是产品内核
|
||||
|
||||
---
|
||||
|
||||
## 七、盈利模式
|
||||
|
||||
### 7.1 原则
|
||||
|
||||
- 学生端永远免费
|
||||
- 不伤害公益初心
|
||||
- 不做广告、不做氪金
|
||||
- 不接受纯捐赠模式
|
||||
|
||||
### 7.2 路径
|
||||
|
||||
**主要路径:ToB 教育采购**
|
||||
- 学校/教育局采购 App 作为辅助教学工具
|
||||
- 按学生数量或服务等级收费
|
||||
- 与支教项目经费挂钩:支教本身有经费,App 作为其中合理的技术支出
|
||||
|
||||
**辅助路径:会员订阅**
|
||||
- 基础内容永远免费(视频、知识卡片、模拟器主流程)
|
||||
- 高级功能订阅制:额外模拟分支、深度知识图谱、学习报告、家长面板
|
||||
- 参考 Duolingo Super 模式——免费可用,付费更便利
|
||||
|
||||
---
|
||||
|
||||
## 八、家长信任策略
|
||||
|
||||
| 策略 | 做法 |
|
||||
|------|------|
|
||||
| 内容纯净 | 无广告、无社交陌生人、无氪金引导 |
|
||||
| 时间管控 | 内置"番茄钟":使用30分钟自动提醒休息 |
|
||||
| 学习报告 | "数学脑周报"——孩子看了什么、玩了什么、对哪些方向有兴趣 |
|
||||
| 家长模式 | 独立入口,展示使用时长、内容类型分布、知识点图谱 |
|
||||
| 零氪金 | 无内购、无抽卡 |
|
||||
| 定位话语 | "这不是一个刷题App,而是帮助孩子建立数学兴趣的引导工具" |
|
||||
|
||||
---
|
||||
|
||||
## 九、开发规范
|
||||
|
||||
### 9.1 代码规范
|
||||
|
||||
| 语言 | 规范 |
|
||||
|------|------|
|
||||
| Python | PEP 8,`black`/`ruff` 格式化 |
|
||||
| JavaScript | ES6,`let/const` 替代 `var`,camelCase 命名 |
|
||||
| CSS | 功能前缀命名(如 `vn-`、`feed-`),CSS 变量管理主题色 |
|
||||
| HTML | 区域注释分隔,语义化标签 |
|
||||
|
||||
### 9.2 数据规范
|
||||
|
||||
- API 统一返回格式:`{code: 0/-1, data: ..., msg: "..."}`
|
||||
- JSON 数据结构向后兼容
|
||||
- 数据库迁移使用 DB_VERSION 机制
|
||||
- API Key 通过环境变量读取,不可硬编码
|
||||
|
||||
### 9.3 Git 规范
|
||||
|
||||
- 分支:`main`(稳定)/ `dev`(开发)/ `feature/xxx`
|
||||
- Commit 前缀:`feat:` / `fix:` / `style:` / `refactor:`
|
||||
- 静态资源版本号:`style.css?v=X.Y` 防缓存
|
||||
|
||||
### 9.4 安全规范
|
||||
|
||||
- HTTPS 部署
|
||||
- API Key 环境变量隔离
|
||||
- 跨域白名单配置
|
||||
|
||||
---
|
||||
|
||||
## 十、开发优先级与路线图
|
||||
|
||||
| 优先级 | 项目 | 说明 | 状态 |
|
||||
|--------|------|------|------|
|
||||
| ✅ P0 | 四大模块基础架构 | 发现/知识/数学人生/我的 | 已完成 |
|
||||
| ✅ P0 | 视频发现 + 12专业分区 | 搜索+推荐+热门+分区 | 已完成 |
|
||||
| ✅ P0 | 知识卡片流 | Hero大卡+话题+6张卡片 | 已完成 |
|
||||
| ✅ P0 | 葫芦侠行8章互动小说 | 93节点+四属性+8结局 | 已完成 |
|
||||
| ✅ P0 | 个人中心 | 资料+统计+菜单 | 已完成 |
|
||||
| ✅ P0 | AI 数学助教 | DeepSeek + 快捷提问 | 已完成 |
|
||||
| ✅ P0 | iPhone移动端适配 | 390px + 100dvh + safe-area | 已完成 |
|
||||
| 🔨 P0 | **数学专业模拟器** | 8学期全流程模拟+分流+结局 | **开发中** |
|
||||
| ⏳ P1 | 工具箱/趣味计算器 | 概率模拟器/数学魔术/分形画廊 | 待开发 |
|
||||
| ⏳ P1 | AI数字人视频生成 | AI写稿+TTS+数字人播报 | 待调研 |
|
||||
| ⏳ P1 | PWA + 小程序壳 | manifest.json + web-view | 待开发 |
|
||||
| ⏳ P2 | 双语支持(i18n) | UI抽离+故事双语+AI切换 | 待开发 |
|
||||
| ⏳ P2 | 支教场景功能 | 教学辅助+学生进度 | 待开发 |
|
||||
| ⏳ P2 | 家长模式 + 周报 | 时长统计+内容报告+分享 | 待开发 |
|
||||
| ⏳ P3 | ToB教育采购 | 学校端管理后台 | 待调研 |
|
||||
|
||||
---
|
||||
|
||||
## 十一、附录
|
||||
|
||||
### A. 当前项目文件结构
|
||||
|
||||
```
|
||||
miniapp/
|
||||
├── app.py # Flask 后端
|
||||
├── data/
|
||||
│ ├── seed_story.json # 葫芦侠行93节点
|
||||
│ ├── seed_videos.json # 54条种子视频
|
||||
│ ├── miniapp_v3.db # SQLite 数据库
|
||||
│ ├── build_story.py # 剧情生成脚本
|
||||
│ └── novel/ # 原著小说素材
|
||||
├── static/
|
||||
│ ├── css/style.css # 全局样式(~1400行)
|
||||
│ └── js/app.js # 前端逻辑(~550行)
|
||||
└── templates/
|
||||
└── index.html # SPA 入口(~286行)
|
||||
```
|
||||
|
||||
### B. 关键指标
|
||||
|
||||
| 指标 | 定义 | 目标 |
|
||||
|------|------|------|
|
||||
| 日活跃用户 (DAU) | 每日打开 App 的用户数 | 种子期 100,增长期 10,000 |
|
||||
| 次留/7留/30留 | 次日/7日/30日留存率 | 7留 > 25% |
|
||||
| 模拟器完成率 | 跑完四年全流程的用户占比 | > 15%(初期) |
|
||||
| 人均使用时长 | 每日平均使用时间 | > 15分钟 |
|
||||
| 分享率 | 主动分享内容的用户占比 | > 5% |
|
||||
@@ -0,0 +1,100 @@
|
||||
# 对话记录 — 数学脑项目
|
||||
|
||||
> 对话时间:2026-07-11
|
||||
> 项目:数学脑 (miniapp)
|
||||
> 当前状态:Flask 后端已成功运行在 http://127.0.0.1:5000
|
||||
|
||||
---
|
||||
|
||||
## 对话 1:运行 app.py
|
||||
|
||||
**用户请求**:运行这个 app
|
||||
|
||||
**AI 执行过程**:
|
||||
|
||||
1. **读取 app.py**:确认这是一个 Flask 后端应用,包含:
|
||||
- SQLite 数据库初始化
|
||||
- 54 条种子视频数据导入
|
||||
- 8 张知识卡片种子数据
|
||||
- DeepSeek AI 对话接口
|
||||
- 路由:视频列表、AI 对话、行为日志、故事数据、模拟器、知识卡片、收藏、历史、用户资料
|
||||
|
||||
2. **检查项目结构**:确认 data/ 目录、static/ 目录、templates/ 目录均存在,种子数据文件齐全。
|
||||
|
||||
3. **安装依赖**:
|
||||
```powershell
|
||||
pip install flask requests
|
||||
```
|
||||
Flask 3.1.3 和 requests 2.32.3 均已安装。
|
||||
|
||||
4. **查找 Python 解释器**:
|
||||
- `python` 命令报 9009 错误(未找到)
|
||||
- 通过 `where pip` 找到 pip 在 `D:\AN\Scripts\pip.exe`
|
||||
- 确认 Python 在 `D:\AN\python.exe`(Python 3.12.7)
|
||||
|
||||
5. **启动应用**:
|
||||
```powershell
|
||||
D:\AN\python.exe app.py
|
||||
```
|
||||
成功启动,输出:
|
||||
```
|
||||
==================================================
|
||||
数学桥梁计划 · MVP 后端启动中...
|
||||
==================================================
|
||||
[完成] 已导入 54 条视频数据
|
||||
|
||||
访问地址: http://127.0.0.1:5000
|
||||
* Running on http://127.0.0.1:5000
|
||||
```
|
||||
|
||||
6. **结果**:应用在 http://127.0.0.1:5000 成功运行,浏览器预览已打开。
|
||||
|
||||
**关键技术细节**:
|
||||
- 应用使用 DeepSeek API Key:已在代码中配置
|
||||
- 数据库:`data/miniapp_v3.db`
|
||||
- 种子数据:`data/seed_videos.json`(54条)、`data/seed_story.json`(93节点)、`data/seed_simulator.json`
|
||||
|
||||
---
|
||||
|
||||
## 对话 2:打包项目文件以供另一个 AI 接手
|
||||
|
||||
**用户请求**:
|
||||
1. 打包工作区与 app 相关的文件
|
||||
2. 导出对话记录为 MD 文档
|
||||
3. 导出操作规范为 Skill
|
||||
4. 打包以上所有文件,供另一个 AI 继续开发
|
||||
|
||||
**当前正在执行中**:
|
||||
- 创建对话记录 MD(本文件)
|
||||
- 创建 Skill(数学脑开发操作规范)
|
||||
- 打包为 zip
|
||||
|
||||
---
|
||||
|
||||
## 项目当前状态总结
|
||||
|
||||
### 已完成的功能 (P0)
|
||||
- [x] 四大模块基础架构(发现/知识/数学人生/我的)
|
||||
- [x] 视频发现 + 12专业分区 + 搜索
|
||||
- [x] 知识卡片流(Hero大卡 + 话题标签 + 8张卡片)
|
||||
- [x] 葫芦侠行 8章互动剧情(93节点 + 四属性 + 8结局)
|
||||
- [x] 数学专业模拟器(已启动,部分完成)
|
||||
- [x] 个人中心(资料 + 统计 + 收藏/历史)
|
||||
- [x] AI 数学助教(DeepSeek + 上下文感知 + 快捷提问)
|
||||
- [x] iPhone 移动端适配(390px + 100dvh + safe-area)
|
||||
|
||||
### 配置信息
|
||||
- **项目路径**:`C:\Users\Asus\Desktop\miniapp`
|
||||
- **Python 路径**:`D:\AN\python.exe`(Python 3.12.7)
|
||||
- **启动方式**:`D:\AN\python.exe app.py`
|
||||
- **访问地址**:`http://127.0.0.1:5000`
|
||||
- **数据库**:`data/miniapp_v3.db`(SQLite)
|
||||
- **DeepSeek API Key**:已在 app.py 中配置
|
||||
|
||||
### 待开发
|
||||
- [ ] 数学专业模拟器完整剧情(当前数据不完整)
|
||||
- [ ] 用户真实登录系统
|
||||
- [ ] PWA + 小程序壳
|
||||
- [ ] 双语支持
|
||||
- [ ] 家长模式
|
||||
- [ ] 工具箱/趣味计算器
|
||||
@@ -0,0 +1,244 @@
|
||||
# 数学脑 · 开发需求文档
|
||||
|
||||
> 版本:MVP v6.0 | 更新日期:2023年
|
||||
|
||||
---
|
||||
|
||||
## 一、项目概述
|
||||
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **产品名** | 数学脑 |
|
||||
| **代码名** | miniapp |
|
||||
| **类型** | 移动端 SPA(单页应用)Web App |
|
||||
| **架构** | Flask(Python 后端) + 原生 HTML/CSS/JS(前端) |
|
||||
| **适应端** | iPhone 移动端(390px 宽度,100dvh,safe-area 适配) |
|
||||
| **数据库** | SQLite |
|
||||
| **AI 引擎** | DeepSeek Chat API |
|
||||
|
||||
---
|
||||
|
||||
## 二、技术栈
|
||||
|
||||
| 层级 | 技术 | 用途 |
|
||||
|------|------|------|
|
||||
| 后端框架 | Flask 3.x(Python) | 路由、API、数据库管理 |
|
||||
| 数据库 | SQLite(SQLite3) | 视频数据、行为日志 |
|
||||
| 前端 | 原生 HTML5 + CSS3 + Vanilla JS | SPA 页面切换、视觉小说引擎 |
|
||||
| AI 集成 | DeepSeek Chat API | AI 数学助教对话 |
|
||||
| 故事数据 | JSON(seed_story.json) | 8 章互动剧情节点树 |
|
||||
| 视频数据 | JSON(seed_videos.json)→ SQLite | 54 条专业分区视频 |
|
||||
| UI 风格 | 自制设计系统(CSS 变量 + flex/grid) | iPhone 式移动端适配 |
|
||||
|
||||
---
|
||||
|
||||
## 三、项目文件结构
|
||||
|
||||
```
|
||||
miniapp/
|
||||
├── app.py # Flask 后端主文件
|
||||
├── data/
|
||||
│ ├── seed_story.json # 8章93节点互动剧情数据
|
||||
│ ├── seed_videos.json # 54条专业分区种子视频
|
||||
│ ├── miniapp_v3.db # SQLite 数据库
|
||||
│ ├── build_story.py # 剧情JSON生成脚本
|
||||
│ └── novel/ # 原著小说txt(素材参考)
|
||||
│ ├── 葫芦侠行(第一章).txt
|
||||
│ ├── 葫芦侠行(第二章).txt
|
||||
│ ├── ...
|
||||
│ └── 框架.txt
|
||||
├── static/
|
||||
│ ├── css/
|
||||
│ │ └── style.css # 全局样式(~1400行)
|
||||
│ └── js/
|
||||
│ └── app.js # 前端核心逻辑(~550行)
|
||||
└── templates/
|
||||
└── index.html # SPA 入口页面(~286行)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 四、后端 API 接口
|
||||
|
||||
| 路径 | 方法 | 参数 | 返回 | 说明 |
|
||||
|------|------|------|------|------|
|
||||
| `/` | GET | — | HTML | 返回 SPA 首页 |
|
||||
| `/api/videos` | GET | `module`(选填), `discipline`(选填) | `{code, data, disciplines}` | 视频列表 + 学科分类 |
|
||||
| `/api/chat` | POST | `{message, student_id}` | `{code, reply, is_fallback}` | AI 对话(DeepSeek) |
|
||||
| `/api/story` | GET | — | `{code, data}` | 获取互动剧情 JSON |
|
||||
| `/api/log` | POST | `{user_id, action, target}` | `{code, msg}` | 行为日志记录 |
|
||||
| `/api/students` | GET | — | `{code, data}` | 学生列表(B端预留) |
|
||||
|
||||
### 视频数据模型(videos 表)
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| id | INTEGER PK | 自增 |
|
||||
| title | TEXT NOT NULL | 视频标题 |
|
||||
| module | TEXT | 所属模块(如"数人") |
|
||||
| sub_category | TEXT | 子分类 |
|
||||
| discipline | TEXT | 学科(如"人工智能") |
|
||||
| discipline_icon | TEXT | 学科 emoji |
|
||||
| video_url | TEXT | 外部视频链接 |
|
||||
| description | TEXT | 视频简介 |
|
||||
| duration_min | INTEGER | 时长(分钟) |
|
||||
| author | TEXT | 作者(学院+姓名) |
|
||||
|
||||
---
|
||||
|
||||
## 五、前端架构
|
||||
|
||||
### 五层设计
|
||||
|
||||
```
|
||||
┌─────────────────────────────────┐
|
||||
│ index.html │ ← 结构层:DOM 容器
|
||||
├─────────────────────────────────┤
|
||||
│ style.css │ ← 表现层:响应式 + 动画
|
||||
├─────────────────────────────────┤
|
||||
│ app.js │ ← 逻辑层:路由 + 状态 + API
|
||||
├─────────────────────────────────┤
|
||||
│ seed_story.json │ ← 数据层:剧情节点树
|
||||
├─────────────────────────────────┤
|
||||
│ Flask API │ ← 服务层:数据库 + AI
|
||||
└─────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 核心 JavaScript 模块
|
||||
|
||||
| 模块 | 函数 | 功能 |
|
||||
|------|------|------|
|
||||
| **全局状态** | `vnState`, `allVideos`, `storyData` | 应用级状态管理 |
|
||||
| **模块切换** | `switchModule()`, `hideAllPanels()` | 四Tab页面切换、DOM显隐 |
|
||||
| **发现页面** | `loadVideos()`, `renderVideoList()`, `renderDisciplineGrid()` | 视频流渲染、12学科网格 |
|
||||
| **知识页面** | `renderShushuoFeed()`, `updateShushuoHero()` | 知识卡片Feed渲染 |
|
||||
| **数学人生** | `navigateVN()`, `buildChoiceButtons()`, `applyVNStats()` | 视觉小说引擎核心 |
|
||||
| **AI聊天** | `openChat()`, `sendMessage()`, `quickAsk()` | AI对话弹窗 |
|
||||
| **数据持久化** | `saveVNState()`, `loadVNSave()`, `resetVNSave()` | localStorage存档 |
|
||||
|
||||
---
|
||||
|
||||
## 六、视觉小说引擎(VN Engine)
|
||||
|
||||
### 剧情数据模型
|
||||
|
||||
```json
|
||||
{
|
||||
"title": "葫芦侠行",
|
||||
"start_node": "ch1_start",
|
||||
"nodes": {
|
||||
"节点ID": {
|
||||
"scene": "场景描述文本",
|
||||
"character": "说话角色",
|
||||
"sprite": "角色立绘URL(可选)",
|
||||
"choices": [
|
||||
{
|
||||
"text": "选项文本",
|
||||
"next": "下一节点ID",
|
||||
"effects": {
|
||||
"shuli": 整数, // 数理根基变化
|
||||
"xiayi": 整数, // 侠义声望变化
|
||||
"xinzhi": 整数, // 心志韧性变化
|
||||
"favorability": { // 角色好感度变化
|
||||
"角色名": 整数
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 四属性系统
|
||||
|
||||
| 属性 | 键名 | 初始值 | 说明 |
|
||||
|------|------|--------|------|
|
||||
| 📐 数理根基 | `shuli` | 10 | 解锁高阶功法、影响论道胜负 |
|
||||
| ⚔️ 侠义声望 | `xiayi` | 10 | 影响NPC态度、武林大会成绩 |
|
||||
| 🧘 心志韧性 | `xinzhi` | 10 | 面对挫折的选择余地 |
|
||||
| 💕 好感度 | `favorability` | 0(每人) | 触发专属剧情、影响结局 |
|
||||
|
||||
### 当前剧情规模
|
||||
|
||||
- **8 章**:初入江湖 → 西部教习 → 数理论道 → 脑学初创 → 报国之路 → 暗流涌动 → 陋室修炼 → 真相之门
|
||||
- **93 个交互节点**
|
||||
- **8+ 种结局**(真相守望、数理宗师、逍遥江湖、出海远航、悲情英雄、堕落之路、冤狱、虚无)
|
||||
|
||||
---
|
||||
|
||||
## 七、UI 设计系统
|
||||
|
||||
### 色彩系统
|
||||
|
||||
| 用途 | CSS 变量 | 色值 |
|
||||
|------|----------|------|
|
||||
| 发现页主色 | `--shuren` | `#F97316`(橙) |
|
||||
| 知识页主色 | `--shushuo` | `#3B82F6`(蓝) |
|
||||
| 数学人生主色 | `--shusi` | `#10B981`(绿) |
|
||||
| 我的页主色 | `--mine` | `#8B5CF6`(紫) |
|
||||
| 页面背景 | `--bg` | `#F2F3F7` |
|
||||
| 卡片背景 | `--card` | `#FFFFFF` |
|
||||
| 主文字 | `--text` | `#1E1E2E` |
|
||||
|
||||
### 布局规范
|
||||
|
||||
- **容器宽度**:`min(390px, 100vw)`(iPhone 比例)
|
||||
- **桌面端**:居中显示 + `border-radius: 34px` + 阴影(模拟设备壳)
|
||||
- **底部 TabBar**:白色半透明玻璃感 + `backdrop-filter: blur(18px)` + safe-area
|
||||
- **顶部状态栏**:白色半透明 + 模糊 + `z-index: 50`
|
||||
- **字体**:`-apple-system, PingFang SC, Microsoft YaHei`
|
||||
|
||||
---
|
||||
|
||||
## 八、部署与运行
|
||||
|
||||
### 启动命令
|
||||
|
||||
```powershell
|
||||
cd C:\Users\Asus\Desktop\miniapp
|
||||
py app.py
|
||||
```
|
||||
|
||||
### 访问地址
|
||||
|
||||
```
|
||||
http://127.0.0.1:5000/
|
||||
```
|
||||
|
||||
### 环境要求
|
||||
|
||||
- Python 3.12+
|
||||
- Flask
|
||||
- requests
|
||||
- python-docx(素材提取用,非运行时必需)
|
||||
|
||||
### 数据初始化
|
||||
|
||||
- 首次启动自动执行 `init_db()` + `load_seed_videos()`
|
||||
- 54 条视频数据从 `seed_videos.json` 导入 SQLite
|
||||
- 互动剧情从 `seed_story.json` 按需读取
|
||||
- 旧数据库可通过改名绕过锁定问题
|
||||
|
||||
---
|
||||
|
||||
## 九、待开发需求
|
||||
|
||||
### P0(核心)
|
||||
- [ ] 用户登录系统(OAuth/手机号)
|
||||
- [ ] 视频上传与审核后台
|
||||
- [ ] 互动剧情章节选择器(允许跳章/读档)
|
||||
- [ ] 个人中心真实数据绑定(收藏、观看记录、剧情存档)
|
||||
|
||||
### P1(增强)
|
||||
- [ ] 社交功能(评论、点赞、分享)
|
||||
- [ ] 知识页数学小测验
|
||||
- [ ] 视觉小说立绘 + 背景图系统
|
||||
- [ ] 好感度可视化面板
|
||||
- [ ] 多端适配(小程序版本)
|
||||
|
||||
### P2(远期)
|
||||
- [ ] 微服务拆分
|
||||
- [ ] 实时协作编辑(多人剧情共创)
|
||||
- [ ] AI 生成剧情分支
|
||||
- [ ] 数据分析看板(学生行为)
|
||||
Binary file not shown.
@@ -0,0 +1,146 @@
|
||||
# 数学脑|暑期微信小程序 MVP 需求评审包
|
||||
|
||||
> 状态:评审准备稿 v0.1(非最终 PRD)
|
||||
> 用途:用于首次需求评审,确认产品方向、MVP 边界、团队分工与暑期交付标准。
|
||||
> 已知依据:现有 Flask Web Demo、既有产品描述与开发需求文档。
|
||||
|
||||
## 0. 本次评审需要达成的结论
|
||||
|
||||
1. 明确首发用户,只选择一个核心人群作为 MVP 的服务对象。
|
||||
2. 确认微信小程序 MVP 的核心闭环与不做清单。
|
||||
3. 锁定暑期版本必须上线的模块、团队负责人和时间节点。
|
||||
4. 确认试点方式与成功标准,避免“做完了但无法判断是否有效”。
|
||||
|
||||
## 1. 当前 Demo 的客观基础
|
||||
|
||||
现有 Web Demo 已具备四个一级入口:发现视频、知识卡片、数学人生互动剧情、个人中心;另有 AI 助教、收藏、历史、昵称头像及专业模拟器。技术上采用 Flask、SQLite、原生 HTML/CSS/JS,适合快速验证。
|
||||
|
||||
它验证了产品表达与内容形态,但尚未验证真实用户的持续需求。当前最大的风险不是前端能否做出来,而是:首发用户是否清晰、内容能否稳定供给、互动剧情是否能带来留存,以及小程序发布所需的账号、内容安全和隐私要求是否被提前纳入范围。
|
||||
|
||||
## 2. 建议的 MVP 产品定义(供评审)
|
||||
|
||||
### 一句话定义
|
||||
|
||||
面向 **对大学专业与现实应用感到好奇的中学生及大学新生** 的数学兴趣小程序:用短内容建立“数学和我有关”的认知,用轻互动促成下一次打开。
|
||||
|
||||
### 首发核心闭环
|
||||
|
||||
`选择感兴趣的专业/主题 → 浏览 1 条内容 → 收藏或追问 AI → 获得下一条推荐/当日任务 → 次日回访`
|
||||
|
||||
### 首发价值主张
|
||||
|
||||
“不用刷题,也能理解数学如何进入 AI、医学、游戏和真实世界。”
|
||||
|
||||
## 3. 暑期 MVP 范围建议
|
||||
|
||||
| 优先级 | 模块 | 首发必须交付 | 验收口径 |
|
||||
|---|---|---|---|
|
||||
| P0 | 新手引导 | 首次进入选择 3 个兴趣主题;可跳过 | 90% 以上测试用户可在 60 秒内完成并进入内容页 |
|
||||
| P0 | 发现内容 | 推荐流、主题筛选、关键词搜索、内容详情、收藏 | 100 条以内内容加载首屏 ≤ 2 秒(常规 4G/Wi-Fi 测试) |
|
||||
| P0 | 知识卡片 | 每日精选、话题筛选、详情页、AI 追问入口 | 每张卡片可完整阅读、收藏并产生可追踪事件 |
|
||||
| P0 | 个人中心 | 微信授权后的基础资料、收藏、浏览记录 | 用户可查看并删除自己的收藏/记录 |
|
||||
| P0 | 内容后台(最小) | 内容录入、上下架、标签/封面/来源维护 | 运营同学无需改代码即可新增一条内容 |
|
||||
| P0 | 数据埋点 | 首次打开、兴趣选择、内容曝光/点击/完成、收藏、AI 调用 | 每个核心事件带匿名用户标识、时间、内容 ID |
|
||||
| P1 | 数学人生 | 首发只保留“第一章试玩 + 存档 + 完成页” | 5 名测试用户可不经讲解完成一条分支 |
|
||||
| P1 | AI 助教 | 限次、敏感词兜底、内容上下文问答 | 90% 的测试问题在 8 秒内返回;异常时给出可理解提示 |
|
||||
| P2 | 专业模拟器 | 仅保留为后续专题,不进入首发导航 | 进入下一阶段前以试点反馈决定是否开发 |
|
||||
|
||||
### 明确不做(首发保护范围)
|
||||
|
||||
- 用户自行上传视频、评论区、私信、排行榜、付费体系。
|
||||
- 全量 8 章互动小说、多结局系统、角色好感度可视化。
|
||||
- 推荐算法、复杂社交关系、跨校内容平台。
|
||||
- 账号密码系统;首发使用微信授权与最小化用户信息。
|
||||
|
||||
## 4. 关键用户旅程
|
||||
|
||||
### 旅程 A:新用户第一次获得价值
|
||||
|
||||
1. 从社团/校园海报/朋友分享进入小程序。
|
||||
2. 选择“AI、医学、游戏”等至少 3 个兴趣主题。
|
||||
3. 看到与主题匹配的内容卡,阅读/观看一条。
|
||||
4. 收藏、追问 AI,或点击“再看一条”。
|
||||
5. 在个人中心看到记录,并收到下一次可回访的内容入口。
|
||||
|
||||
### 旅程 B:回访用户
|
||||
|
||||
1. 打开小程序后看到“今日数学发现”或上次未完成内容。
|
||||
2. 在 3 次点击内进入内容详情。
|
||||
3. 完成阅读、收藏或 AI 追问后,记录行为并给出下一步。
|
||||
|
||||
### 旅程 C:内容运营
|
||||
|
||||
1. 在后台创建内容,填写标题、摘要、主题、封面、来源与版权状态。
|
||||
2. 保存为草稿并预览。
|
||||
3. 经负责人审核后上线;必要时可立即下架。
|
||||
|
||||
## 5. 建议团队结构(7–8 人)
|
||||
|
||||
| 角色 | 建议人数 | 核心责任 | 暑期关键产出 |
|
||||
|---|---:|---|---|
|
||||
| 产品负责人 / 项目经理 | 1 | PRD、排期、需求决策、用户访谈、验收 | 版本路线图、PRD、周报、测试结论 |
|
||||
| UI/UX 设计师 | 1 | 小程序信息架构、交互原型、视觉系统、可用性测试 | Figma 原型、设计规范、开发标注 |
|
||||
| 小程序前端工程师 | 2 | 页面、状态、组件、性能与真机兼容 | 小程序客户端与组件库 |
|
||||
| 后端工程师 | 1–2 | 用户/内容/收藏/埋点 API、CMS、部署 | 后端服务、数据库、管理端 |
|
||||
| 内容策划 / 运营 | 1 | 内容选题、编辑、审核、试点拉新 | 首发内容库、运营日历、版权台账 |
|
||||
| 测试 / 数据(可由产品或后端兼任) | 0–1 | 用例、真机测试、埋点校验、反馈归纳 | 测试清单、数据看板、问题单 |
|
||||
|
||||
**7 人最小配置**:产品 1、设计 1、前端 2、后端 1、内容运营 1、测试/数据 1。
|
||||
**8 人推荐配置**:增加 1 名后端或内容运营,取决于团队更缺“技术交付”还是“持续内容”。
|
||||
|
||||
## 6. 暑期 8 周建议节奏
|
||||
|
||||
| 周次 | 目标 | 可验收产物 |
|
||||
|---|---|---|
|
||||
| 第 1 周 | 需求确认与用户访谈 | PRD v1、范围冻结、低保真原型、10 位目标用户访谈提纲 |
|
||||
| 第 2 周 | 设计与技术方案 | 高保真原型、接口清单、数据模型、内容模板、埋点方案 |
|
||||
| 第 3–4 周 | P0 开发 | 可用的发现/知识/收藏/个人中心,联调环境 |
|
||||
| 第 5 周 | 后台、AI、埋点与内容导入 | 内容可配置、核心事件可查询、首批内容入库 |
|
||||
| 第 6 周 | 内测与修复 | 20–30 人封闭测试、问题清单关闭率 ≥ 90% |
|
||||
| 第 7 周 | 小范围试点 | 首发包、隐私说明、审核材料、试点数据 |
|
||||
| 第 8 周 | 复盘与上线决策 | 指标复盘、v1.1 Backlog、是否公开发布的结论 |
|
||||
|
||||
## 7. 成功指标(需在评审中确认基线与目标)
|
||||
|
||||
| 指标 | 建议定义 | MVP 目标(建议值) |
|
||||
|---|---|---:|
|
||||
| 激活率 | 首日完成兴趣选择且打开 1 条内容的用户 / 新用户 | ≥ 60% |
|
||||
| 首次价值达成 | 首次会话中阅读/观看 ≥ 1 条内容,或完成 1 次收藏/AI 追问 | ≥ 70% |
|
||||
| D1 留存 | 次日再次打开的激活用户 / 激活用户 | ≥ 25% |
|
||||
| 内容交互率 | 收藏、AI追问或分享 / 内容详情浏览 | ≥ 15% |
|
||||
| 内容有效性 | 试点问卷中认为“对理解数学的实际用途有帮助”的用户比例 | ≥ 70% |
|
||||
| 稳定性 | 核心流程无阻断错误的测试会话比例 | ≥ 99% |
|
||||
|
||||
> 注:这是试点建议目标,不应被当作已验证事实;第 1 周用户访谈后可调整。
|
||||
|
||||
## 8. 技术与合规前置条件
|
||||
|
||||
- 小程序端建议独立实现,不直接把 Flask 网页嵌入 WebView;可复用数据模型、API 设计和内容素材。
|
||||
- 服务端需从 SQLite 演进到适合部署的数据库与对象存储方案(具体选型待技术负责人评估)。
|
||||
- AI Key 只存在服务端环境变量,绝不能写入小程序端或仓库。
|
||||
- 视频/图文须维护来源、作者授权、版权状态及下架机制。
|
||||
- 首发前准备隐私政策、用户协议、未成年人保护说明、内容投诉/反馈入口;具体要求以微信平台和适用法规的最新规则为准。
|
||||
|
||||
## 9. 需求评审议程(60–90 分钟)
|
||||
|
||||
1. **5 分钟:目标对齐** — 这个暑期要验证什么,而不是“想做什么”?
|
||||
2. **15 分钟:目标用户与场景** — 是否同意“中学生 + 大学新生”为首发核心?
|
||||
3. **20 分钟:范围取舍** — 逐项确认 P0/P1/P2,尤其是剧情与专业模拟器是否进首发。
|
||||
4. **15 分钟:内容与运营** — 首发内容数量、来源、审核人、更新频率。
|
||||
5. **15 分钟:技术与合规** — 小程序架构、账号、数据、AI、审核与发布责任人。
|
||||
6. **10 分钟:团队与排期** — 确认每个角色负责人、每周例会和验收机制。
|
||||
|
||||
## 10. 必须由你确认的决策题(PRD Discovery)
|
||||
|
||||
1. **核心问题**:你更想解决“学生觉得数学无用/无趣”,还是“学生不知道数学专业和真实行业的联系”?只能选一个作为首发主问题。
|
||||
2. **首发用户**:首发优先服务初高中生,还是大学新生?是否限定某所学校/城市做试点?
|
||||
3. **暑期成果**:8 周结束时,你最希望拿到的是可公开发布的小程序,还是 20–50 人验证后的可用试点版?
|
||||
4. **成功标准**:你愿意用哪一个指标作为第一优先级:留存、内容完成率、AI 对话使用率,还是校园试点人数?
|
||||
5. **内容来源**:首发 30–50 条内容由谁生产/审核?是否已有明确授权?
|
||||
6. **剧情定位**:数学人生是首发的差异化主角,还是上线后再测试的实验模块?
|
||||
7. **团队约束**:7–8 人中已有的技术、设计、运营成员各有几位?每人每周可投入多少小时?
|
||||
8. **预算与资源**:是否有云服务、域名、主体、小程序认证、AI 调用和内容制作预算?
|
||||
|
||||
## 11. 评审后的下一步
|
||||
|
||||
你确认第 10 节的决策后,产出正式《数学脑微信小程序 MVP PRD v1.0》,严格包含:执行摘要、用户体验与功能、AI 要求、技术规格、安全隐私、分阶段路线图、风险、用户故事与逐项验收标准;并再拆成 Epic、迭代 Backlog 和 8 周排期。
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user