Merge branch 'develop' of http://192.168.110.253:3000/wangyizhe/his into develop
This commit is contained in:
@@ -1,9 +1,51 @@
|
|||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
# 前端构建检查
|
# ============================================================
|
||||||
cd openhis-ui-vue3
|
# Husky Pre-commit Hook - HIS项目
|
||||||
# 检查是否安装了lint-staged或eslint
|
# 配置: 关羽 | 日期: 2026-04-24
|
||||||
if npm list --depth=0 | grep -q "eslint"; then
|
# 功能: 提交前自动检查前端构建
|
||||||
npm run lint -- --max-warnings 0
|
# ============================================================
|
||||||
|
|
||||||
|
echo "========================================"
|
||||||
|
echo "🔍 [Pre-commit] HIS项目提交检查"
|
||||||
|
echo "========================================"
|
||||||
|
|
||||||
|
# 检查前端目录是否存在
|
||||||
|
if [ ! -d "openhis-ui-vue3" ]; then
|
||||||
|
echo "⚠️ [Pre-commit] 未找到openhis-ui-vue3目录,跳过前端检查"
|
||||||
|
exit 0
|
||||||
fi
|
fi
|
||||||
# 执行生产构建检查
|
|
||||||
npm run build:prod -- --mode development 2>/dev/null || exit 1
|
cd openhis-ui-vue3
|
||||||
|
|
||||||
|
# 检查node_modules是否存在
|
||||||
|
if [ ! -d "node_modules" ]; then
|
||||||
|
echo "⚠️ [Pre-commit] node_modules未安装,请先执行 npm install"
|
||||||
|
echo " 提示: 首次使用或依赖变更后需要安装依赖"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 执行lint检查(ESLint配置由赵云下周完善后启用)
|
||||||
|
if grep -q '"lint"' package.json 2>/dev/null; then
|
||||||
|
echo "📋 [Pre-commit] 执行Lint检查..."
|
||||||
|
if npm run lint -- --max-warnings 0 2>&1; then
|
||||||
|
echo "✅ [Pre-commit] Lint检查通过"
|
||||||
|
else
|
||||||
|
echo "❌ [Pre-commit] Lint检查失败!请修复代码规范问题"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "⏭️ [Pre-commit] 未配置lint脚本(待赵云配置ESLint后启用)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 执行快速构建检查(development模式,仅检查语法和类型)
|
||||||
|
echo "🔨 [Pre-commit] 执行构建检查 (build:dev)..."
|
||||||
|
if timeout 120 npm run build:dev 2>&1; then
|
||||||
|
echo "✅ [Pre-commit] 构建检查通过"
|
||||||
|
else
|
||||||
|
echo "❌ [Pre-commit] 构建检查失败!请修复编译错误后重新提交"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "========================================"
|
||||||
|
echo "✅ [Pre-commit] 所有检查通过,允许提交"
|
||||||
|
echo "========================================"
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
**触发时机**:代码推送到远程仓库后
|
**触发时机**:代码推送到远程仓库后
|
||||||
**验证内容**:
|
**验证内容**:
|
||||||
- 完整的测试套件(单元+集成+端到端)
|
- 完整的测试套件(单元+集成+端到端)
|
||||||
- 代码覆盖率检查(≥80%)
|
- 代码覆盖率检查(分阶段目标:Q1≥30%,Q2≥50%,Q3≥80%)
|
||||||
- 安全扫描(SAST)
|
- 安全扫描(SAST)
|
||||||
- 构建产物验证
|
- 构建产物验证
|
||||||
- 部署到测试环境
|
- 部署到测试环境
|
||||||
@@ -52,7 +52,33 @@
|
|||||||
## ⚙️ 具体配置要求
|
## ⚙️ 具体配置要求
|
||||||
|
|
||||||
### ESLint 配置
|
### ESLint 配置
|
||||||
```javascript
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### Java 后端配置
|
||||||
|
```xml
|
||||||
|
<!-- pom.xml 关键插件 -->
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<version>3.8.1</version>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>com.github.spotbugs</groupId>
|
||||||
|
<artifactId>spotbugs-maven-plugin</artifactId>
|
||||||
|
<version>4.2.0</version>
|
||||||
|
</plugin>
|
||||||
|
```
|
||||||
|
|
||||||
|
### 数据库迁移配置
|
||||||
|
```yaml
|
||||||
|
# application.yml Flyway配置
|
||||||
|
flyway:
|
||||||
|
enabled: true
|
||||||
|
locations: classpath:db/migration
|
||||||
|
baseline-on-migrate: true
|
||||||
|
```
|
||||||
|
javascript
|
||||||
// .eslintrc.js 关键配置
|
// .eslintrc.js 关键配置
|
||||||
module.exports = {
|
module.exports = {
|
||||||
plugins: ['import'],
|
plugins: ['import'],
|
||||||
|
|||||||
@@ -25,6 +25,12 @@ refactor(nurse): 重构护士站护理记录组件
|
|||||||
- **技术方案**:采用的技术方案和设计思路
|
- **技术方案**:采用的技术方案和设计思路
|
||||||
- **兼容性**:是否涉及API或数据结构变更
|
- **兼容性**:是否涉及API或数据结构变更
|
||||||
|
|
||||||
|
|
||||||
|
## 🗄️ 数据库变更
|
||||||
|
- **表结构变更**:列出新增/修改的表和字段
|
||||||
|
- **数据迁移**:是否需要数据迁移脚本
|
||||||
|
- **回滚方案**:数据库变更的回滚策略
|
||||||
|
|
||||||
## ✅ 验证情况
|
## ✅ 验证情况
|
||||||
- **测试覆盖**:单元测试、集成测试覆盖情况
|
- **测试覆盖**:单元测试、集成测试覆盖情况
|
||||||
- **手动验证**:手动测试的场景和结果
|
- **手动验证**:手动测试的场景和结果
|
||||||
|
|||||||
@@ -66,6 +66,26 @@
|
|||||||
- [ ] 数据兼容性已确认
|
- [ ] 数据兼容性已确认
|
||||||
- [ ] 紧急联系人已明确
|
- [ ] 紧急联系人已明确
|
||||||
|
|
||||||
|
|
||||||
|
## 🔧 后端检查项
|
||||||
|
|
||||||
|
### 编译验证
|
||||||
|
- [ ] Maven编译成功(`mvn clean compile`)
|
||||||
|
- [ ] 无编译错误,仅有可接受的警告
|
||||||
|
- [ ] 依赖版本兼容性确认
|
||||||
|
|
||||||
|
### 数据库脚本
|
||||||
|
- [ ] DDL/DML脚本语法正确
|
||||||
|
- [ ] 回滚脚本已准备
|
||||||
|
- [ ] 数据迁移脚本已测试
|
||||||
|
|
||||||
|
## 🔄 前后端协同
|
||||||
|
|
||||||
|
### 接口兼容性
|
||||||
|
- [ ] API接口契约变更已双方确认
|
||||||
|
- [ ] 前端调用后端接口正常
|
||||||
|
- [ ] 错误码处理逻辑一致
|
||||||
|
|
||||||
## ✅ 最终确认
|
## ✅ 最终确认
|
||||||
|
|
||||||
### 发布前最后检查
|
### 发布前最后检查
|
||||||
|
|||||||
@@ -16,7 +16,8 @@
|
|||||||
"test": "vitest",
|
"test": "vitest",
|
||||||
"test:run": "vitest run",
|
"test:run": "vitest run",
|
||||||
"test:coverage": "vitest run --coverage",
|
"test:coverage": "vitest run --coverage",
|
||||||
"test:ui": "vitest --ui"
|
"test:ui": "vitest --ui",
|
||||||
|
"prepare": "cd .. && husky openhis-ui-vue3/.husky"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@@ -80,5 +81,14 @@
|
|||||||
"vite-plugin-vue-mcp": "^0.3.2",
|
"vite-plugin-vue-mcp": "^0.3.2",
|
||||||
"vitest": "^4.0.18",
|
"vitest": "^4.0.18",
|
||||||
"vue-tsc": "^3.1.8"
|
"vue-tsc": "^3.1.8"
|
||||||
|
},
|
||||||
|
"lint-staged": {
|
||||||
|
"openhis-ui-vue3/**/*.{js,vue,ts}": [
|
||||||
|
"cd openhis-ui-vue3 && npm run lint -- --fix",
|
||||||
|
"cd openhis-ui-vue3 && npm run build:dev"
|
||||||
|
],
|
||||||
|
"**/*.{js,vue,ts}": [
|
||||||
|
"echo \"文件变更已记录,构建检查将在pre-commit中执行\""
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user