feat: 完成 P1 全部功能 + 修复 proxy 导出 + 切换 MySQL 端口至 14013
## P1 功能(20 项) - 站内消息系统、家长仪表盘、学生考勤管理 - Excel 导入导出、用户批量导入、成绩导出 - 排课规则+自动排课+课表调整 - 成绩趋势+对比分析、密码安全策略、速率限制 - 数据变更日志、文件预览+存储策略、全文检索 - 依赖审计集成 CI、数据库定时备份、E2E 测试完善 - 通知偏好管理 ## 基础设施修复 - src/proxy.ts: 将 middleware 导出重命名为 proxy(Next.js 16 要求) - .env: MySQL 端口从 13002 切换至 14013 - scripts/create-db.ts: 新增数据库初始化脚本 ## 架构文档同步 - 004_architecture_impact_map.md 和 005_architecture_data.json 完整记录所有新增表、模块、路由、权限、依赖关系
This commit is contained in:
@@ -7,6 +7,8 @@ on:
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
schedule:
|
||||
- cron: "0 2 * * *" # 每天凌晨 2 点触发定时备份
|
||||
|
||||
|
||||
jobs:
|
||||
@@ -128,3 +130,43 @@ jobs:
|
||||
nextjs-app
|
||||
|
||||
echo "Deploy complete!"
|
||||
|
||||
security-audit:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20
|
||||
- run: npm ci
|
||||
- name: Run npm audit
|
||||
run: npm audit --audit-level=moderate
|
||||
continue-on-error: true
|
||||
- name: Check for critical vulnerabilities
|
||||
run: npm audit --audit-level=critical
|
||||
- name: Upload audit report
|
||||
if: always()
|
||||
run: npm audit --json > audit-report.json
|
||||
- uses: actions/upload-artifact@v3
|
||||
if: always()
|
||||
with:
|
||||
name: security-audit-report
|
||||
path: audit-report.json
|
||||
|
||||
scheduled-backup:
|
||||
if: github.event_name == 'schedule'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Run database backup
|
||||
env:
|
||||
DATABASE_URL: ${{ secrets.DATABASE_URL }}
|
||||
BACKUP_DIR: ./backups
|
||||
run: |
|
||||
chmod +x scripts/backup-db.sh
|
||||
./scripts/backup-db.sh
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: db-backup
|
||||
path: backups/
|
||||
retention-days: 30
|
||||
|
||||
Reference in New Issue
Block a user