2.8 KiB
2.8 KiB
Theme Configurator 插件
此插件演示如何通过后台插件的方式为 BlackFruit-UI 主题提供可配置能力,支持设置导航、页脚、站点信息、SEO、首页轮播、友情链接、荣誉资质、反馈类型以及右侧浮窗,并提供 /console/v1/theme/config 接口与前端联动。
功能
- 图片上传: 依赖业务系统的全局上传接口
/{DIR_ADMIN}/v1/upload和/console/v1/upload,与官方示例插件保持一致 - 后台界面(
template/admin/index.html)通过表单 + JSON 的方式维护主题参数:- SEO、站点基础信息(企业名称、电话、备案、协议链接、产品链接等);
- 首页轮播 Banner(支持图片上传);
- 友情链接(friendly_link);
- 企业荣誉(honor,支持图片上传);
- 反馈类型(feedback_type);
- 右侧浮窗(side / side_floating_window,支持图标上传);
- 复杂导航结构(header_nav/footer_nav)可在"高级配置 (JSON)"中维护,子菜单支持图标上传。
- 接口
GET/POST /{DIR_ADMIN}/v1/theme/config提供配置读取与保存; - 前台接口
GET /console/v1/theme/config输出与/console/v1/common同结构的数据,BlackFruit-UI 可以直接接入; - 插件安装时创建
addon_theme_configurator表并写入默认配置。
目录
plugins/addon/theme_configurator
├── ThemeConfigurator.php # 插件主文件
├── controller/
│ ├── ThemeController.php # 后台 API
│ └── clientarea/ThemeController.php # 前台 API
├── model/ThemeConfigModel.php # 主题配置模型
├── template/admin/index.html # 后台可视化页面
├── route.php # 自定义路由定义
├── sidebar*.php # 前后台导航
├── auth.php # 权限配置
└── lang/zh-cn.php # 多语言
使用步骤
- 将目录复制到业务系统的
public/plugins/addon下; - 在后台启用插件,安装脚本会自动创建
addon_theme_configurator表; - 进入“插件 > 主题配置”页(
index.html),按 JSON 结构维护导航、SEO、轮播、侧边栏等; - 前端 BlackFruit-UI 请求
/console/v1/theme/config以获取运行时配置。若需要兼容现有/console/v1/common,可在 Nginx 或网关层做转发。
banner 字段示例
"banner": [
{
"title": "中小企业的云计算底座",
"description": "自定义文案",
"img": "/upload/banner-1.png",
"url": "/cloud.html",
"blank": false,
"button_text": "立即查看",
"button_link": "/cloud.html",
"button_blank": false
}
]
BlackFruit-UI 会在首页读取 banner 数组动态渲染轮播图,url/blank 控制整张 Banner 的跳转,button_* 控制右下角按钮。