# ODRAMA 原型版本管理与变更日志

> 本文档定义原型文档的版本管理规范，并记录全部历史变更。
> 配套门户页：[index.html](./index.html)（原型索引与分享入口）

---

## 一、版本管理规范

### 1.1 版本三元组

原型版本由三部分标识，缺一不可：

```
[端]-[需求版本]-R[修订号]
示例：admin-v1.3-R6 = 运营后台 · 需求 v1.3 · 第 6 次修订
```

| 组成 | 含义 | 来源 |
|------|------|------|
| **端** | admin（运营后台）/ user-end（用户端 App） | 产品形态 |
| **需求版本** | v1.0 / v1.1 / v1.2 / v1.3 … | 飞书需求池「版本」字段，与 PRD 文档（docs/prd-v1.x.md）一一对应 |
| **修订号** | R1、R2、R3… | 同一需求版本内每轮评审优化的迭代次数（优化1~优化N 轮） |

### 1.2 与需求文档的对应关系

| 需求版本 | PRD 文档 | 后台原型 | 用户端原型 | 主题 |
|---------|---------|---------|-----------|------|
| v1.0 | docs/prd-v1.0.md | admin-v1.0.html (R3) | user-end-v1.0.html (R3) | 基础版：内容运营 / 播放 / 权限 |
| v1.1 | docs/prd-v1.1.md | admin-v1.1.html (R1) | user-end-v1.1.html (R1) | 支付商业化：付费面板 / 订单 / 钱包 |
| v1.2 | docs/prd-v1.2.md | admin-v1.2.html (R1) | —（无用户端改动） | 投放增长：归因 / Pixel / 推广管理 |
| v1.3 | docs/prd-v1.3.md | admin-v1.3.html (**R6 当前**) | user-end-v1.3.html (R1) | 留存与基建：多语言 / 屏蔽 / 告警 + 持续优化 |

> **当前工作版本**：admin-v1.3.html、user-end-v1.3.html。历史版本文件已冻结，仅作回溯参考，不再修改。

### 1.3 修订流程（每次优化轮次执行）

1. **改动前**：在下方「变更日志」登记本次修订号、日期、主题
2. **改动中**：原型内版本徽标（侧边栏底部）同步更新 `v1.3-R{N}`
3. **改动后**：跑验证管线（node --check + 悬空引用检查），在日志中补记改动清单
4. **需求冻结**：对应需求版本评审通过并移交研发后，该文件冻结；下一轮改动复制为新版本文件（`cp admin-v1.3.html admin-v1.4.html` 后改版本号）

### 1.4 文件规范

- **单文件自包含**：每个原型为一个独立 HTML（Tailwind CDN + 内联数据与脚本），双击即可在浏览器打开，无需构建
- **命名规则**：`{端}-v{需求版本}.html`，修订不产生新文件，只在文件内迭代
- **版本徽标**：文件内侧边栏底部常驻 `ODRAMA {端} v{版本}-R{修订}`，点击可查看版本日志弹窗（后台）；用户端在设置页 About 显示版本号

---

## 二、存储与分享

### 2.1 存储结构

```
biteshorts/
├── prototype/              # 原型库（本目录）
│   ├── index.html          # 门户页：版本矩阵 + 变更日志 + 分享入口
│   ├── CHANGELOG.md        # 本文档：版本规范 + 变更日志
│   ├── admin-v1.0~v1.3.html
│   └── user-end-v1.0/v1.1/v1.3.html
├── docs/                   # PRD 文档（与原型版本对应）
│   └── prd-v1.0~v1.3.md
└── scripts/
    ├── prototype-server.sh   # 一键启动局域网分享服务器
    ├── cloudflare-deploy.sh  # 一键更新 Cloudflare Pages 线上版本
    └── validate-prototype.js # 原型验证（语法/悬空引用/缺失函数）
```

### 2.2 分享方式（按场景选择）

