Files
hms/wiki/infrastructure.md
iven ca50d32f6e
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
feat(health): 添加 erp-health 健康管理模块骨架
新建 erp-health 原生 Rust crate,覆盖设计规格中定义的 5 大业务域:

- 16 个 SeaORM Entity(患者/家属/标签/医生/健康档案/体征/化验单/预约/排班/随访/咨询等)
- 16 表数据库迁移(含索引、外键、默认值、可回滚)
- 40+ API 路由骨架(患者管理/健康数据/预约排班/随访/咨询/医生管理)
- 12 个权限声明(health.patient/health-data/appointment/follow-up/consultation/doctor 各 .list/.manage)
- DTO / Service / Handler / Event 四层架构,Service 使用 todo!() 占位
- erp-server 集成:模块注册 + AppState FromRef 桥接 + 路由挂载

同步更新 CLAUDE.md 项目进度、wiki 知识库、设计规格文档。
2026-04-23 19:59:22 +08:00

3.2 KiB
Raw Blame History

title, updated, status, tags
title updated status tags
开发环境 2026-04-23 stable
infrastructure
dev-environment
windows
postgresql

开发环境

index 导航。关联: erp-server database frontend testing

本页是连接信息、启动命令、登录凭据的单一真相源。 其他页面引用此处。

1. 设计决策

  • Windows 原生运行 — PostgreSQL/Redis/Rust/Node 直接在宿主机,不用 Docker
  • 一键启动dev.ps1 管理前后端生命周期
  • 环境变量优先 — 敏感配置通过 ERP__ 前缀环境变量覆盖 TOML

2. 关键文件 + 连接信息

核心文件

文件 职责
dev.ps1 一键启动/停止(自动清理端口 5174-5189
crates/erp-server/config/default.toml 默认配置模板
docker/docker-compose.yml 可选 Docker 配置

服务连接

服务 地址 用途
PostgreSQL 18 postgres://postgres:123123@localhost:5432/erp 主数据库
Redis 7 redis://:redis_KBCYJk@129.204.154.246:6379 (云端) 缓存 + 限流
后端 API http://localhost:3000/api/v1 Axum 服务
前端 SPA http://localhost:5174 Vite 开发服务器

登录凭据

用户名: admin    密码: Admin@2026

psql: D:\postgreSQL\bin\psql.exe -U postgres -h localhost -d erp

必须设置的环境变量

变量 开发值
ERP__DATABASE__URL postgres://postgres:123123@localhost:5432/erp
ERP__JWT__SECRET dev-secret-key-change-in-prod
ERP__AUTH__SUPER_ADMIN_PASSWORD Admin@2026
ERP__REDIS__URL redis://:redis_KBCYJk@129.204.154.246:6379

所有四个在 default.toml 中为 __MUST_SET_VIA_ENV__ 占位符

集成契约

方向 模块 触发时机
提供 → erp-server 数据库/Redis 连接
提供 → frontend Vite 代理目标
提供 → testing 测试环境配置

3. 代码逻辑

一键启动(推荐)

.\dev.ps1              # 启动后端 + 前端
.\dev.ps1 -Status      # 查看端口状态
.\dev.ps1 -Stop        # 停止所有服务
.\dev.ps1 -Restart     # 重启所有服务

手动启动

# 后端(必须从 crates/erp-server 目录)
cd crates/erp-server
$env:ERP__DATABASE__URL = "postgres://postgres:123123@localhost:5432/erp"
$env:ERP__JWT__SECRET = "dev-secret-key-change-in-prod"
$env:ERP__AUTH__SUPER_ADMIN_PASSWORD = "Admin@2026"
cargo run -p erp-server

# 前端
cd apps/web && pnpm install && pnpm dev

不变量: 后端必须从 crates/erp-server/ 目录启动或通过环境变量覆盖所有配置 不变量: Vite 固定端口 5174--strictPort),前端代理 /api → 后端 3000

4. 活跃问题 + 陷阱

⚠️ Redis 不可达时限流自动降级为 fail-open放行所有请求 ⚠️ Docker Compose 配置保留在 docker/ 下但日常开发不依赖 ⚠️ 首次 cargo run 编译整个 workspace 较慢(含 wasmtime后续增量快

5. 变更记录

日期 变更
2026-04-23 重构为 5 节结构,确立为连接信息的单一真相源