Navegação real
O rodapé troca entre todas as superfícies declaradas no aplicativo.
← voltar para o catálogo do SDK
Este caminho cria uma aplicação navegável com a mesma entrada usada pelos produtos integrados: Python tipado como fonte, JSON como fronteira e o renderer oficial para conferir desktop, celular, claro e escuro antes do registro.
O repositório público já traz um aplicativo neutro com cinco superfícies e o renderer Web compilado.
git clone https://github.com/okmigo-infra/cartao.git
cd cartao
python3 -m venv .venv
source .venv/bin/activate
pip install -e '.[dev]'
python -m okmigo_cartao preview exemplos/sdk_catalogo.py:APLICATIVO
Abra http://localhost:4173. Em container, publique ou
encaminhe a porta 4173. Para mudar endereço ou porta, use
--host 0.0.0.0 --port 44174.
A árvore começa em Aplicativo, contém
Superficie e termina em componentes de Tela.
from okmigo_cartao import (
Aplicativo, EstadoVazio, Fonte, GradeDeMetricas, Metrica,
Navegacao, Superficie, Tela, Tema,
)
INICIO = Tela(
"Visão geral",
(
GradeDeMetricas((
Metrica("Em andamento", "8"),
Metrica("Concluídos hoje", "14"),
)),
EstadoVazio(
"Nenhum alerta agora",
"Quando algo pedir decisão, aparecerá aqui.",
),
),
tema=Tema.OPERACAO,
navegacao=Navegacao.INFERIOR,
)
APLICATIVO = Aplicativo(
slug="acme",
endpoint="https://acme.example/mcp/",
para_tipo="socio",
descricao="Operação da Acme",
descricao_humana="A operação da Acme dentro do OkMigo",
nome_visivel="Acme",
versao="1.0.0",
conversa=(),
superficies=(
Superficie(
"inicio", "Início", "Início", "inicio",
"resumo da operação", Fonte("carregar_inicio"), INICIO,
),
),
)
Para um produto real, mantenha esta organização:
okmigo/
├── gerar_manifesto.py
├── aplicativo_sdk_produto.py
└── examples/
└── preview.dados.json
aplicativo_sdk_produto.py é a fonte de edição.
gerar_manifesto.py reexporta APLICATIVO e produz o
JSON usado no registro. Os dados fictícios pertencem ao repositório do
produto, junto da tela que exercitam.
O preview recebe o aplicativo inteiro; não é necessário compilar uma tela estática por vez.
python -m okmigo_cartao preview \
okmigo/gerar_manifesto.py:APLICATIVO \
--dados okmigo/examples/preview.dados.json \
--host 0.0.0.0 --port 4173
O arquivo de dados mapeia o nome de cada superfície. Use valores fictícios com texto longo, zero, lista vazia e mais de um item:
{
"superficies": {
"inicio": {
"resumo": {},
"linhas": []
}
}
}
O rodapé troca entre todas as superfícies declaradas no aplicativo.
_preview.respostas permite abrir detalhe e voltar sem chamar rede.
O preview simula o gesto; não grava no serviço externo.
O quadro de 390 px aproxima o Web responsivo; a conferência final nativa continua no emulador Flutter.
Valide todas as superfícies no desktop e celular, nos temas claro e escuro. O preview usa o mesmo componente React e os mesmos estilos do OkMigo Web; ele aproxima a plataforma nativa, mas não substitui o teste no emulador.
Python nunca é enviado nem executado pelo OkMigo.
from pathlib import Path
from okmigo_cartao import materializar_manifesto
from aplicativo_sdk_produto import APLICATIVO
MANIFESTO = APLICATIVO.compilar()
materializar_manifesto(
Path(__file__).with_name("manifesto.json"),
MANIFESTO,
indentacao=1,
)
compilar() produz JSON declarado.Sem HTML, CSS, JavaScript ou componente Flutter.Uma tela bonita com dado fácil ainda não prova o contrato.
gerar_manifesto.py:APLICATIVO é a entrada estável