Designer de vistas
O designer de vistas do Doggy é uma ferramenta visual de layout de páginas, com suporte para design por arrastar-e-soltar, ligação a fontes de dados, pré-visualização em tempo real, aprimoramento IA e gestão de versões.
Visão geral
O sistema de vistas é construído sobre as seguintes entidades (src/Entity/Platform/):
View.php: definição da vista (configuração de layout, fonte de dados, informação de versão)ViewField.php: configuração de cada campo na vista
A entrada de administração está em App\Controller\Admin\Platform\ViewEditorController e a entrada da API em ViewEditorApiController.
Estrutura da vista
View
├── Configuração de layout (linhas/colunas de grelha)
├── Ligação de campos (ViewField)
│ ├── Tabela de dados
│ ├── Formulário
│ ├── Cartão de estatísticas
│ └── Conteúdo de texto
├── Configuração da fonte de dados
└── Diretórios de versões (1_0/, 2_0/...)Como utilizar
- Aceder a Plataforma low-code → Gestão de vistas (
/admin/platform/view) - Clicar em Nova vista
- Editar o layout da vista (
editor.html.twig) - Configurar as propriedades dos componentes e a fonte de dados
- Pré-visualizar o resultado (
editor_section_properties.html.twig) - Guardar e publicar
Aprimoramento IA
O editor de vistas integra profundamente o Assistente IA:
- Painel IA flutuante: abre através do botão flutuante no canto inferior direito de todas as páginas
- Registo de contexto: o editor regista automaticamente o contexto
view_editor - Operações em linguagem natural: "alterar este texto para o estilo de título"
- Chamadas de ferramentas:
view.getInfo,view.updateSectionConfig,view.updateFieldConfig,view.listEntityFields - Reconhecimento de intenções + subagentes: geração de vistas de formulário/relatório/página de destino com um clique (ver Aprimoramento de vista IA)
Suporta também assistência de layout Tailwind CSS (baseada no runtime Twind):
- Layout rápido: classes de utilitário flex/grid/espaçamentos/altura-largura
- Coexiste com os inline styles existentes, sem conflitos
- O frontend de produção carrega on-demand, sem etapa de build
Ligação de fontes de dados
A fonte de dados da vista é configurada através da entidade DataSource.php, com suporte para:
- Fonte de dados de entidade: liga os dados do modelo dinâmico
- Fonte de dados API: invoca APIs personalizadas
- Fonte de dados estática: dados fixos
Geração de código
Depois de guardar a vista, o sistema gera os ficheiros de template Twig correspondentes em templates/views/:
templates/views/
├── hello/
│ └── 1_0/
│ ├── hello.html.twig
│ └── hello.design.twig
└── 组织架构/
└── post_management/
└── 1_0/
├── post_management.html.twig
└── post_management.design.twigOs templates gerados podem ser utilizados diretamente ou sujeitos a desenvolvimento adicional.
Gestão de versões
As vistas suportam gestão de múltiplas versões (cada versão corresponde a um conjunto independente de ficheiros twig):
- Alternar versão: ativar uma versão como versão atual
- Nova versão: copiar da versão atual ou criar uma versão vazia
- Eliminar uma vista move-a para a reciclagem (recuperável)
- O editor trabalha por versão, podendo ser explicitamente especificada
?version=...
Serviços relacionados
FormFieldBuilderService.php: construção de campos de formulárioViewFolderType.php,ViewType.php: definições de tipos de formulárioAiChatController.php: interface de conversação IAViewAiTaskApiController.php: interface de tarefas de aprimoramento IA