| 场景 | 方式 | 操作 |
|------|------|------|
| **发个人** | 直接发文件 | 原型为自包含单 HTML，飞书/微信发送文件，对方双击浏览器打开 |
| **同团队（同 WiFi）** | 局域网服务器 | 终端执行 `bash scripts/prototype-server.sh`，同事访问 `http://你的IP:8080`（IP 见脚本输出） |
| **跨地点/正式评审** | **Cloudflare Pages（已部署）** | 门户页链接直接分享（见下方 2.3 公网部署） |
| **版本归档** | 随 Git 仓库 | prototype/ 纳入版本控制，每次修订提交 commit（commit message 带 R 号） |

### 2.3 公网部署（Cloudflare Pages，2026-08-17 已上线）

**线上地址**（发门户页这一个链接即可）：

| 页面 | 链接 |
|------|------|
| **门户页（主入口）** | https://biteshorts-prototype.pages.dev/ |
| 运营后台当前版 | https://biteshorts-prototype.pages.dev/admin-v1.3.html |
| 用户端当前版 | https://biteshorts-prototype.pages.dev/user-end-v1.3.html |
| 版本日志 | https://biteshorts-prototype.pages.dev/CHANGELOG.md |

**部署信息**：

- 平台：Cloudflare Pages（免费版：不限流量/请求数，500 次构建/月）
- 账号：ada01325150@gmail.com（Account ID `4a4db543b691c7cdbd0c190674170631`）
- 项目名：`biteshorts-prototype`（production branch = main）
- 部署方式：官方 wrangler CLI OAuth 授权（凭据存于本机 `~/Library/Preferences/.wrangler/config/default.toml`，换电脑需重新 `wrangler login`）

**更新流程**（原型改完 → 一条命令同步线上）：

```bash
bash scripts/cloudflare-deploy.sh
```

**注意事项**：

- pages.dev 域名在国内访问不稳定，给国内同事分享前先让对方测试门户页；不可用则改用局域网脚本或补部署 EdgeOne Pages（腾讯云，国内 CDN）
- 链接即权限：任何拿到链接的人都能查看，原型含商业化策略，控制分享范围；需要下线随时删项目
- 每次部署会覆盖线上文件，历史部署快照保留在 Cloudflare 控制台（每个部署有独立预览 URL）

---

## 三、变更日志

> R 号 = 修订号；行数为该次修订后文件规模；★ = 当前工作版

### admin-v1.0.html（2026-08-14 冻结）

| 修订 | 日期 | 主题 | 行数 | 主要内容 |
|------|------|------|------|---------|
| R1 | 2026-08-14 | 初版构建 | ~2338 | 资源位管理 9 位、商业化 5 Tab、权限 4 角色矩阵、短剧预览、订单管理、内容评级 SABC |
| R2 | 2026-08-14 | 优化2·四模块重构 | ~2500 | 编辑/查看模式、选剧左侧抽屉、用户管理字段重构、系统配置 Tab 化 + 全屏协议编辑器 |
| R3 | 2026-08-14 | 优化3·AnyReel 对齐 | 2707（冻结） | 用户账号状态（正常/注销/删除）+ 筛选、用户详情邮箱字段 |

### user-end-v1.0.html（2026-08-14 冻结）

| 修订 | 日期 | 主题 | 行数 | 主要内容 |
|------|------|------|------|---------|
| R1 | 2026-08-14 | 初版构建 | 1070 | v1.0 免费版：首页推荐位、播放器、设置页、账号删除流程 |
| R2 | 2026-08-14 | 优化2 | ~1100 | 设置页分组布局、Help & Support |
| R3 | 2026-08-14 | 优化3·AnyReel 对齐 | 1275（冻结） | 账号删除完整流程（警告→清单→确认→成功页） |

### admin-v1.1.html（2026-08-14 冻结）

| 修订 | 日期 | 主题 | 行数 | 主要内容 |
|------|------|------|------|---------|
| R1 | 2026-08-14 | v1.1 支付商业化 | ~2490（冻结） | 订单管理 5 状态筛选 + 订单详情时间线（核验失败人工重核）、用户列表会员/双币列、用户详情 4 Tab（基本/订单/金币/解锁） |

