Files
hjc-web/database/feature-section-backend.md
gxwebsoft 2b69686795 feat(app): 添加多模板关于我们页面及相关路由和404页面
- 新增404页面,优化未找到页面体验,避免被搜索引擎索引
- 增加文件代理接口,隐藏真实文件服务器地址,支持文件请求代理
- 实现/article、/case、/product及/page动态路由兼容列表与详情展示
- 添加动态CMS页面兼容入口处理旧式路径,统一路由与SEO设置
- 新增模板1、模板7、模板2、模板3关于我们页面,实现多模板支持
- 模板增强支持CMS单页内容加载及SEO信息动态设置
- 配置环境变量及Git忽略文件规则辅助开发和构建环境管理
2026-09-08 12:13:44 +08:00

69 lines
2.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 首页优势模块 - 后端对接说明
前端(website-template)与后台(website-admin)已改造完成,数据通过 `cms_website_setting.features` 字段贯通。
本文件说明 **Java 后端** 需要补齐的两处改动,否则后台配置无法真正持久化 / 下发给前台。
## 1. 数据库
执行 `database/add-website-setting-features.sql`
```sql
ALTER TABLE cms_website_setting
ADD COLUMN features TEXT NULL
COMMENT '首页优势模块配置(JSON)';
```
## 2. 实体 `CmsWebsiteSetting`
`com.gxwebsoft.cms.entity.CmsWebsiteSetting` 增加字段(MyBatis-Plus 自动建表/映射):
```java
@TableField("features")
private String features; // 首页优势模块配置 JSON 字符串
```
并在对应的 VO / 返回对象中保留该字段。
## 3. `getSiteInfo` 合并 features 到 setting
`getSiteInfo` 当前已把 `cms_website_setting``searchBtn / loginBtn / ...` 合并进返回体的 `setting`
(前台 `siteInfo.setting` 即来源)。**新增**:把 `features` 也合并进去。
伪代码:
```java
// 在组装 setting 对象处,追加
setting.put("features", websiteSetting != null ? websiteSetting.getFeatures() : null);
```
前端 `useFeatures()` 读取 `siteInfo.setting.features``JSON.parse`
若后端未合并,前台拿不到 `features` → 自动回退各模板默认数据(不影响页面展示,仅配置不生效)。
## 4. 数据格式约定
`features` 为 JSON 字符串,结构:
```json
{
"enabled": true,
"title": "我们的优势",
"subtitle": "为企业提供从品牌展示到客户转化的全链路官网解决方案",
"items": [
{ "title": "企业优势", "desc": "...", "icon": "building" },
{ "title": "核心产品", "desc": "...", "icon": "box" },
{ "title": "客户案例", "desc": "...", "icon": "case" },
{ "title": "在线留言", "desc": "...", "icon": "message" }
]
}
```
- `icon` 为图标名,取值范围为前台 `FeatureIcon.vue` 的 36 个名称,后台下拉已内置。
- `items` 最多 4 个(前后台均做了截断)。
- `enabled=false` 时前台隐藏整块。
## 5. 验证清单
1. 后台「网站设置 → 功能开关 → 首页优势模块」修改标题 / 卡片并保存;
2.`GET /api/cms/cms-website/getSiteInfo` 确认返回 `setting.features` 非空;
3. 前台对应租户首页「优势卡片区」内容随之变化;关闭「启用模块」后整块消失。