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
|
||||
# 前端构建检查
|
||||
cd openhis-ui-vue3
|
||||
# 检查是否安装了lint-staged或eslint
|
||||
if npm list --depth=0 | grep -q "eslint"; then
|
||||
npm run lint -- --max-warnings 0
|
||||
# ============================================================
|
||||
# Husky Pre-commit Hook - HIS项目
|
||||
# 配置: 关羽 | 日期: 2026-04-24
|
||||
# 功能: 提交前自动检查前端构建
|
||||
# ============================================================
|
||||
|
||||
echo "========================================"
|
||||
echo "🔍 [Pre-commit] HIS项目提交检查"
|
||||
echo "========================================"
|
||||
|
||||
# 检查前端目录是否存在
|
||||
if [ ! -d "openhis-ui-vue3" ]; then
|
||||
echo "⚠️ [Pre-commit] 未找到openhis-ui-vue3目录,跳过前端检查"
|
||||
exit 0
|
||||
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)
|
||||
- 构建产物验证
|
||||
- 部署到测试环境
|
||||
@@ -52,7 +52,33 @@
|
||||
## ⚙️ 具体配置要求
|
||||
|
||||
### 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 关键配置
|
||||
module.exports = {
|
||||
plugins: ['import'],
|
||||
|
||||
@@ -25,6 +25,12 @@ refactor(nurse): 重构护士站护理记录组件
|
||||
- **技术方案**:采用的技术方案和设计思路
|
||||
- **兼容性**:是否涉及API或数据结构变更
|
||||
|
||||
|
||||
## 🗄️ 数据库变更
|
||||
- **表结构变更**:列出新增/修改的表和字段
|
||||
- **数据迁移**:是否需要数据迁移脚本
|
||||
- **回滚方案**:数据库变更的回滚策略
|
||||
|
||||
## ✅ 验证情况
|
||||
- **测试覆盖**:单元测试、集成测试覆盖情况
|
||||
- **手动验证**:手动测试的场景和结果
|
||||
|
||||
@@ -66,6 +66,26 @@
|
||||
- [ ] 数据兼容性已确认
|
||||
- [ ] 紧急联系人已明确
|
||||
|
||||
|
||||
## 🔧 后端检查项
|
||||
|
||||
### 编译验证
|
||||
- [ ] Maven编译成功(`mvn clean compile`)
|
||||
- [ ] 无编译错误,仅有可接受的警告
|
||||
- [ ] 依赖版本兼容性确认
|
||||
|
||||
### 数据库脚本
|
||||
- [ ] DDL/DML脚本语法正确
|
||||
- [ ] 回滚脚本已准备
|
||||
- [ ] 数据迁移脚本已测试
|
||||
|
||||
## 🔄 前后端协同
|
||||
|
||||
### 接口兼容性
|
||||
- [ ] API接口契约变更已双方确认
|
||||
- [ ] 前端调用后端接口正常
|
||||
- [ ] 错误码处理逻辑一致
|
||||
|
||||
## ✅ 最终确认
|
||||
|
||||
### 发布前最后检查
|
||||
|
||||
@@ -16,7 +16,8 @@
|
||||
"test": "vitest",
|
||||
"test:run": "vitest run",
|
||||
"test:coverage": "vitest run --coverage",
|
||||
"test:ui": "vitest --ui"
|
||||
"test:ui": "vitest --ui",
|
||||
"prepare": "cd .. && husky openhis-ui-vue3/.husky"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -80,5 +81,14 @@
|
||||
"vite-plugin-vue-mcp": "^0.3.2",
|
||||
"vitest": "^4.0.18",
|
||||
"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