### user-end-v1.1.html（2026-08-14 冻结）

| 修订 | 日期 | 主题 | 行数 | 主要内容 |
|------|------|------|------|---------|
| R1 | 2026-08-14 | v1.1 支付商业化 | 1738（冻结） | 首页 VIP 入口、My Page VIP 横幅 + 钱包、会员中心（周/月/年）、充值中心金币档、三合一付费面板、付费集锁定 |

### admin-v1.2.html（2026-08-14 冻结）

| 修订 | 日期 | 主题 | 行数 | 主要内容 |
|------|------|------|------|---------|
| R1 | 2026-08-14 | v1.2 投放增长 | 2903（冻结） | 投放管理导航组（推广/落地页/报表）、订单归因渠道 + 回传状态、用户归因筛选 + 归因历史 Tab、系统配置 Pixel & Conversion Tab、消耗 vs 归因收入 ROI |

### user-end-v1.3.html（2026-08-17，随 v1.3 线继续修订）

| 修订 | 日期 | 主题 | 行数 | 主要内容 |
|------|------|------|------|---------|
| R1 | 2026-08-17 | v1.3 留存与基建 | 2027 | 反馈系统（300字+6图+历史+官方回复）、语言切换（英/西/葡）、Continue Watching 横幅、播放器小窗续播、登录引导弹窗、区域屏蔽页 |
| R2 | 2026-08-17 | 版本管理接入 | 2083 ★ | 设置页 About 版本号规范化 `v1.3 (Build 2026.08.17)`，与后台版本体系对齐 |

### admin-v1.3.html ★ 当前工作版

| 修订 | 日期 | 主题 | 行数 | 主要内容 |
|------|------|------|------|---------|
| R1 | 2026-08-14 | v1.3 留存与基建 | 3113 | 语言包管理三语 Tab（key-value + 完整性校验 + 批量导入导出）、内容弹窗（素材/跳转/范围/频控）、屏蔽管理（整体 + 按剧）、运维告警（4 服务阈值 + P1-P3 记录） |
| R2 | 2026-08-14 | 优化4·四模块深化 | 3918 | 资源位语言 Tabs + 11 位推荐、商业化重构（商品数据驱动 + 批量导入 + 解锁判定流程）、用户详情独立页、短剧预览改版、权限管理重做（团队/角色/用户/菜单 4 Tab + 权限公式） |
| R3 | 2026-08-14 | 优化5·付费对齐文档 | 4483 | 付费面板类型（默认兜底/专用）+ 适用人群（优化师/推广ID）+ 优先级排序、短剧付费管理弹窗、订单管理整页重写（商品类型/付费位置/归因剧 + 六状态流转）、Pixel 分渠道（FB/TT/GGL + CAPI）、报表中心三组视图 |
| R4 | 2026-08-17 | 优化6·第一轮 | 4802 | 通用弹窗基础设施（common-modal）、13 处模拟弹窗改真实弹窗、推广链 Pixel 改静态预配置选择 |
| R5 | 2026-08-17 | 优化6·第二轮 | 5047 | 频道改男频/女频（默认女频）、商品分端管理（iOS/Android 切换）、面板详情参照 Axure 重构（左配置 + 右双手机实时预览 + 选择商品弹窗）、落地页改右侧滑出抽屉 + 左旁实时预览 |
| R6 | 2026-08-17 | 优化7·版本管理 | — | 版本徽标 + 版本日志弹窗（版本三元组体系）、CHANGELOG.md、index.html 门户页、prototype-server.sh 分享脚本、Cloudflare Pages 公网部署（biteshorts-prototype.pages.dev）+ cloudflare-deploy.sh 更新脚本 |

---

## 四、变更登记模板（每次修订复制使用）

```markdown
| R{N} | {YYYY-MM-DD} | {优化N·主题} | {行数} | {改动要点，分号分隔} |
```
