視圖設計器
Doggy 視圖設計器是一個視覺化的頁面版面配置工具,支援拖曳式設計、資料來源綁定、即時預覽、AI 增強和版本管理。
概述
視圖系統基於以下實體建置(src/Entity/Platform/):
View.php:視圖定義(版面配置設定、資料來源、版本資訊)ViewField.php:視圖中每個欄位的設定
管理入口在 App\Controller\Admin\Platform\ViewEditorController,API 入口在 ViewEditorApiController。
視圖結構
View
├── 布局配置(栅格行/列)
├── 字段绑定(ViewField)
│ ├── 数据表格
│ ├── 表单
│ ├── 统计卡片
│ └── 文本内容
├── 数据源配置
└── 版本目录(1_0/, 2_0/...)使用方式
- 進入 低程式碼平台 → 視圖管理(
/admin/platform/view) - 點擊 新增視圖
- 編輯視圖版面配置(
editor.html.twig) - 設定元件屬性和資料來源
- 預覽效果(
editor_section_properties.html.twig) - 儲存並發佈
AI 增強
視圖編輯器深度整合 AI 助手:
- 浮動 AI 面板:所有頁面右下角浮動按鈕開啟
- 上下文註冊:編輯器自動註冊
view_editor上下文 - 自然語言操作:"把這段文字改成標題樣式"
- 工具呼叫:
view.getInfo、view.updateSectionConfig、view.updateFieldConfig、view.listEntityFields - 意圖辨識 + 子 Agent:一鍵產生表單/報表/落地頁等情境視圖(見 AI 視圖增強)
同時支援 Tailwind CSS 版面配置輔助(基於 Twind 執行階段):
- 快速版面配置:flex/grid/間距/寬高 等 utility class
- 與既有 inline style 共存,互不衝突
- 正式環境前端視需求載入,無建置步驟
資料來源綁定
視圖資料來源透過 DataSource.php 實體設定,支援:
- 實體資料來源:綁定動態模型的資料
- API 資料來源:呼叫自訂 API
- 靜態資料來源:固定資料
程式碼產生
儲存視圖後,系統產生對應的 Twig 範本檔案到 templates/views/ 目錄:
templates/views/
├── hello/
│ └── 1_0/
│ ├── hello.html.twig
│ └── hello.design.twig
└── 组织架构/
└── post_management/
└── 1_0/
├── post_management.html.twig
└── post_management.design.twig產生的範本可直接使用或進行二次開發。
版本管理
視圖支援多版本管理(每個版本對應一組獨立的 twig 檔案):
- 切換版本:啟用某版本為目前版本
- 新增版本:從目前版本複製或建立空白版本
- 刪除視圖移至資源回收筒(可復原)
- 編輯器依版本運作,可明確指定
?version=...
相關服務
FormFieldBuilderService.php:表單欄位建置ViewFolderType.php、ViewType.php:表單類型定義AiChatController.php:AI 對話介面ViewAiTaskApiController.php:AI 增強任務介面