# 首页第二屏菜单 + 轮播图绑定产品线

- **日期**: 2026-04-18
- **PR**: [#815](https://git.1814.love:8443/wx/HL/pulls/815) (Closes #814)
- **状态**: 已合并 + 测试环境 DB/服务全部就绪

---

## 1. 管理端新增菜单（前端需对接）

### sys_menu INSERT

| menu_id | menu_name | parent_id | path | component | type | permission_code |
|---------|-----------|-----------|------|-----------|------|-----------------|
| 1108 | 首页第二屏 | 991 (首页配置) | `/mp-config/home/screen2` | `/mp-config/home/screen2` | M | `home:screen2:list` |
| 1109 | 编辑首页第二屏 | 1108 | - | - | B | `home:screen2:edit` |

### 前端需要做的
- 新建路由 `/mp-config/home/screen2` 对应组件/页面
- 页面内表单字段对接 PR #811 的 `GET/PUT /admin/home-config/brand-story` 接口
- 发布按钮调用 `PUT` 时 `publish=true`；草稿按钮 `publish=false`

---

## 2. 轮播图新增 `PRODUCT_LINE` 跳转类型

### 字典扩展

```
dict_type: banner_link_type
新增: {dict_label: "产品线", dict_value: "PRODUCT_LINE", sort_order: 6}
```

现完整字典值：

| label | value | 备注 |
|-------|-------|------|
| 产品详情 | PRODUCT | link_id = product_id |
| 文章详情 | ARTICLE | link_id = article_id |
| 外部链接 | URL | link_url 填 https 链接 |
| 小程序页面 | MINI_PAGE | link_url 填 miniprogram 路径 |
| 无跳转 | NONE | - |
| **产品线** | **PRODUCT_LINE** | **link_id = product_line_id**（新增） |

### 后端已支持

- `BannerService.VALID_LINK_TYPES` 已加 `PRODUCT_LINE`
- 保存接口 `POST /admin/banner` 和 `PUT /admin/banner/{id}` 接受 `linkType: "PRODUCT_LINE"`
- 测试环境验证：
  ```
  POST /admin/banner {"linkType":"PRODUCT_LINE","linkId":"9999",...}
  → 200 成功，linkType=PRODUCT_LINE 原样保存
  ```

### 前端需要做的

- 轮播图管理页（`/mp-config/home/banner`）表单的"跳转类型"下拉加一个 `产品线`
- 选中"产品线"时：`link_id` 字段变为"产品线选择器"（调用产品线列表接口 `GET /admin/product-line/enabled` 或类似）
- 小程序端渲染轮播图时：`link_type === "PRODUCT_LINE"` → 跳转到产品线详情页/主题列表页

---

## 3. 测试环境验证

- 菜单 INSERT：已执行，测试服务器 `sys_menu.menu_id IN (1108,1109)` + `sys_role_menu` 关联 `role_id=7` 到位
- 字典 INSERT：已执行，`sys_dict_data.banner_link_type=PRODUCT_LINE` 到位
- `user-service` 已滚动部署新代码（两实例 8081/8181）
- API 验证：`POST /admin/banner linkType=PRODUCT_LINE` ✅ 保存成功

---

## 4. 生产部署需要做的

- 跑 SQL `sql/menu_home_screen2_and_banner_product_line_20260418.sql`（幂等）
- 重新部署 `hl-user-service`（Java 代码有改动）

---

## 5. 关联

- PR #811 主需求：小程序首页第二屏品牌故事+主题卡片
- PR #813 Gateway 路由补齐
- PR #815 菜单 + 轮播图 PRODUCT_LINE（本 PR）
