Synaplan
開源 AI 平台,供企業使用:自行託管的 AI 代理、符合 GDPR 的聊天機器人小工具、RAG 知識庫、WhatsApp 與 Outlook AI、MCP、多模型路由。Docker、Kubernetes 或託管於 Germ
AI 翻譯
Aplicativo Desktop completo para o ERP Venture
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Frontend desktop inicial de um ERP moderno, com foco em alta performance, baixo consumo de memória e arquitetura escalável para domínios complexos. Stack principal • Tauri 2 + Rust (container desktop da aplicação) • React + TypeScript + Vite (camada de UI) • React Router (roteamento) • Zustand (estado global leve) • TanStack Query + Axios (integração HTTP e cache de dados)檢視完整 README ↗
Frontend desktop inicial de um ERP moderno, com foco em alta performance, baixo consumo de memória e arquitetura escalável para domínios complexos.
.
├── src/
│ ├── components/
│ │ ├── auth/
│ │ │ └── LoginPage.tsx
│ │ ├── dashboard/
│ │ │ ├── DashboardPage.tsx
│ │ │ └── ErpMenu.tsx
│ │ ├── screens/
│ │ │ ├── Fite0200Page.tsx
│ │ │ └── ScreenHostPage.tsx
│ │ └── ui/
│ │ ├── Button.tsx
│ │ └── InputField.tsx
│ ├── routes/
│ │ └── AppRouter.tsx
│ ├── services/
│ │ ├── authService.ts
│ │ └── httpClient.ts
│ ├── store/
│ │ └── authStore.ts
│ ├── styles/
│ │ └── global.css
│ ├── types/
│ │ ├── auth.ts
│ │ └── erpScreen.ts
│ ├── utils/
│ │ └── windowManager.ts
│ └── main.tsx
├── src-tauri/
│ ├── src/
│ │ └── main.rs
│ ├── build.rs
│ ├── Cargo.toml
│ └── tauri.conf.json
├── .env.example
├── .eslintrc.cjs
├── .gitignore
├── index.html
├── package.json
├── tsconfig.json
├── tsconfig.node.json
└── vite.config.ts
src/components: componentes de interface reutilizáveis e telas.src/routes: configuração de rotas e guardas futuras.src/services: camada de integração com API (HTTP, autenticação, etc.).src/store: estado global da aplicação (sessão, preferências, contexto de usuário).src/styles: tokens visuais e estilos globais (base do Design System).src/types: contratos de tipos TypeScript.src-tauri: shell desktop (janela principal, build e empacotamento).#1F8A55#166A40#D9F2E4#F6FBF8#FFFFFF#1E2A24#5C6B63#D5E2DA#C0392B/login em HashRouter (compatível com build desktop/file protocol).FITE0200 (Cadastro de Itens) em rota dedicada /screen/FITE0200.src-tauri/capabilities/default.json).sudo apt update
sudo apt install -y \
libwebkit2gtk-4.1-dev \
libgtk-3-dev \
libayatana-appindicator3-dev \
librsvg2-dev \
patchelf
npm install
npm run dev
npm run build
npm run tauri:dev
npm error code EJSONPARSE no package.jsonEsse erro indica JSON inválido (geralmente vírgula ausente entre scripts).
Se o erro citar algo como line 14 column 5 após doctor:package, normalmente é vírgula ausente entre scripts no package.json.
Nesta base, o script doctor:package foi simplificado para evitar escape complexo de aspas.
git checkout -- package.json
# ou
git pull
npm run doctor:package
npm install
npm run tauri:dev
Module name, "@tauri-apps/api/webviewWindow" does not resolve to a valid URLCausa comum: import dinâmico fora do resolver do Vite/Tauri ou instalação local inconsistente após merge.
Esta base já foi corrigida para usar import dinâmico compatível com Vite/Tauri no windowManager.
Passos recomendados no seu ambiente:
rm -rf node_modules package-lock.json
npm install
npm run tauri:dev
Se persistir, valide se o pacote existe:
npm ls @tauri-apps/api
npm error Missing script: "tauri:dev"Isso indica que você está em uma versão antiga do branch/local clone. Nesta base, o script já existe no package.json.
Atualize seu repositório local e reinstale dependências:
git pull
npm install
npm run tauri:dev
Se ainda falhar, confira os scripts disponíveis:
npm run
Se você estiver no Linux e receber erro de ícone ausente (
failed to open icon ... src-tauri/icons/icon.png), esta base já cria automaticamente um ícone padrão nobuild.rsantes do build.
Se aparecer
npm error could not determine executable to run, significa que o Tauri CLI não está disponível no projeto. Esta base já inclui@tauri-apps/cliemdevDependencies; rodenpm installnovamente e usenpm run tauri:dev.
O projeto separa os ambientes pelo modo do Vite. Na branch
develop,npm run devcarrega.env.development: o frontend usa URLs relativas e o proxy encaminha parahttps://dev-api.venturerp.com. A branchmainé a linha de produção;npm run buildounpm run build:productioncarrega.env.productione gravahttps://api.venturerp.comno artefato. A autenticação é sempre realizada pelo backend.
O frontend agora está preparado para operar com sessão real e rotas reais do backend, incluindo a tela VENT0800. Configure o .env com os paths abaixo conforme o seu backend:
VITE_API_URL=
VITE_API_PROXY_TARGET=https://dev-api.venturerp.com
VITE_API_TIMEOUT_MS=15000
VITE_AUTH_LOGIN_PATH=/users/login
VITE_AUTH_ME_PATH=
VITE_AUTH_LOGIN_FIELD=email
VITE_WAREHOUSE_ENDPOINT=/almoxarifados
VITE_CUSTOMER_LOOKUP_PATH=/clientes
VITE_SUPPLIER_LOOKUP_PATH=/fornecedores
VITE_ESTABLISHMENT_LOOKUP_PATH=/estabelecimentos
POST /users/login (ou o path configurado em VITE_AUTH_LOGIN_PATH): recebe email e password em JSON e retorna ao menos token e opcionalmente userName, refreshToken, expiresAt e user.GET /auth/me: opcional. Se o backend não expuser essa rota, deixe VITE_AUTH_ME_PATH= vazio para o frontend não chamá-la.GET /almoxarifados/:codigo: consulta um almoxarifado existente para preencher a VENT0800.POST /almoxarifados: persiste o cadastro da VENT0800.GET /clientes/:codigo, GET /fornecedores/:codigo, GET /estabelecimentos/:codigo: validam vínculos reais informados na tela.O cliente HTTP adiciona automaticamente o header Authorization: Bearer <token> após o login e limpa a sessão local se a API responder 401. Em desenvolvimento web, .env.development mantém VITE_API_URL= vazio e usa VITE_API_PROXY_TARGET=https://dev-api.venturerp.com; o Vite repassa chamadas relativas ao backend development sem preflight de CORS. Em produção, .env.production define VITE_API_URL=https://api.venturerp.com, sem depender do proxy de desenvolvimento. O login usa email como campo principal e aceita respostas com token, accessToken, access_token ou data.token.
npm run tauri:dev.windows_subsystem condicionado ao target Windows em release.Comandos úteis:
# Desenvolvimento desktop no Linux
npm run tauri:dev
# Build desktop (no sistema atual)
npm run tauri:build
Se o GitHub indicar conflito nos arquivos README.md, src-tauri/build.rs, src-tauri/src/main.rs e src/services/authService.ts, mantenha a versão deste branch (mais recente), que inclui:
icons/icon.png no build.rs;windows_subsystem restrito a release Windows no main.rs;authService com fluxo mock/real organizado em funções separadas.