# Sub2API v0.1.112 合并项目状态文档

**生成日期**: 2026-04-14
**官方版本**: v0.1.112 (D:\project\sub2api-latest)
**本地版本**: D:\project\sub2apipro
**合并目录**: D:\project\sub2api-merge

---

## 一、项目目录结构

### 1.1 合并后项目根目录

```
D:\project\sub2api-merge\
├── backend\                    # 后端代码（Go + Ent ORM）
│   ├── cmd\                    # 命令入口
│   │   └── server\             # 服务器主程序
│   ├── ent\                    # Ent ORM Schema 和生成代码
│   │   └── schema\             # 数据库 Schema 定义
│   ├── internal\               # 内部代码
│   │   ├── config\             # 配置管理
│   │   ├── domain\             # 领域模型
│   │   ├── handler\            # HTTP 处理器
│   │   ├── payment\            # 支付模块（官方新增）
│   │   ├── pkg\                # 公共包
│   │   ├── repository\         # 数据仓储层
│   │   ├── server\             # HTTP 服务器
│   │   ├── service\            # 业务服务层
│   │   ├── setup\              # 初始化设置
│   │   └── util\               # 工具函数
│   ├── migrations\             # 数据库迁移脚本
│   └── resources\              # 资源文件
├── frontend\                   # 前端代码（Vue 3 + TypeScript）
│   ├── src\
│   │   ├── api\                # API 请求
│   │   ├── components\         # Vue 组件
│   │   │   ├── sora\           # Sora 组件（本地合并）
│   │   │   ├── payment\        # 支付组件（官方新增）
│   │   │   └── ...
│   │   ├── router\             # 路由配置
│   │   ├── stores\             # Pinia 状态管理
│   │   ├── types\              # TypeScript 类型定义
│   │   ├── views\              # 页面视图
│   │   └── i18n\               # 国际化
│   └── ...
├── docs\                       # 文档目录
│   └── reviews\                # 审查报告目录
├── deploy\                     # 部署文档
├── README.md
├── README_CN.md
└── ...
```

### 1.2 关键目录说明

| 目录 | 说明 | 来源 |
|------|------|------|
| `backend/internal/payment` | 支付系统模块 | 官方版本 |
| `backend/internal/service/sora_*.go` | Sora 视频生成服务 | 本地版本 |
| `backend/ent/schema/payment_*.go` | 支付相关 Schema | 官方版本 |
| `frontend/src/components/sora` | Sora 前端组件 | 本地版本 |
| `frontend/src/views/user/SoraView.vue` | Sora 页面 | 本地版本 |

---

## 二、合并记录文件位置

### 2.1 审查报告文件

