feat(app): 添加多模板关于我们页面及相关路由和404页面
- 新增404页面,优化未找到页面体验,避免被搜索引擎索引 - 增加文件代理接口,隐藏真实文件服务器地址,支持文件请求代理 - 实现/article、/case、/product及/page动态路由兼容列表与详情展示 - 添加动态CMS页面兼容入口处理旧式路径,统一路由与SEO设置 - 新增模板1、模板7、模板2、模板3关于我们页面,实现多模板支持 - 模板增强支持CMS单页内容加载及SEO信息动态设置 - 配置环境变量及Git忽略文件规则辅助开发和构建环境管理
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
# 首页优势模块 - 后端对接说明
|
||||
|
||||
前端(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. 前台对应租户首页「优势卡片区」内容随之变化;关闭「启用模块」后整块消失。
|
||||
Reference in New Issue
Block a user