Appearance
包职责对照
应用包
| 包 | 路径 | 技术 | 说明 |
|---|---|---|---|
| web | packages/web | Vue 3 + Vite | 薄入口,bootstrap admin |
| desktop | packages/desktop | Electron + Vue | hash 路由,桌面业务宿主 |
| mobile | packages/mobile | uni-app | 业务端:Tab 壳 + RBAC + 用户 CRUD 范例 |
| server-java | packages/server-java | Spring Boot 3 | RBAC API 单体参考实现 |
| micro-java | packages/micro-java | Spring Cloud Alibaba | 与 server-java 对齐的微服务(Gateway :8080) |
| server-python | packages/server-python | FastAPI | RBAC API 对照实现 |
共享包
| 包 | npm 名 | 说明 |
|---|---|---|
| types | @xichen-full-stack/types | API DTO、LoginResponse 等 TS 类型 |
| api-client | @xichen-full-stack/api-client | axios 封装、Token、401 刷新 |
| auth | @xichen-full-stack/auth | hasPermission、menusToRoutes(纯 TS) |
| admin | @xichen-full-stack/admin | 管理后台 UI + 路由 + Pinia |
| instrument | @xichen-full-stack/instrument | device-agent HTTP 客户端(Desktop 可选) |
| components | @xichen-full-stack/components | 通用 Vue 组件库 |
| utils | @xichen-full-stack/utils | 通用工具函数 |
| tsconfig | @xichen-full-stack/tsconfig | 共享 TypeScript 配置(主栈) |
| eslint-config | @xichen-full-stack/eslint-config | 共享 ESLint flat 规则 |
本地服务(非 npm 包)
| 路径 | 说明 |
|---|---|
packages/device-agent | C# 仪器设备 Agent(可选),pnpm device-agent:dev |
依赖关系(简化)
text
web / desktop
└── admin
├── api-client → types
├── auth → types
└── element-plus, pinia, vue-router
desktop(可选仪器设备)
├── src/views/instrument/ + @xichen-full-stack/instrument (devDependency)
└── 主进程 DEVICE_AGENT_AUTO_START=true → device-agent (C# :19721)
mobile
├── auth → types
├── types
└── utils(joinUrl 等;HTTP 为包内 uni.request 实现,非 api-client)契约与基础设施
| 路径 | 说明 |
|---|---|
contracts/openapi/rbac-api.yaml | REST API 契约 |
contracts/sql/schema.sql | MySQL 表结构 |
docker-compose.yml | MySQL 8 容器 |
docs/ | 本文档站(packages/docs,VitePress) |
默认端口
| 服务 | 端口 |
|---|---|
| MySQL | 3306 |
| server-java | 8080 |
| micro-java gateway | 8080(对外,与单体同) |
| micro-java auth-service | 8081 |
| micro-java system-service | 8082 |
| micro-java monitor-service | 8083 |
| Nacos | 8848 |
| RabbitMQ | 5672 |
| Seata Server | 8091(可选) |
| server-python | 8000(可改 8080) |
| web | 5173 |
| desktop dev | 5174 |
| device-agent | 19721 |
| VitePress docs | 5199 |