| 文件名 | 路径 | 说明 |
|--------|------|------|
| `OFFICIAL_REVIEW_REPORT_2026-04-14.md` | `D:\project\sub2api-merge\docs\reviews\` | 官方版本 v0.1.112 代码审查报告 |
| `EXPERT_REVIEW_REPORT_2026-04-14.md` | `D:\project\sub2api-merge\docs\reviews\` | 专家审核报告（评分 6.7/10） |
| `DETAILED_MERGE_PLAN_2026-04-14.md` | `D:\project\sub2api-merge\docs\reviews\` | 详细合并方案（含补充修订） |

### 2.2 原始审查报告位置

| 文件名 | 路径 | 说明 |
|--------|------|------|
| `REVIEW_REPORT_2026-04-14.md` | `D:\project\sub2apipro\docs\reviews\` | 本地版本代码审查报告 |

---

## 三、合并功能清单

### 3.1 官方版本新增功能（已合并）

| 功能模块 | 状态 | 说明 |
|----------|------|------|
| 支付系统 | ✅ 已合并 | 支付订单、支付回调、退款 |
| 订阅计划 | ✅ 已合并 | 订阅计划管理 |
| 渠道管理 | ✅ 已合并 | 渠道配置和定价 |
| TLS 指纹配置 | ✅ 已合并 | TLS 客户端指纹模拟 |
| OIDC OAuth | ✅ 已合并 | OIDC 认证集成 |
| OpenAI Messages Dispatch | ✅ 已合并 | 模型消息分发配置 |

### 3.2 本地版本保留功能（已合并）

| 功能模块 | 状态 | 说明 |
|----------|------|------|
| Sora 视频生成 | ✅ 已合并 | Sora SDK 客户端、网关服务 |
| Sora 存储配额 | ✅ 已合并 | 用户/分组存储配额管理 |
| Sora 媒体存储 | ✅ 已合并 | S3/本地存储支持 |

---

## 四、数据库迁移文件清单

### 4.1 官方版本迁移文件

| 文件 | 说明 |
|------|------|
| `092_payment_orders.sql` | 支付订单表 |
| `095_subscription_plans.sql` | 订阅计划表 |
| `096_payment_provider_instances.sql` | 支付提供商实例表 |
| `080_create_tls_fingerprint_profiles.sql` | TLS 指纹配置表 |

### 4.2 本地版本迁移文件

| 文件 | 说明 |
|------|------|
| `046_add_sora_accounts.sql` | Sora 账号表 |
| `047_add_sora_pricing_and_media_type.sql` | Sora 定价和媒体类型 |
| `063_add_sora_client_tables.sql` | Sora 客户端表 |

---

## 五、Wire 依赖注入合并清单

### 5.1 cmd/server/wire.go

| Provider | 来源 | 状态 |
|----------|------|------|
| `payment.ProvideRegistry` | 官方 | ✅ 已注册 |
| `payment.ProvideEncryptionKey` | 官方 | ✅ 已注册 |
| `payment.ProvideDefaultLoadBalancer` | 官方 | ✅ 已注册 |
| `service.ProvidePaymentConfigService` | 官方 | ✅ 已注册 |
| `service.ProvidePaymentOrderExpiryService` | 官方 | ✅ 已注册 |
| `service.ProvideSoraMediaStorage` | 本地 | ✅ 已注册 |
| `service.ProvideSoraMediaCleanupService` | 本地 | ✅ 已注册 |
| `service.ProvideSoraSDKClient` | 本地 | ✅ 已注册 |

### 5.2 internal/handler/wire.go

| Handler | 来源 | 状态 |
|---------|------|------|
| `PaymentHandler` | 官方 | ✅ 已注册 |
| `PaymentWebhookHandler` | 官方 | ✅ 已注册 |
| `TLSFingerprintProfileHandler` | 官方 | ✅ 已注册 |
| `ChannelHandler` | 官方 | ✅ 已注册 |
| `SoraGatewayHandler` | 本地 | ✅ 已注册 |
| `SoraClientHandler` | 本地 | ✅ 已注册 |

### 5.3 internal/service/wire.go

| Provider | 来源 | 状态 |
|----------|------|------|
| `NewPaymentService` | 官方 | ✅ 已注册 |
| `NewChannelService` | 官方 | ✅ 已注册 |
| `NewTLSFingerprintProfileService` | 官方 | ✅ 已注册 |
| `NewSoraGatewayService` | 本地 | ✅ 已注册 |
| `NewSoraGenerationService` | 本地 | ✅ 已注册 |
| `NewSoraQuotaService` | 本地 | ✅ 已注册 |

---

## 六、前端路由合并清单

### 6.1 官方版本路由

| 路径 | 组件 | 状态 |
|------|------|------|
| `/purchase` | PaymentView.vue | ✅ 已配置 |
| `/payment/qrcode` | PaymentQRCodeView.vue | ✅ 已配置 |
| `/payment/result` | PaymentResultView.vue | ✅ 已配置 |
| `/payment/stripe` | StripePaymentView.vue | ✅ 已配置 |
| `/admin/channels` | ChannelsView.vue | ✅ 已配置 |
| `/admin/orders/dashboard` | AdminPaymentDashboardView.vue | ✅ 已配置 |
| `/admin/orders/plans` | AdminPaymentPlansView.vue | ✅ 已配置 |

### 6.2 本地版本路由

| 路径 | 组件 | 状态 |
|------|------|------|
| `/sora` | SoraView.vue | ✅ 已配置 |

---

## 七、构建验证状态

### 7.1 后端构建

| 检查项 | 状态 | 说明 |
|--------|------|------|
| `go build ./...` | ✅ 通过 | 无编译错误 |
| `go vet ./...` | ✅ 通过 | 无代码问题 |
| `go test ./...` | ⚠️ 部分通过 | logger 超时（已知 lumberjack 问题） |

### 7.2 前端构建

| 检查项 | 状态 | 说明 |
|--------|------|------|
| `npm run typecheck` | ✅ 通过 | TypeScript 类型检查通过 |
| `npm run build` | ✅ 通过 | 构建成功，28.72s |

---

## 八、已修复的问题清单

| 问题 | 文件 | 修复内容 |
|------|------|----------|
| 缺少 `/sora/` 路径支持 | `middleware/security_headers.go` | 添加 Sora 路径到 API 路由判断 |
| `provideCleanup` 参数不匹配 | `wire_gen_test.go` | 添加 `SoraMediaCleanupService` 参数 |
| 缺少 Sora 前端组件 | `views/user/SoraView.vue` | 从本地版本复制 |
| 缺少 Sora 组件目录 | `components/sora/*.vue` | 从本地版本复制 8 个组件 |
| 缺少 Sora API 文件 | `api/sora.ts` | 从本地版本复制 |
| 缺少 Sora 路由 | `router/index.ts` | 添加 `/sora` 路由 |
| 缺少 `sora_client_enabled` 类型 | `types/index.ts` | 添加到 `PublicSettings` 接口 |
| 缺少 `sora_client_enabled` 默认值 | `stores/app.ts` | 添加默认值 `false` |

---

## 九、后续待办事项

- [ ] 执行数据库迁移脚本
- [ ] 配置支付提供商
- [ ] 配置 Sora 存储后端
- [ ] 启用 Sora 客户端功能（如需要）
- [ ] 端到端功能测试

---

**文档版本**: v1.0
**最后更新**: 2026-04-14
