@echo off REM Swagger API 代码生成脚本 (Windows) REM 用于 Learning Officer OA 项目 setlocal enabledelayedexpansion echo ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ echo 🚀 Swagger API 代码生成器 echo ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ echo. REM 检查是否在项目根目录 if not exist "pubspec.yaml" ( echo ❌ 错误: 请在项目根目录运行此脚本 exit /b 1 ) REM 检查配置文件是否存在 if not exist "generator_config.yaml" ( echo ❌ 错误: 找不到 generator_config.yaml 配置文件 echo 请先创建配置文件 exit /b 1 ) REM 步骤 1: 运行代码生成器 echo 📝 步骤 1/4: 正在运行代码生成器... dart run swagger_generator_flutter generate --all if !errorlevel! neq 0 ( echo ❌ 代码生成失败! exit /b 1 ) echo ✅ 代码生成成功 echo. REM 步骤 2: 运行 build_runner 生成 .g.dart 文件 echo 🔨 步骤 2/4: 正在运行 build_runner 生成 .g.dart 文件... flutter pub run build_runner build --delete-conflicting-outputs if !errorlevel! neq 0 ( echo ⚠️ build_runner 执行失败,请检查错误信息 ) else ( echo ✅ build_runner 执行成功 ) echo. REM 步骤 3: 修复和排序 imports echo 🔧 步骤 3/4: 修复和排序 imports... dart fix --apply lib/common/api dart fix --apply lib/common/api_models if !errorlevel! neq 0 ( echo ⚠️ dart fix 执行失败,请检查错误信息 ) else ( echo ✅ dart fix 执行成功 ) echo. REM 步骤 4: 格式化代码 echo 📐 步骤 4/4: 格式化代码... dart format lib/common/api lib/common/api_models --set-exit-if-changed if !errorlevel! neq 0 ( echo ⚠️ 代码格式化失败,请检查错误信息 ) else ( echo ✅ 代码格式化完成 ) echo. echo ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ echo ✨ 代码生成完成! echo ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ echo. echo 📋 生成的文件位置: echo - API 接口: lib/common/api/ echo - API 模型: lib/common/api_models/ echo. echo 💡 提示: echo - 如果生成的文件有错误,请检查并修复后重新运行 build_runner echo - 建议在提交代码前检查生成的代码是否符合项目规范 echo. pause