87 lines
2.5 KiB
Batchfile
87 lines
2.5 KiB
Batchfile
@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
|