hl-api-changelog/changelogs/2026-04/2026-04-18_home-menu-banner-productline.md
2026-04-18 13:54:13 +08:00

84 行
2.9 KiB
Markdown

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

# 首页第二屏菜单 + 轮播图绑定产品线
- **日期**: 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