hookehuyr

docs(plan): 新增计划书 form_sn 映射文档

- 创建 form-sn-mapping.md 文档,提供完整的 form_sn 到模版组件的映射关系
- 创建 form-sn-mapping.json 文件,提供机器可读的映射数据
- 包含 8 个产品的映射(人寿保险 2 个、重疾保险 3 个、储蓄保险 4 个)
- 提供后端集成指南,包括 API 返回示例、命名规范、新产品接入流程
- 明确职责分工:后端只负责返回 form_sn 字段,前端处理具体配置

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
......@@ -5,6 +5,24 @@
---
## [2026-02-06] - 新增 form_sn 映射文档
### 文档
- 创建 `form-sn-mapping.md` 文档,提供完整的 form_sn 映射关系说明
- 创建 `form-sn-mapping.json` 文件,提供机器可读的映射数据
### 核心内容
- **8 个产品的 form_sn 映射**:人寿保险(2个)、重疾保险(3个)、储蓄保险(4个)
- **3 种模版组件说明**:LifeInsuranceTemplate、CriticalIllnessTemplate、SavingsTemplate
- **后端集成指南**:包含 API 返回示例、命名规范、新产品接入流程
### 文件位置
- 文档:`docs/form-sn-mapping.md`
- JSON:`docs/form-sn-mapping.json`
- 配置源文件:`src/config/plan-templates.js`
---
## [2026-02-06] - 计划书生成模块架构与经验教训总结
### 文档
......
{
"version": "1.0",
"updated_at": "2026-02-06",
"description": "计划书 form_sn 映射表 - 后端根据产品返回对应的 form_sn,前端根据该字段选择模版组件",
"note": "所有配置细节(币种、缴费年期等)由前端处理,后端只需要返回正确的 form_sn 字段",
"templates": {
"LifeInsuranceTemplate": {
"name": "人寿保险模版",
"description": "用于人寿保险产品的计划书生成"
},
"CriticalIllnessTemplate": {
"name": "重疾保险模版",
"description": "用于重疾保险产品的计划书生成"
},
"SavingsTemplate": {
"name": "储蓄保险模版",
"description": "用于储蓄型保险产品的计划书生成(含提取计划)"
}
},
"mapping": {
"life-insurance-wiop3e": {
"product_name": "WIOP3E 盈传创富保障计划 3 - 优选版",
"template": "LifeInsuranceTemplate"
},
"life-insurance-wiop3": {
"product_name": "WIOP3 - 盈传创富保障计划 3",
"template": "LifeInsuranceTemplate"
},
"critical-illness-mpc": {
"product_name": "MPC 守护无间重疾",
"template": "CriticalIllnessTemplate"
},
"critical-illness-mbc-pro": {
"product_name": "MBC PRO 活跃人生重疾保 PRO",
"template": "CriticalIllnessTemplate"
},
"critical-illness-mbc2": {
"product_name": "MBC2 活跃人生重疾保 2",
"template": "CriticalIllnessTemplate"
},
"savings-gs": {
"product_name": "宏挚传承保障计划(GS)",
"template": "SavingsTemplate"
},
"savings-gc": {
"product_name": "宏挚家传保险计划(GC)",
"template": "SavingsTemplate"
},
"savings-fa": {
"product_name": "宏浚传承保障计划(FA)",
"template": "SavingsTemplate"
},
"savings-lv2": {
"product_name": "赤霞珠终身寿险计划2(LV2)",
"template": "SavingsTemplate"
}
},
"naming_convention": {
"format": "{模版类型}-{产品简称}",
"prefixes": {
"life-insurance-": "人寿保险",
"critical-illness-": "重疾保险",
"savings-": "储蓄保险"
}
},
"api_example": {
"product_list": {
"code": 1,
"data": [
{
"id": 1,
"product_name": "WIOP3E 盈传创富保障计划 3 - 优选版",
"form_sn": "life-insurance-wiop3e"
},
{
"id": 2,
"product_name": "MPC 守护无间重疾",
"form_sn": "critical-illness-mpc"
},
{
"id": 3,
"product_name": "宏挚传承保障计划",
"form_sn": "savings-gs"
}
]
}
}
}
# 计划书 form_sn 映射文档
**版本**: v1.0
**更新日期**: 2026-02-06
**用途**: 后端根据产品返回对应的 `form_sn` 字段,前端根据该字段选择对应的计划书模版组件
---
## 🎯 核心映射关系
### 系统架构
```
产品 API 返回 form_sn
前端根据 form_sn 查找映射表
决定使用哪个模版组件(3选1)
前端加载对应的配置
```
### 3 个模版组件
| 模版组件 | 说明 |
|---------|------|
| `LifeInsuranceTemplate` | 人寿保险模版 |
| `CriticalIllnessTemplate` | 重疾保险模版 |
| `SavingsTemplate` | 储蓄保险模版(含提取计划) |
---
## 🏷️ form_sn → 模版组件映射表
### 完整映射表(后端必读)
```javascript
const FORM_SN_TO_TEMPLATE = {
// 人寿保险 → LifeInsuranceTemplate
'life-insurance-wiop3e': 'LifeInsuranceTemplate',
'life-insurance-wiop3': 'LifeInsuranceTemplate',
// 重疾保险 → CriticalIllnessTemplate
'critical-illness-mpc': 'CriticalIllnessTemplate',
'critical-illness-mbc-pro': 'CriticalIllnessTemplate',
'critical-illness-mbc2': 'CriticalIllnessTemplate',
// 储蓄保险 → SavingsTemplate
'savings-gs': 'SavingsTemplate',
'savings-gc': 'SavingsTemplate',
'savings-fa': 'SavingsTemplate',
'savings-lv2': 'SavingsTemplate'
}
```
---
## 📋 产品清单
### 人寿保险产品(使用 LifeInsuranceTemplate)
| form_sn | 产品名称 |
|---------|---------|
| `life-insurance-wiop3e` | WIOP3E 盈传创富保障计划 3 - 优选版 |
| `life-insurance-wiop3` | WIOP3 - 盈传创富保障计划 3 |
---
### 重疾保险产品(使用 CriticalIllnessTemplate)
| form_sn | 产品名称 |
|---------|---------|
| `critical-illness-mpc` | MPC 守护无间重疾 |
| `critical-illness-mbc-pro` | MBC PRO 活跃人生重疾保 PRO |
| `critical-illness-mbc2` | MBC2 活跃人生重疾保 2 |
---
### 储蓄保险产品(使用 SavingsTemplate)
| form_sn | 产品名称 |
|---------|---------|
| `savings-gs` | 宏挚传承保障计划(GS) |
| `savings-gc` | 宏挚家传保险计划(GC) |
| `savings-fa` | 宏浚传承保障计划(FA) |
| `savings-lv2` | 赤霞珠终身寿险计划2(LV2) |
---
## 💡 后端集成指南
### 1. 产品列表 API 示例
```json
{
"code": 1,
"data": [
{
"id": 1,
"product_name": "WIOP3E 盈传创富保障计划 3 - 优选版",
"form_sn": "life-insurance-wiop3e"
},
{
"id": 2,
"product_name": "MPC 守护无间重疾",
"form_sn": "critical-illness-mpc"
},
{
"id": 3,
"product_name": "宏挚传承保障计划",
"form_sn": "savings-gs"
}
]
}
```
### 2. form_sn 命名规范
**格式**: `{模版类型}-{产品简称}`
| 模版类型 | 前缀 | 示例 |
|---------|------|------|
| 人寿保险 | `life-insurance-` | `life-insurance-wiop3e` |
| 重疾保险 | `critical-illness-` | `critical-illness-mpc` |
| 储蓄保险 | `savings-` | `savings-gs` |
### 3. 新产品接入流程
**步骤 1**: 确定产品类型(人寿/重疾/储蓄)
**步骤 2**: 选择对应的前缀
- 人寿保险 → `life-insurance-xxx`
- 重疾保险 → `critical-illness-xxx`
- 储蓄保险 → `savings-xxx`
**步骤 3**: 与前端确认 form_sn 值
- 后端提供产品基本信息
- 前端确认使用哪个模版组件
- 前端更新配置文件(`src/config/plan-templates.js`
**注意**
- ✅ 后端只负责返回 form_sn 字段
- ✅ 所有配置细节(币种、缴费年期等)由前端处理
- ❌ 后端不需要关心具体配置
---
## 📦 前端配置文件
**配置源文件**: `src/config/plan-templates.js`
前端根据 form_sn 查找配置:
```javascript
export const PLAN_TEMPLATES = {
'life-insurance-wiop3e': {
name: 'WIOP3E 盈传创富保障计划 3 - 优选版',
component: 'LifeInsuranceTemplate', // 使用哪个模版
config: {
// 前端处理的配置细节
currency: 'USD',
payment_periods: [...],
age_range: { min: 0, max: 75 },
insurance_period: '终身'
}
}
}
```
---
## ✅ 后端检查清单
产品 API 开发完成前请确认:
- [ ] 产品 API 返回 `form_sn` 字段
- [ ] `form_sn` 值与映射表中的 key 完全一致
- [ ] 新产品上线前与前端确认 form_sn
- [ ] 了解 3 个模版组件的区别(人寿/重疾/储蓄)
---
## 📞 联系方式
如有疑问或需要新增产品,请联系前端开发团队。
---
## 🔄 版本历史
| 版本 | 日期 | 变更说明 |
|------|------|----------|
| v1.0 | 2026-02-06 | 初始版本,定义 3 个模版组件和 8 个产品的映射关系 |