Files
his/.github/copilot-instructions.md

4.9 KiB
Raw Blame History

OpenHIS — AI 编码助手 指南

目的:帮助自动化/AI 编码代理快速上手本仓库,包含架构要点、关键文件、常用构建/运行命令以及项目约定。请只按照仓库内真实可见的内容提出修改建议或补充说明。

  • 代码组织: 本项目是一个 Java 后端(多模块 Maven+ Vue3 前端Vite的大型应用。

    • 后端主模块目录:openhis-server-new/(顶层为 pom,包含多个子模块)。关键子模块示例:openhis-application, openhis-domain, openhis-common, core-* 系列。
    • 前端目录:openhis-ui-vue3/Vite + Vue 3使用 Pinia、Element Plus 等)。
  • 大局观Big Picture: 后端以 Spring BootJava 17实现使用多模块 Maven 管理公共库与业务模块;前端由单独仓库目录通过 Vite 构建并以环境变量(VITE_APP_BASE_API)与后端交互。后端扫描 com.corecom.openhis 包(见 OpenHisApplication.java),启动类位于:openhis-server-new/openhis-application/src/main/java/com/openhis/OpenHisApplication.java

  • 运行/构建Windows PowerShell 示例):

    • 构建后端(从仓库根执行):
cd openhis-server-new
mvn clean package -DskipTests
  • 仅运行后端模块(开发时常用):
cd openhis-server-new/openhis-application
mvn spring-boot:run
# 或在 IDE 中运行 `com.openhis.OpenHisApplication` 的 main()
  • 前端启动与构建(需要 Node.js v16.x仓库 README 建议 v16.15
cd openhis-ui-vue3
npm install
npm run dev           # 本地开发(热重载)
npm run build:prod    # 生产构建
  • 环境与配置:

    • 后端配置:openhis-server-new/openhis-application/src/main/resources/application.yml数据库、端口、profile 等。README 还提及 application-druid.yml(若存在请优先查看)。
    • 前端配置:多个 .env.* 文件(例如 .env.development, .env.staging, .env.production),关键变量:VITE_APP_BASE_API(例如 /dev-api),前端通过 import.meta.env.VITE_APP_BASE_API 拼接后端 URLsrc/utils/request.js、多个视图与组件)。
  • 重要约定 / 模式:

    • 后端采用 Java 17、Spring Boot 2.5.x 家族,父 POM在 openhis-server-new/pom.xml 定义。常用依赖版本在该 POM 的 <properties> 中集中维护。
    • 模块间以 Maven 模块依赖与 com.core / com.openhis 包名分层(见 pom.xml<modules>dependencyManagement)。
    • 前端通过 Vite 插件配置(openhis-ui-vue3/vite/plugins)管理 svg、自动导入等。UI 框架为 Element Plus状态管理为 Pinia。
  • 集成点 & 外部依赖:

    • 数据库PostgreSQLREADME 建议 v16.2),仓库根含一个大型初始化 SQL数据库初始话脚本请使用navicat16版本导入.sql,用于初始化表与演示数据。
    • 缓存/会话Redis需自行配置
    • 其他Flowable工作流Druid连接池监控第三方服务通过特定配置类例如 YbServiceConfigOpenHisApplication 中启用)。
  • 调试与常见位置:

    • 启动类:openhis-server-new/openhis-application/src/main/java/com/openhis/OpenHisApplication.java
    • 全局配置:openhis-server-new/openhis-application/src/main/resources/application.yml、profile 文件等)。
    • 前端入口:openhis-ui-vue3/src/main.js、路由在 openhis-ui-vue3/src/router/index.js
    • API 文档与监控路径(通常由后端暴露并被前端访问):
      • Swagger UI: <VITE_APP_BASE_API>/swagger-ui/index.html(前端视图在 src/views/tool/swagger/index.vue)。
      • Druid: <VITE_APP_BASE_API>/druid/login.html(见前端相关视图引用)。
  • 为 AI 代理的具体建议(如何安全、有效地修改代码):

    • 修改后端时:优先在子模块(例如 openhis-application)本地运行 mvn spring-boot:run 验证启动与基础 API大量改动前先执行 mvn -T1C -DskipTests clean package 在 CI 环境上验证构建(本地机器也可用)。
    • 修改前端时:检查/调整对应 .env.* 文件中的 VITE_APP_BASE_API,使用 npm run dev 本地联调后端接口(可通过代理或将 VITE_APP_BASE_API 指向后端地址)。
    • 修改数据库结构或 seed请参考仓库根的 SQL 初始化脚本,任何 DDL/数据变更需同步该脚本并通知数据库管理员/运维。
  • 举例(常见任务示例):

    • 本地联调前端 + 后端PowerShell:
# 启动后端
cd openhis-server-new/openhis-application
mvn spring-boot:run

# 启动前端(另开终端)
cd openhis-ui-vue3
npm run dev

如需我把这些内容合并为更短或更详细的版本,或把其中某部分(例如后端模块依赖关系图、关键 Java 包说明)展开,请告诉我要增强哪一节。