swagger_generator_flutter/example/generate_api.bat

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