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
              │                         │                         │
     packages/micro-java                │                         │
     Gateway :8080 → micro              │                         │
              │                         │                         │
              └─────────────┬───────────┘                         │
                            │ HTTP /api/v1                        │ workspace 链接
                            ▼                                     ▼
              ┌─────────────────────────────────────────────────────────┐
              │  web (Vue)  │  desktop (Electron·产品)  │  mobile      │
              └───────────────┬─────────────────────────────────────────┘
                              │ Desktop 可选:业务内嵌仪器页

                    packages/device-agent (C# :19721)
                    Stage / SampleFlow / 插件驱动

                              │ 直连(无 admin / 无业务后端)
              packages/instrument-devtool (Electron·调试框架)
                    + @xichen-full-stack/instrument

设计原则

  1. 契约优先:API 与表结构以 contracts/ 为准,多后端对照实现
  2. 前端与后端语言解耦:通过 @xichen-full-stack/api-client 统一 HTTP
  3. 管理端复用:Web 与 Desktop 共用 @xichen-full-stack/admin
  4. 权限双保险:前端按钮隐藏 + 后端接口鉴权
  5. 设备控制本地化:实时命令走本机 C# device-agent;RBAC 仍走 Java/Python
  6. 产品与调试分离desktop 做硬件操作产品壳;instrument-devtool 做无后端依赖的联调台
  7. Java 双实现server-java(单体)与 micro-java(微服务,Gateway 仍 :8080)

分层说明

目录职责
契约contracts/OpenAPI、SQL schema
后端packages/server-javaserver-pythonmicro-javaREST API、JWT、RBAC
共享packages/shared/*类型、HTTP、权限、Admin UI、instrument 客户端
应用packages/webdesktopmobile各端入口与差异化配置
调试工具packages/instrument-devtool硬件联调 Electron 壳(不依赖 admin/后端)
本地 Agentpackages/device-agentC# 仪器设备驱动(产品与调试共用)
基础设施docker-compose.ymlMySQL 8

数据模型(RBAC)

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

相关文档

Xichen Full Stack 内部文档