Files
BlackFruit-UI/plugins/addon/theme_configurator
yiqiu e72fbaf98a
All checks were successful
continuous-integration/drone/push Build is passing
顶部导航
2026-01-10 16:20:18 +08:00
..
2025-12-28 16:12:16 +08:00
2025-12-28 13:29:37 +08:00
2026-01-10 16:20:18 +08:00
2026-01-10 16:20:18 +08:00
2025-11-20 23:37:31 +08:00
2025-12-28 13:12:07 +08:00
2025-12-28 13:12:07 +08:00
2025-11-20 23:37:31 +08:00
2025-11-20 23:37:31 +08:00
2025-12-28 13:29:37 +08:00

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                 # 多语言

使用步骤

  1. 将目录复制到业务系统的 public/plugins/addon 下;
  2. 在后台启用插件,安装脚本会自动创建 addon_theme_configurator 表;
  3. 进入“插件 > 主题配置”页(index.html),按 JSON 结构维护导航、SEO、轮播、侧边栏等
  4. 前端 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_* 控制右下角按钮。