项目初始化完成

已完成的工作

1. .clinerules 规则文件

已创建以下规则文件用于指导项目开发:

  • project-rules.md - 项目总体规则和技术栈说明
  • coding-standards.md - Vue 3 + TypeScript 编码规范
  • ai-image-specific-rules.md - AI 图片处理专用规则
  • git-workflow.md - Git 工作流程和提交规范

2. Vue 3 项目初始化

使用 create-vue 脚手架创建项目,包含:

  • ✅ TypeScript 支持
  • ✅ Vue Router 路由管理
  • ✅ Pinia 状态管理
  • ✅ ESLint + Prettier 代码质量工具

3. 项目结构

src/
├── api/                          # API 接口层
│   ├── request.ts               # Axios 请求配置(拦截器)
│   └── image.ts                 # 图片相关 API 接口
├── assets/                       # 静态资源
├── components/                   # 公共组件
├── composables/                  # 组合式函数
│   └── useImageGeneration.ts   # 图片生成逻辑
├── layouts/                      # 布局组件(待开发)
├── router/                       # 路由配置
├── stores/                       # Pinia 状态管理
│   └── imageStore.ts            # 图片生成状态管理
├── types/                        # TypeScript 类型定义
│   └── image.ts                 # 图片相关类型
├── utils/                        # 工具函数(待开发)
├── views/                        # 页面组件
├── App.vue                       # 根组件
└── main.ts                       # 入口文件(已配置 Element Plus)

4. 核心文件说明

API 层 (src/api/)

  • request.ts: Axios 实例配置

    • 请求/响应拦截器
    • 统一错误处理
    • Token 自动添加
  • image.ts: 图片相关 API

    • getModels() - 获取 AI 模型列表
    • generateImage() - 生成图片
    • uploadImage() - 上传图片
    • getHistory() - 获取历史记录
    • deleteHistory() - 删除历史记录

类型定义 (src/types/image.ts)

  • AIModel - AI 模型接口
  • GenerationParams - 图片生成参数
  • GeneratedImage - 生成的图片
  • GenerationHistory - 生成历史记录
  • ApiResponse - API 响应基础接口

状态管理 (src/stores/imageStore.ts)

  • 状态:
    • selectedModel - 选中的 AI 模型
    • generationHistory - 生成历史
    • imageCount - 生成数量
    • imageSize - 图片尺寸
    • sourceImage - 源图片
  • 操作方法:
    • setModel() - 设置模型
    • addToHistory() - 添加历史
    • clearHistory() - 清空历史
    • 等等…

组合式函数 (src/composables/useImageGeneration.ts)

  • isGenerating - 生成状态
  • error - 错误信息
  • result - 生成结果
  • generate() - 执行生成
  • reset() - 重置状态

5. 依赖包

核心依赖:

  • vue - Vue 3 框架
  • vue-router - 路由管理
  • pinia - 状态管理
  • axios - HTTP 客户端(安装中)
  • element-plus - UI 组件库(安装中)

开发依赖:

  • typescript - TypeScript 支持
  • vite - 构建工具
  • eslint - 代码检查
  • prettier - 代码格式化

6. 环境配置

  • .env - 开发环境变量
  • .env.example - 环境变量示例

环境变量:

VITE_API_BASE_URL=http://localhost:3000/api
VITE_APP_TITLE=AI Image Generator
VITE_ENV=development

下一步工作

待完成的任务

  1. ✅ 等待 element-plusaxios 安装完成
  2. 📝 根据设计图开发页面组件
  3. 📝 创建布局组件(Layout)
  4. 📝 开发具体的视图页面(Views)
  5. 📝 开发公共组件(Components)
  6. 📝 配置路由
  7. 📝 对接后端 API
  8. 📝 测试和优化

开发建议

  1. 先完成主要页面布局
  2. 实现图片上传功能
  3. 实现 AI 模型选择
  4. 实现图片生成功能
  5. 实现历史记录管理
  6. 优化用户体验和界面

启动项目

安装依赖(如果还未完成)

npm install

启动开发服务器

npm run dev

代码检查

npm run lint

代码格式化

npm run format

注意事项

  1. 代码规范:遵循 .clinerules/ 中定义的规范
  2. 组件开发:使用 Composition API 和 <script setup> 语法
  3. 类型安全:充分利用 TypeScript 类型系统
  4. 状态管理:使用 Pinia 管理全局状态
  5. API 调用:统一使用 src/api/ 中定义的接口
  6. 错误处理:使用 Element Plus 的 Message 组件显示错误

项目特点

  • ✅ 完整的 TypeScript 类型支持
  • ✅ 规范的项目结构
  • ✅ 统一的 API 请求处理
  • ✅ 完善的状态管理
  • ✅ 可复用的组合式函数
  • ✅ 详细的开发规范文档

项目初始化完成时间: 2025-11-11
技术栈: Vue 3 + TypeScript + Vite + Pinia + Element Plus

以上来自Juleon博客,转载请注明出处。