Skip to content

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

  1. Aceder a Plataforma low-code → Gestão de vistas (/admin/platform/view)
  2. Clicar em Nova vista
  3. Editar o layout da vista (editor.html.twig)
  4. Configurar as propriedades dos componentes e a fonte de dados
  5. Pré-visualizar o resultado (editor_section_properties.html.twig)
  6. 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.twig

Os 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ário
  • ViewFolderType.php, ViewType.php: definições de tipos de formulário
  • AiChatController.php: interface de conversação IA
  • ViewAiTaskApiController.php: interface de tarefas de aprimoramento IA

Código aberto sob MIT | Copyright © 2026 Doggy