Skip to content

整体架构

text
                         ┌─────────────────────────────────────┐
                         │         contracts/                  │
                         │  openapi/rbac-api.yaml + sql/       │
                         └──────────────┬──────────────────────┘
                                        │ 契约对齐
              ┌─────────────────────────┼─────────────────────────┐
              ▼                         ▼                         ▼
     packages/server-java        packages/server-python      packages/shared/*
     Spring Boot :8080           FastAPI :8000/8080          types/api-client/auth/admin
              │                         │                         │
              └─────────────┬───────────┘                         │
                            │ HTTP /api/v1                          │ workspace 链接
                            ▼                                       ▼
              ┌─────────────────────────────────────────────────────────┐
              │  web (Vue)  │  desktop (Electron)  │  mobile (uni-app) │
              └─────────────────────────────────────────────────────────┘

设计原则

  1. 契约优先:API 与表结构以 contracts/ 为准,双后端对照实现
  2. 前端与后端语言解耦:通过 @xichen-full-stack/api-client 统一 HTTP
  3. 管理端复用:Web 与 Desktop 共用 @xichen-full-stack/admin
  4. 权限双保险:前端按钮隐藏 + 后端接口鉴权

分层说明

目录职责
契约contracts/OpenAPI、SQL schema
后端packages/server-javaserver-pythonREST API、JWT、RBAC
共享packages/shared/*类型、HTTP、权限工具、Admin UI
应用packages/webdesktopmobile各端入口与差异化配置
基础设施docker-compose.ymlMySQL 8

数据模型(RBAC)

text
User ──(sys_user_role)──> Role ──(sys_role_permission)──> Permission
Menu.permission 字段与 Permission.code 对齐,用于前端菜单与按钮

相关文档

Xichen Full Stack 内部文档