---
description: 
globs: 
alwaysApply: false
---

# AI写作软件项目全局配置
project_config:
  name: "ai-novel-assistant"
  description: "AI驱动的小说创作管理系统"

# 后端配置
backend:
  framework: "spring-boot"
  version: "3.2.0"
  java_version: "23"
  base_package: "com.ainovel"


# 前端配置
frontend:
  framework: "flutter"
  web_first: true


# 数据结构
  rule：数据结构，noval和act是一对多关系  act和chapter是一对多关系，chapter和sense是一对多关系，sense和摘要是一对一关系

# AINovalWriter 项目架构说明

## 项目概述

AINovalWriter 是一个AI辅助小说创作平台，包含前端应用（Flutter）和后端服务（Spring Boot）两个主要部分。

## 目录结构

```
AINovalWriter/
├── DESIGN_DOCUMENT.md                       # 项目顶层设计文档
├── OPTIMIZATION_SUMMARY.md                  # 优化总结文档
├── temp.java                                # 临时 Java 文件 (用途待定)
├── 提示词模板生成需求.md                      # AI 提示词模板生成功能的需求文档
├── 版本控制功能说明.md                        # 编辑器版本控制功能的设计或说明文档
├── 项目架构说明.md                          # 项目整体架构的说明文档
│
├── 需求文档/                                # 存放项目需求相关文档
│   ├── prd.md                               # 产品需求文档 (Product Requirement Document)
│   ├── requirements_validation.md           # 需求验证文档
│   ├── user_flow_and_wireframes.md          # 用户流程和线框图文档
│   ├── 前端后台任务系统需求文档.md              # 前端后台任务系统的需求文档
│   ├── 前端概要设计文档.md                    # 前端整体概要设计文档
│   ├── 前端详细设计文档.(小说列表模块,编辑器模块).md # 前端小说列表和编辑器模块的详细设计
│   ├── 前端详细设计文档（AI聊天模块）.md         # 前端 AI 聊天模块的详细设计
│   ├── 前端详细设计文档（Codex知识库模块）.md    # 前端 Codex 知识库模块的详细设计
│   ├── 前端详细设计文档（小说计划预览模块）.md     # 前端小说计划（Plan）预览模块的详细设计
│   ├── 前端详细设计文档（文件导出模块详细设计）.md # 前端文件导出模块的详细设计
│   ├── 后台任务系统需求文档.md                # 后端后台任务系统的需求文档
│   │
│   └── AI生成场景摘要和场景内容/              # AI 生成功能的特定需求文档
│       ├── 前端 AI 生成与提示词管理需求文档.md   # 前端 AI 生成与提示词管理的需求
│       ├── 后端 AI 生成与提示词管理 - 详细设计文档.md # 后端 AI 生成与提示词管理的详细设计
│       └── 后端 AI 生成与提示词管理需求文档.md   # 后端 AI 生成与提示词管理的需求
│
├── 测试计划与文档/                            # 存放测试相关计划和文档
│   ├── 后端接口文档.md                        # 后端 API 接口文档
│   ├── 改进报告.md                            # 项目改进报告
│   ├── 第一次测试计划与功能点.md                # 项目第一次迭代的测试计划和功能点
│   └── 第二次迭代第一次代码评审.md              # 第二次迭代的代码评审记录
│
├── 后端开发文档/                            # 存放后端开发过程中的文档
│   ├── AI小说助手系统后端概要设计文档.md          # 后端概要设计文档
│   ├── AI小说助手系统敏捷开发计划 - 技术验证阶段（调整版）.md # 技术验证阶段的敏捷开发计划
│   ├── AI小说助手系统敏捷开发计划 - 边验证边开发模式.md # 边验证边开发的敏捷计划
│   ├── spint1-2.md                          # Sprint 1-2 的相关文档或笔记
│   ├── 技术评估.md                            # 项目涉及的技术评估文档
│   └── 迭代日记.md                            # 开发迭代过程中的日记或记录
│
├── 原型图/                                  # 存放界面原型图及相关说明
│   ├── 实现动态获取模型列表和配置验证功能/      # 动态获取模型列表功能的文档
│   │   └── 实现动态获取模型列表和配置验证功能.md # 该功能的 Markdown 说明文档
│   │
│   ├── 剧情推演html原型图和需求文档/          # 剧情推演（Next Outline）功能的原型和需求
│   │   ├── next_outline_prototype.html      # 剧情推演功能的 HTML 原型
│   │   ├── 前端需求.md                        # 剧情推演功能的前端需求
│   │   └── 后端需求.md                        # 剧情推演功能的后端需求
│   │
│   └── plan文档和原型图/                    # 小说计划（Plan）视图的原型和文档
│       ├── plan.html                        # Plan 视图的 HTML 原型
│       └── 前端 Plan 视图原型描述.md          # Plan 视图原型的 Markdown 描述
│
├── 前端产品敏捷迭代计划/                      # 前端产品的迭代计划
│   └── 前端产品迭代计划.md                    # 前端产品迭代计划文档
│
├── target/                                  # 构建输出目录 (通常由构建工具生成)
│   └── performance-reports/                 # 性能测试报告目录
│       ├── performance_test_platform_50_users_20250313_101351.md # 平台线程模型的 50 用户性能测试报告
│       └── performance_test_virtual_50_users_20250313_101432.md # 虚拟线程模型的 50 用户性能测试报告
│
├── postman/                                 # Postman API 测试集合
│   ├── AINovalWriter_Test_API.json          # AINovalWriter 项目的 Postman 测试 API 集合
│   ├── AINoval_API_Collection.json          # AINoval 项目的 Postman API 集合
│   └── README.md                            # Postman 集合的说明文档
│
├── AINovalServer/                           # 后端 Spring Boot 项目目录
│   ├── AINoval_API_Collection.json          # (重复) AINoval API Postman 集合
│   ├── AINoval_API_Tests.postman_collection.json # AINoval API 测试 Postman 集合
│   ├── AINoval_Performance_Tests.postman_collection.json # AINoval 性能测试 Postman 集合
│   ├── hs_err_pid53088.log                  # Java 虚拟机错误日志
│   ├── hs_err_pid73408.log                  # Java 虚拟机错误日志
│   ├── PERFORMANCE_TESTING.md               # 性能测试相关说明文档
│   ├── performance_test_script.js           # (可能用于 k6 等工具) 性能测试脚本
│   ├── pom.xml                              # Maven 项目对象模型文件，定义项目依赖和构建配置
│   ├── README.md                            # AINovalServer 项目的说明文档
│   ├── Sprint1开发总结.md                   # Sprint 1 开发总结
│   ├── start-performance-test.sh            # 启动性能测试的 Shell 脚本
│   │
│   ├── 设计文档/                            # 后端特定模块的设计文档
│   │   ├── 后台任务系统后端任务分解.md          # 后台任务系统后端的任务分解文档
│   │   ├── 小说导入功能 - 高性能实施方案.md     # 小说导入功能的高性能方案设计
│   │   └── 小说导入功能设计方案 (更新版).md     # 小说导入功能的设计方案 (更新版)
│   │
│   ├── target/                              # Maven 构建输出目录
│   │   ├── test-classes/                    # 编译后的测试类目录
│   │   │   └── performance-test-report-template.md # 性能测试报告模板 (测试资源)
│   │   ├── classes/                         # 编译后的主类目录
│   │   │   ├── application-dev.yml          # 开发环境配置文件
│   │   │   ├── application-performance-test.yml # 性能测试环境配置文件
│   │   │   ├── application-test.yml         # 测试环境配置文件
│   │   │   ├── application.yml              # 主应用程序配置文件
│   │   │   ├── static/                      # 静态资源目录
│   │   │   │   └── gemini-test.html         # Gemini 测试用的 HTML 文件
│   │   │   └── prompts/                     # AI 提示词模板目录
│   │   │       └── next_outline_prompt.txt  # 剧情推演的提示词模板
│   │
│   ├── src/                                 # 源代码目录
│   │   ├── test/                            # 测试代码目录
│   │   │   ├── resources/                   # 测试资源目录
│   │   │   │   └── performance-test-report-template.md # (重复) 性能测试报告模板
│   │   │   └── java/com/ainovel/server/     # 测试 Java 代码根目录
│   │   │       ├── service/                 # 服务层测试
│   │   │       │   ├── NextOutlineServiceTest.java # NextOutlineService 的测试类
│   │   │       │   └── SceneServiceVersionTest.java # SceneService 版本功能的测试类
│   │   │       └── performance/             # 性能测试相关代码
│   │   │           ├── PerformanceTestRunner.java # 性能测试运行器
│   │   │           ├── VirtualThreadPerformanceTest.java # 虚拟线程性能测试类
│   │   │           ├── util/                # 性能测试工具类
│   │   │           │   └── PerformanceTestUtil.java # 性能测试工具类
│   │   │           └── simulation/          # 性能测试模拟场景
│   │   │               ├── AIServiceSimulation.java # AI 服务调用的模拟
│   │   │               ├── NovelServiceSimulation.java # 小说服务的模拟
│   │   │               └── VirtualThreadVsTraditionalSimulation.java # 虚拟线程与传统线程对比的模拟
│   │   │
│   │   └── main/                            # 主代码目录
│   │       ├── resources/                   # 主资源目录
│   │       │   ├── application-dev.yml      # (重复) 开发环境配置文件
│   │       │   ├── application-performance-test.yml # (重复) 性能测试环境配置文件
│   │       │   ├── application-test.yml     # (重复) 测试环境配置文件
│   │       │   ├── application.yml          # (重复) 主应用程序配置文件
│   │       │   ├── static/                  # (重复) 静态资源目录
│   │       │   │   └── gemini-test.html     # (重复) Gemini 测试用的 HTML 文件
│   │       │   └── prompts/                 # (重复) AI 提示词模板目录
│   │       │       └── next_outline_prompt.txt # (重复) 剧情推演的提示词模板
│   │       │
│   │       └── java/com/ainovel/server/     # 主 Java 代码根目录
│   │           ├── AiNovelServerApplication.java # Spring Boot 应用主入口类
│   │           │
│   │           ├── web/                     # Web 层，处理 HTTP 请求
│   │           │   ├── GeminiTestController.java # Gemini 测试相关的控制器 (可能已废弃或测试用)
│   │           │   ├── dto/                 # Data Transfer Objects (数据传输对象)
│   │           │   │   ├── AIModelConfigDto.java # AI 模型配置 DTO
│   │           │   │   ├── ApiKeyValidationRequest.java # API Key 验证请求 DTO
│   │           │   │   ├── ApiKeyValidationResponse.java # API Key 验证响应 DTO
│   │           │   │   ├── AuthorIdDto.java   # 作者 ID DTO
│   │           │   │   ├── AuthRequest.java   # 认证请求 DTO
│   │           │   │   ├── AuthResponse.java  # 认证响应 DTO
│   │           │   │   ├── ChangePasswordRequest.java # 修改密码请求 DTO
│   │           │   │   ├── ChapterIdDto.java  # 章节 ID DTO
│   │           │   │   ├── ChapterSceneDto.java # 章节场景 DTO
│   │           │   │   ├── ChapterScenesDto.java # 章节场景列表 DTO
│   │           │   │   ├── ConfigIndexDto.java # 配置索引 DTO
│   │           │   │   ├── CreatePromptTemplateRequest.java # 创建提示词模板请求 DTO
│   │           │   │   ├── CreateUserAIModelConfigRequest.java # 创建用户 AI 模型配置请求 DTO
│   │           │   │   ├── ErrorResponse.java # 错误响应 DTO
│   │           │   │   ├── GenerateNextOutlinesDTO.java # 生成后续大纲请求 DTO
│   │           │   │   ├── GenerateSceneFromSummaryRequest.java # 从摘要生成场景请求 DTO
│   │           │   │   ├── GenerateSceneFromSummaryResponse.java # 从摘要生成场景响应 DTO
│   │           │   │   ├── IdDto.java         # 通用 ID DTO
│   │           │   │   ├── ImportStatus.java  # 导入状态 DTO
│   │           │   │   ├── JobIdResponse.java # 任务 ID 响应 DTO
│   │           │   │   ├── ListUserConfigsRequest.java # 列出用户配置请求 DTO
│   │           │   │   ├── LoadMoreScenesRequestDto.java # 加载更多场景请求 DTO
│   │           │   │   ├── NextOutlineDTO.java # 后续大纲 DTO
│   │           │   │   ├── NovelChapterDto.java # 小说章节 DTO
│   │           │   │   ├── NovelChapterSceneDto.java # 小说章节场景 DTO
│   │           │   │   ├── NovelIdDto.java    # 小说 ID DTO
│   │           │   │   ├── NovelIdTypeDto.java # 小说 ID 和类型 DTO
│   │           │   │   ├── NovelUpdateDto.java # 小说更新 DTO
│   │           │   │   ├── NovelWithScenesDto.java # 包含场景的小说 DTO
│   │           │   │   ├── NovelWithScenesUpdateDto.java # 包含场景的小说更新 DTO
│   │           │   │   ├── NovelWithSummariesDto.java # 包含摘要的小说 DTO
│   │           │   │   ├── OptimizationResultDto.java # 优化结果 DTO
│   │           │   │   ├── OptimizePromptRequest.java # 优化提示词请求 DTO
│   │           │   │   ├── OutlineGenerationChunk.java # 大纲生成块 DTO (用于流式传输)
│   │           │   │   ├── PaginatedScenesRequestDto.java # 分页场景请求 DTO
│   │           │   │   ├── PromptTemplateDto.java # 提示词模板 DTO
│   │           │   │   ├── ProviderModelsRequest.java # Provider 模型列表请求 DTO
│   │           │   │   ├── ProxyConfigRequest.java # 代理配置请求 DTO
│   │           │   │   ├── RagQueryDto.java   # RAG 查询 DTO
│   │           │   │   ├── RagQueryResultDto.java # RAG 查询结果 DTO
│   │           │   │   ├── RefreshTokenRequest.java # 刷新令牌请求 DTO
│   │           │   │   ├── RevisionRequest.java # 版本请求 DTO
│   │           │   │   ├── SceneContentUpdateDto.java # 场景内容更新 DTO
│   │           │   │   ├── SceneDeleteDto.java # 场景删除 DTO
│   │           │   │   ├── SceneRestoreDto.java # 场景恢复 DTO
│   │           │   │   ├── SceneSearchDto.java # 场景搜索 DTO
│   │           │   │   ├── SceneSummaryDto.java # 场景摘要 DTO
│   │           │   │   ├── SceneUpdateDto.java # 场景更新 DTO
│   │           │   │   ├── SceneVersionCompareDto.java # 场景版本比较 DTO
│   │           │   │   ├── SceneVersionDiff.java # 场景版本差异 DTO
│   │           │   │   ├── SessionCreateDto.java # 会话创建 DTO
│   │           │   │   ├── SessionMessageDto.java # 会话消息 DTO
│   │           │   │   ├── SessionUpdateDto.java # 会话更新 DTO
│   │           │   │   ├── SuggestionRequest.java # 建议请求 DTO
│   │           │   │   ├── SummarizeSceneRequest.java # 摘要场景请求 DTO
│   │           │   │   ├── SummarizeSceneResponse.java # 摘要场景响应 DTO
│   │           │   │   ├── UpdatePromptRequest.java # 更新提示词请求 DTO
│   │           │   │   ├── UpdatePromptTemplateRequest.java # 更新提示词模板请求 DTO
│   │           │   │   ├── UpdateUserAIModelConfigRequest.java # 更新用户 AI 模型配置请求 DTO
│   │           │   │   ├── UserAIModelConfigResponse.java # 用户 AI 模型配置响应 DTO
│   │           │   │   ├── UserIdConfigIndexDto.java # 用户 ID 和配置索引 DTO
│   │           │   │   ├── UserIdDto.java     # 用户 ID DTO
│   │           │   │   ├── UserPromptTemplateDto.java # 用户提示词模板 DTO
│   │           │   │   ├── UserRegistrationRequest.java # 用户注册请求 DTO
│   │           │   │   └── UserUpdateDto.java # 用户更新 DTO
│   │           │   │
│   │           │   ├── controller/          # REST API 控制器
│   │           │   │   ├── AIChatController.java # AI 聊天功能控制器
│   │           │   │   ├── AIGenerationController.java # AI 生成功能控制器
│   │           │   │   ├── AuthController.java # 用户认证控制器
│   │           │   │   ├── ModelInfoController.java # AI 模型信息控制器
│   │           │   │   ├── MongoTestController.java # MongoDB 测试控制器 (可能已废弃或测试用)
│   │           │   │   ├── NextOutlineController.java # 剧情推演控制器
│   │           │   │   ├── NovelAIController.java # 小说相关的 AI 功能控制器
│   │           │   │   ├── NovelController.java # 小说管理控制器
│   │           │   │   ├── PromptTemplateController.java # 提示词模板控制器
│   │           │   │   ├── RagController.java # RAG 功能控制器
│   │           │   │   ├── SceneController.java # 场景管理控制器
│   │           │   │   ├── SecurityTestController.java # 安全测试控制器 (可能已废弃或测试用)
│   │           │   │   ├── UserAIModelConfigController.java # 用户 AI 模型配置控制器
│   │           │   │   ├── UserController.java # 用户管理控制器
│   │           │   │   └── UserPromptController.java # 用户提示词控制器
│   │           │   │
│   │           │   └── base/                # Web 层基础类
│   │           │       └── ReactiveBaseController.java # 响应式控制器基类 (可能用于 WebSocket 或 SSE)
│   │           │
│   │           ├── service/                 # 服务层，包含业务逻辑
│   │           │   ├── AIChatService.java   # AI 聊天服务接口
│   │           │   ├── AIProviderRegistryService.java # AI Provider 注册服务接口
│   │           │   ├── AIService.java       # 通用 AI 服务接口
│   │           │   ├── EmbeddingService.java # 文本嵌入服务接口
│   │           │   ├── ImportService.java   # 文件导入服务接口
│   │           │   ├── IndexingService.java # 索引服务接口 (用于 RAG)
│   │           │   ├── JwtService.java      # JWT (JSON Web Token) 服务接口
│   │           │   ├── KnowledgeService.java # 知识库服务接口 (可能与 RAG 相关)
│   │           │   ├── MetadataService.java # 元数据服务接口
│   │           │   ├── NextOutlineService.java # 剧情推演服务接口
│   │           │   ├── NovelAIService.java  # 小说 AI 相关服务接口
│   │           │   ├── NovelParser.java     # 小说文件解析器接口
│   │           │   ├── NovelRagAssistant.java # 小说 RAG 助手接口
│   │           │   ├── NovelService.java    # 小说管理服务接口
│   │           │   ├── PromptService.java   # 提示词服务接口
│   │           │   ├── PromptTemplateService.java # 提示词模板服务接口
│   │           │   ├── SceneService.java    # 场景管理服务接口
│   │           │   ├── StorageService.java  # 文件存储服务接口
│   │           │   ├── UserAIModelConfigService.java # 用户 AI 模型配置服务接口
│   │           │   ├── UserPromptService.java # 用户提示词服务接口
│   │           │   ├── UserService.java     # 用户管理服务接口
│   │           │   │
│   │           │   ├── vectorstore/         # 向量数据库相关接口和类
│   │           │   │   ├── ChromaVectorStore.java # Chroma 向量数据库实现 (可能)
│   │           │   │   ├── SearchResult.java  # 向量搜索结果类
│   │           │   │   └── VectorStore.java   # 向量数据库接口
│   │           │   │
│   │           │   ├── rag/                 # RAG (检索增强生成) 相关类
│   │           │   │   ├── ChromaEmbeddingStoreProvider.java # Chroma 嵌入存储提供者 (LangChain4j)
│   │           │   │   ├── LangChain4jEmbeddingModel.java # LangChain4j 嵌入模型封装
│   │           │   │   ├── NovelRagAssistant.java # (重复) 小说 RAG 助手接口
│   │           │   │   ├── RagService.java    # RAG 服务接口
│   │           │   │   └── RagServiceImpl.java # RAG 服务实现
│   │           │   │
│   │           │   ├── provider/            # 外部服务提供者 (如存储)
│   │           │   │   ├── AliOSSStorageProvider.java # 阿里云 OSS 存储提供者实现
│   │           │   │   └── StorageProvider.java # 存储提供者接口
│   │           │   │
│   │           │   ├── impl/                # 服务层接口实现
│   │           │   │   ├── AIChatServiceImpl.java # AI 聊天服务实现
│   │           │   │   ├── AIServiceImpl.java   # 通用 AI 服务实现
│   │           │   │   ├── EmbeddingServiceImpl.java # 文本嵌入服务实现
│   │           │   │   ├── ImportServiceImpl.java # 文件导入服务实现
│   │           │   │   ├── IndexingServiceImpl.java # 索引服务实现
│   │           │   │   ├── JwtServiceImpl.java  # JWT 服务实现
│   │           │   │   ├── KnowledgeServiceImpl.java # 知识库服务实现
│   │           │   │   ├── MetadataServiceImpl.java # 元数据服务实现
│   │           │   │   ├── NextOutlineServiceImpl.java # 剧情推演服务实现
│   │           │   │   ├── NovelAIServiceImpl.java # 小说 AI 相关服务实现
│   │           │   │   ├── NovelRagAssistantImpl.java # 小说 RAG 助手实现
│   │           │   │   ├── NovelServiceImpl.java # 小说管理服务实现
│   │           │   │   ├── PromptServiceImpl.java # 提示词服务实现
│   │           │   │   ├── PromptTemplateServiceImpl.java # 提示词模板服务实现
│   │           │   │   ├── SceneServiceImpl.java # 场景管理服务实现
│   │           │   │   ├── StorageServiceImpl.java # 文件存储服务实现
│   │           │   │   ├── TxtNovelParser.java # TXT 格式小说解析器实现
│   │           │   │   ├── UserAIModelConfigServiceImpl.java # 用户 AI 模型配置服务实现
│   │           │   │   ├── UserPromptServiceImpl.java # 用户提示词服务实现
│   │           │   │   └── UserServiceImpl.java # 用户管理服务实现
│   │           │   │
│   │           │   └── ai/                  # AI 模型提供者相关代码
│   │           │       ├── AbstractAIModelProvider.java # AI 模型提供者抽象基类
│   │           │       ├── AIModelProvider.java # AI 模型提供者接口
│   │           │       ├── AnthropicModelProvider.java # Anthropic 模型提供者 (可能直接调用 API)
│   │           │       ├── GeminiModelProvider.java # Gemini 模型提供者 (可能直接调用 API)
│   │           │       ├── GrokModelProvider.java # Grok 模型提供者 (可能直接调用 API)
│   │           │       ├── OpenAIModelProvider.java # OpenAI 模型提供者 (可能直接调用 API)
│   │           │       ├── SiliconFlowModelProvider.java # SiliconFlow 模型提供者 (可能直接调用 API)
│   │           │       │
│   │           │       ├── registry/        # AI Provider 注册表
│   │           │       │   └── AIProviderRegistry.java # AI Provider 注册表实现
│   │           │       │
│   │           │       ├── langchain4j/     # LangChain4j 集成实现
│   │           │       │   ├── AnthropicLangChain4jModelProvider.java # Anthropic LangChain4j 提供者
│   │           │       │   ├── GeminiLangChain4jModelProvider.java # Gemini LangChain4j 提供者
│   │           │       │   ├── LangChain4jModelProvider.java # LangChain4j 提供者接口/基类
│   │           │       │   ├── OpenAILangChain4jModelProvider.java # OpenAI LangChain4j 提供者
│   │           │       │   ├── OpenRouterLangChain4jModelProvider.java # OpenRouter LangChain4j 提供者
│   │           │       │   ├── SiliconFlowLangChain4jModelProvider.java # SiliconFlow LangChain4j 提供者
│   │           │       │   └── TogetherAILangChain4jModelProvider.java # TogetherAI LangChain4j 提供者
│   │           │       │
│   │           │       ├── factory/         # 工厂模式 (用于创建 Provider)
│   │           │       │   └── AIModelProviderFactory.java # AI 模型提供者工厂
│   │           │       │
│   │           │       └── capability/      # AI Provider 能力检测
│   │           │           ├── AnthropicCapabilityDetector.java # Anthropic 能力检测器
│   │           │           ├── GeminiCapabilityDetector.java # Gemini 能力检测器
│   │           │           ├── GrokCapabilityDetector.java # Grok 能力检测器
│   │           │           ├── OpenAICapabilityDetector.java # OpenAI 能力检测器
│   │           │           ├── OpenRouterCapabilityDetector.java # OpenRouter 能力检测器
│   │           │           ├── ProviderCapabilityDetector.java # Provider 能力检测器接口
│   │           │           ├── ProviderCapabilityService.java # Provider 能力服务
│   │           │           ├── SiliconFlowCapabilityDetector.java # SiliconFlow 能力检测器
│   │           │           └── TogetherAICapabilityDetector.java # TogetherAI 能力检测器
│   │           │
│   │           ├── security/                # 安全配置和组件
│   │           │   ├── CurrentUser.java     # 获取当前用户注解
│   │           │   ├── CurrentUserMethodArgumentResolver.java # 解析 @CurrentUser 注解的参数解析器
│   │           │   ├── JwtAuthenticationManager.java # JWT 认证管理器
│   │           │   └── JwtServerAuthenticationConverter.java # JWT 服务器认证转换器 (用于 Spring Security WebFlux)
│   │           │
│   │           ├── repository/              # 数据仓库层 (数据库交互)
│   │           │   ├── AIChatMessageRepository.java # AI 聊天消息仓库接口
│   │           │   ├── AIChatSessionRepository.java # AI 聊天会话仓库接口
│   │           │   ├── KnowledgeChunkRepository.java # 知识块仓库接口
│   │           │   ├── NextOutlineRepository.java # 后续大纲仓库接口
│   │           │   ├── NovelRepository.java # 小说仓库接口
│   │           │   ├── PromptTemplateRepository.java # 提示词模板仓库接口
│   │           │   ├── SceneRepository.java # 场景仓库接口
│   │           │   ├── UserAIModelConfigRepository.java # 用户 AI 模型配置仓库接口
│   │           │   ├── UserPromptTemplateRepository.java # 用户提示词模板仓库接口
│   │           │   ├── UserRepository.java  # 用户仓库接口
│   │           │   │
│   │           │   ├── impl/                # 数据仓库层实现 (部分自定义实现)
│   │           │   │   ├── NextOutlineRepositoryImpl.java # NextOutlineRepository 自定义实现
│   │           │   │   └── UserRepositoryImpl.java # UserRepository 自定义实现
│   │           │   │
│   │           │   └── custom/              # 自定义仓库接口 (用于复杂查询)
│   │           │       └── CustomUserRepository.java # 自定义用户仓库接口
│   │           │
│   │           ├── exception/               # 自定义异常类
│   │           │   └── VectorStoreException.java # 向量存储异常
│   │           │
│   │           ├── domain/                  # 领域模型和 DTO
│   │           │   ├── model/               # 核心领域模型 (对应数据库实体)
│   │           │   │   ├── AIChatMessage.java # AI 聊天消息实体
│   │           │   │   ├── AIChatSession.java # AI 聊天会话实体
│   │           │   │   ├── AIFeatureType.java # AI 功能类型枚举
│   │           │   │   ├── AIInteraction.java # AI 交互记录实体 (可能)
│   │           │   │   ├── AIRequest.java     # AI 请求实体 (可能)
│   │           │   │   ├── AIResponse.java    # AI 响应实体 (可能)
│   │           │   │   ├── BaseAIRequest.java # AI 请求基类 (可能)
│   │           │   │   ├── Character.java     # 角色实体
│   │           │   │   ├── GenerateNextOutlinesDTO.java # (重复) 生成后续大纲 DTO (位置可能不当)
│   │           │   │   ├── KnowledgeChunk.java # 知识块实体
│   │           │   │   ├── ModelInfo.java     # 模型信息实体
│   │           │   │   ├── ModelListingCapability.java # 模型列表能力枚举
│   │           │   │   ├── NextOutline.java   # 后续大纲实体
│   │           │   │   ├── Novel.java         # 小说实体
│   │           │   │   ├── OptimizationResult.java # 优化结果实体
│   │           │   │   ├── OptimizationSection.java # 优化部分实体
│   │           │   │   ├── OptimizationStatistics.java # 优化统计实体
│   │           │   │   ├── OptimizationStyle.java # 优化风格枚举
│   │           │   │   ├── PromptTemplate.java # 提示词模板实体
│   │           │   │   ├── Scene.java         # 场景实体
│   │           │   │   ├── SceneVersionDiff.java # (重复) 场景版本差异 DTO (位置可能不当)
│   │           │   │   ├── Setting.java       # 设定实体
│   │           │   │   ├── User.java          # 用户实体
│   │           │   │   ├── UserAIModelConfig.java # 用户 AI 模型配置实体
│   │           │   │   └── UserPromptTemplate.java # 用户提示词模板实体
│   │           │   │
│   │           │   └── dto/                 # 领域层 DTO (特定于领域逻辑)
│   │           │       ├── ApiKeyTestRequest.java # API Key 测试请求 DTO
│   │           │       ├── ParsedNovelData.java # 解析后的小说数据 DTO
│   │           │       └── ParsedSceneData.java # 解析后的场景数据 DTO
│   │           │
│   │           ├── controller/              # (重复) 控制器目录 (结构可能需要调整)
│   │           │   └── ProviderCapabilityController.java # Provider 能力控制器
│   │           │
│   │           ├── config/                  # 应用配置类
│   │           │   ├── AIServiceConfig.java # AI 服务相关配置
│   │           │   ├── CacheConfig.java     # 缓存配置 (如 Caffeine)
│   │           │   ├── ChatLanguageModelConfig.java # 聊天语言模型配置 (可能与 LangChain4j 相关)
│   │           │   ├── MongoConfig.java     # MongoDB 配置
│   │           │   ├── MongoQueryCounterAspect.java # MongoDB 查询计数切面 (用于监控或调试)
│   │           │   ├── MonitoringConfig.java # 监控配置 (如 Micrometer, Actuator)
│   │           │   ├── PasswordConfig.java  # 密码加密配置 (如 BCryptPasswordEncoder)
│   │           │   ├── ProviderServiceConfig.java # Provider 服务配置
│   │           │   ├── ProxyConfig.java     # 网络代理配置
│   │           │   ├── RagConfig.java       # RAG 配置
│   │           │   ├── SecurityConfig.java  # Spring Security 配置
│   │           │   ├── StorageConfig.java   # 文件存储配置
│   │           │   ├── StorageStartupTester.java # 存储服务启动测试器
│   │           │   ├── TestSecurityConfig.java # 测试环境安全配置
│   │           │   ├── VectorStoreConfig.java # 向量存储配置
│   │           │   ├── VirtualThreadConfig.java # 虚拟线程执行器配置
│   │           │   └── WebConfig.java       # Web 相关配置 (如 CORS, ArgumentResolvers)
│   │           │
│   │           └── common/                  # 通用工具和类
│   │               ├── util/                # 通用工具类
│   │               │   ├── MockDataGenerator.java # 模拟数据生成器
│   │               │   ├── PerformanceTestUtil.java # (重复) 性能测试工具类
│   │               │   └── PromptUtil.java    # 提示词处理工具类
│   │               │
│   │               ├── security/            # 通用安全类
│   │               │   └── CurrentUser.java   # (重复) 获取当前用户注解
│   │               │
│   │               ├── model/               # 通用模型类
│   │               │   └── ErrorResponse.java # (重复) 通用错误响应模型
│   │               │
│   │               └── exception/           # 通用异常类
│   │                   ├── ResourceNotFoundException.java # 资源未找到异常
│   │                   └── ValidationException.java # 验证异常
│
└── AINoval/                                 # 前端 Flutter 项目目录
    ├── analysis_options.yaml                # Dart 代码分析器选项
    ├── devtools_options.yaml                # Dart 开发者工具选项
    ├── firebase.json                        # Firebase CLI 配置文件
    ├── pubspec.yaml                         # Flutter 项目配置文件 (依赖项, 资源等)
    ├── README.md                            # AINoval 前端项目说明文档
    │
    ├── 设计文档/                            # 前端特定模块的设计文档
    │   └── 前端后台任务系统任务分解.md          # 前端后台任务系统的任务分解
    │
    ├── web/                                 # Web 平台特定文件
    │   ├── index.html                       # Web 应用主 HTML 文件
    │   └── manifest.json                    # Web 应用清单文件
    │
    ├── scripts/                             # Dart 脚本目录
    │   └── replace_print_with_logger.dart   # 用于替换 print 为 logger 的脚本
    │
    ├── lib/                                 # Flutter 应用主要代码目录
    │   ├── firebase_options.dart            # Firebase 初始化选项 (自动生成)
    │   ├── main.dart                        # Flutter 应用入口文件
    │   │
    │   ├── widgets/                         # 可重用的小部件目录
    │   │   └── common/                      # 通用小部件
    │   │       ├── empty_state_placeholder.dart # 空状态占位符小部件
    │   │       └── loading_indicator.dart # 加载指示器小部件
    │   │
    │   ├── utils/                           # 工具类目录
    │   │   ├── app_theme.dart               # 应用主题工具类
    │   │   ├── date_formatter.dart          # 日期格式化工具类
    │   │   ├── date_time_parser.dart        # 日期时间解析工具类
    │   │   ├── debouncer.dart               # 防抖动工具类
    │   │   ├── logger.dart                  # 日志记录工具类
    │   │   ├── logger_guide.md              # 日志记录器使用指南
    │   │   ├── logger_usage_examples.dart   # 日志记录器使用示例
    │   │   ├── mock_data.dart               # 模拟数据
    │   │   ├── mock_data_generator.dart     # 模拟数据生成器
    │   │   └── word_count_analyzer.dart     # 字数统计分析器
    │   │
    │   ├── ui/                              # UI 相关目录 (可能包含通用 UI 元素)
    │   │   ├── screens/                     # (旧结构?) 屏幕目录
    │   │   │   └── editor_screen.dart       # (旧结构?) 编辑器屏幕
    │   │   ├── dialogs/                     # 对话框目录
    │   │   │   └── scene_history_dialog.dart # 场景历史对话框
    │   │   └── common/                      # 通用 UI 组件
    │   │       ├── loading_indicator.dart # (重复) 加载指示器
    │   │       └── no_data_placeholder.dart # 无数据占位符
    │   │
    │   ├── theme/                           # 主题和样式目录
    │   │   └── text_styles.dart             # 文本样式定义
    │   │
    │   ├── services/                        # 应用服务目录
    │   │   ├── auth_service.dart            # 认证服务
    │   │   ├── context_provider.dart        # 上下文提供者 (可能用于全局访问)
    │   │   ├── local_storage_service.dart   # 本地存储服务
    │   │   ├── sync_service.dart            # 同步服务 (可能用于离线/在线同步)
    │   │   ├── websocket_service.dart       # WebSocket 服务
    │   │   │
    │   │   └── api_service/                 # API 服务目录 (与后端交互)
    │   │       ├── README.md                # API 服务说明
    │   │       ├── repositories/            # API 仓库接口
    │   │       │   ├── chat_repository.dart # 聊天 API 仓库接口
    │   │       │   ├── editor_repository.dart # 编辑器 API 仓库接口
    │   │       │   ├── next_outline_repository.dart # 剧情推演 API 仓库接口
    │   │       │   ├── novel_repository.dart # 小说 API 仓库接口
    │   │       │   ├── prompt_repository.dart # 提示词 API 仓库接口
    │   │       │   ├── storage_repository.dart # 存储 API 仓库接口
    │   │       │   └── user_ai_model_config_repository.dart # 用户 AI 配置 API 仓库接口
    │   │       │
    │   │       ├── repositories/impl/       # API 仓库实现
    │   │       │   ├── aliyun_oss_storage_repository.dart # 阿里云 OSS 存储仓库实现
    │   │       │   ├── chat_repository_impl.dart # 聊天 API 仓库实现
    │   │       │   ├── editor_repository_impl.dart # 编辑器 API 仓库实现
    │   │       │   ├── next_outline_repository_impl.dart # 剧情推演 API 仓库实现
    │   │       │   ├── novel_repository_impl.dart # 小说 API 仓库实现
    │   │       │   ├── prompt_repository_impl.dart # 提示词 API 仓库实现
    │   │       │   ├── storage_repository_impl.dart # 存储 API 仓库实现
    │   │       │   └── user_ai_model_config_repository_impl.dart # 用户 AI 配置 API 仓库实现
    │   │       │
    │   │       └── base/                    # API 服务基础类
    │   │           ├── api_client.dart      # API 客户端 (如 Dio 封装)
    │   │           ├── api_exception.dart   # API 异常类
    │   │           └── sse_client.dart      # Server-Sent Events (SSE) 客户端
    │   │
    │   ├── screens/                         # 应用屏幕 (主要页面) 目录
    │   │   ├── settings/                    # 设置屏幕
    │   │   │   ├── settings_panel.dart      # 设置面板主屏幕
    │   │   │   └── widgets/                 # 设置屏幕相关小部件
    │   │   │       ├── ai_assist_toolbar.dart # AI 辅助工具栏
    │   │   │       ├── ai_config_form.dart  # AI 配置表单
    │   │   │       ├── custom_model_dialog.dart # 自定义模型对话框
    │   │   │       ├── model_group_list.dart # 模型分组列表
    │   │   │       ├── model_service_card.dart # 模型服务卡片
    │   │   │       ├── model_service_header.dart # 模型服务列表头部
    │   │   │       ├── model_service_list_page.dart # 模型服务列表页面
    │   │   │       ├── optimization_result_view.dart # 优化结果视图
    │   │   │       ├── processing_indicator.dart # 处理中指示器
    │   │   │       ├── prompt_editor_panel.dart # 提示词编辑面板
    │   │   │       ├── prompt_management_panel.dart # 提示词管理面板
    │   │   │       ├── prompt_template_library.dart # 提示词模板库
    │   │   │       ├── provider_list.dart   # AI Provider 列表
    │   │   │       ├── searchable_model_dropdown.dart # 可搜索的模型下拉菜单
    │   │   │       └── template_permission_indicator.dart # 模板权限指示器
    │   │   │
    │   │   ├── novel_list/                  # 小说列表屏幕
    │   │   │   ├── novel_list_screen.dart   # 小说列表主屏幕
    │   │   │   └── widgets/                 # 小说列表屏幕相关小部件
    │   │   │       ├── continue_writing_section.dart # 继续写作区域
    │   │   │       ├── empty_novel_view.dart # 空小说列表视图
    │   │   │       ├── header_section.dart  # 头部区域
    │   │   │       ├── import_novel_dialog.dart # 导入小说对话框
    │   │   │       ├── loading_view.dart    # 加载视图
    │   │   │       ├── novel_card.dart      # 小说卡片
    │   │   │       ├── novel_list_error_view.dart # 小说列表错误视图
    │   │   │       └── search_filter_bar.dart # 搜索和过滤栏
    │   │   │
    │   │   ├── next_outline/                # 剧情推演屏幕
    │   │   │   ├── next_outline_screen.dart # 剧情推演主屏幕
    │   │   │   ├── next_outline_view.dart   # 剧情推演视图 (可能包含主要 UI)
    │   │   │   └── widgets/                 # 剧情推演屏幕相关小部件
    │   │   │       ├── outline_generation_config_card.dart # 大纲生成配置卡片
    │   │   │       ├── results_grid.dart    # 结果网格布局
    │   │   │       └── result_card.dart     # 结果卡片
    │   │   │
    │   │   ├── editor/                      # 编辑器屏幕
    │   │   │   ├── editor_screen.dart       # 编辑器主屏幕
    │   │   │   ├── widgets/                 # 编辑器屏幕通用小部件
    │   │   │   │   ├── ai_chat_button.dart  # AI 聊天按钮
    │   │   │   │   ├── ai_generation_panel.dart # AI 生成面板
    │   │   │   │   ├── ai_scene_generation_side_panel.dart # AI 场景生成侧边面板
    │   │   │   │   ├── ai_stream_generation_display.dart # AI 流式生成显示
    │   │   │   │   ├── ai_summary_panel.dart # AI 摘要面板
    │   │   │   │   ├── ai_summary_side_panel.dart # AI 摘要侧边面板
    │   │   │   │   ├── custom_dropdown.dart # 自定义下拉菜单
    │   │   │   │   ├── dialogs.dart         # 编辑器相关对话框
    │   │   │   │   ├── dropdown_guide.md    # 下拉菜单使用指南
    │   │   │   │   ├── dropdown_manager.dart # 下拉菜单管理器
    │   │   │   │   ├── editor_toolbar.dart  # 编辑器工具栏
    │   │   │   │   ├── enhanced_menu_item.dart # 增强型菜单项
    │   │   │   │   ├── generate_scene_dialog.dart # 生成场景对话框
    │   │   │   │   ├── menu_builder.dart    # 菜单构建器
    │   │   │   │   ├── menu_definitions.dart # 菜单定义
    │   │   │   │   ├── novel_settings_view.dart # 小说设置视图
    │   │   │   │   ├── selection_toolbar.dart # 文本选择工具栏
    │   │   │   │   └── word_count_display.dart # 字数显示
    │   │   │   │
    │   │   │   ├── managers/                # 编辑器屏幕管理器
    │   │   │   │   ├── editor_dialog_manager.dart # 编辑器对话框管理器
    │   │   │   │   ├── editor_layout_manager.dart # 编辑器布局管理器
    │   │   │   │   └── editor_state_manager.dart # 编辑器状态管理器
    │   │   │   │
    │   │   │   ├── controllers/             # 编辑器屏幕控制器 (可能与 BLoC 结合)
    │   │   │   │   └── editor_screen_controller.dart # 编辑器屏幕控制器
    │   │   │   │
    │   │   │   └── components/              # 编辑器屏幕的主要 UI 组件
    │   │   │       ├── act_section.dart     # 幕/卷区域组件
    │   │   │       ├── chapter_section.dart # 章区域组件
    │   │   │       ├── draggable_divider.dart # 可拖动分隔线
    │   │   │       ├── editor_app_bar.dart  # 编辑器应用栏
    │   │   │       ├── editor_layout.dart   # 编辑器整体布局
    │   │   │       ├── editor_main_area.dart # 编辑器主编辑区域
    │   │   │       ├── editor_sidebar.dart  # 编辑器侧边栏 (大纲/章节/场景列表)
    │   │   │       ├── multi_ai_panel_view.dart # 多 AI 面板视图
    │   │   │       ├── plan_view.dart       # 小说计划 (Plan) 视图
    │   │   │       └── scene_editor.dart    # 场景编辑器组件
    │   │   │
    │   │   ├── chat/                        # AI 聊天屏幕
    │   │   │   ├── chat_screen.dart         # AI 聊天主屏幕
    │   │   │   └── widgets/                 # AI 聊天屏幕相关小部件
    │   │   │       ├── ai_chat_sidebar.dart # AI 聊天侧边栏
    │   │   │       ├── chat_input.dart      # 聊天输入框
    │   │   │       ├── chat_message_bubble.dart # 聊天消息气泡
    │   │   │       ├── chat_sidebar.dart    # 聊天侧边栏 (可能包含会话列表)
    │   │   │       ├── context_panel.dart   # 上下文面板
    │   │   │       ├── model_selector_dropdown.dart # 模型选择下拉菜单
    │   │   │       └── typing_indicator.dart # 输入中指示器
    │   │   │
    │   │   ├── auth/                        # 认证屏幕
    │   │   │   └── login_screen.dart        # 登录屏幕
    │   │   │
    │   │   └── ai_config/                   # AI 配置管理屏幕
    │   │       ├── ai_config_management_screen.dart # AI 配置管理主屏幕
    │   │       └── widgets/                 # AI 配置屏幕相关小部件
    │   │           ├── add_edit_ai_config_dialog.dart # 添加/编辑 AI 配置对话框
    │   │           ├── ai_config_list_item.dart # AI 配置列表项
    │   │           └── ai_model_selector.dart # AI 模型选择器
    │   │
    │   ├── repositories/                    # 数据仓库目录 (顶层, 可能需要整合)
    │   │   └── codex_repository.dart        # Codex (知识库) 仓库接口
    │   │
    │   ├── models/                          # 数据模型目录
    │   │   ├── ai_model_group.dart          # AI 模型分组模型
    │   │   ├── chat_message.dart            # 聊天消息模型
    │   │   ├── chat_models.dart             # 聊天相关模型 (可能包含会话等)
    │   │   ├── editor_content.dart          # 编辑器内容模型
    │   │   ├── editor_settings.dart         # 编辑器设置模型
    │   │   ├── import_status.dart           # 导入状态模型
    │   │   ├── model_info.dart              # 模型信息模型
    │   │   ├── novel_structure.dart         # 小说结构模型 (卷/章/场景)
    │   │   ├── novel_summary.dart           # 小说摘要模型
    │   │   ├── prompt_models.dart           # 提示词相关模型
    │   │   ├── revision.dart                # 版本/修订模型
    │   │   ├── scene_version.dart           # 场景版本模型
    │   │   ├── user_ai_model_config_model.dart # 用户 AI 模型配置模型
    │   │   │
    │   │   ├── next_outline/                # 剧情推演相关模型
    │   │   │   ├── next_outline_dto.dart    # 剧情推演 DTO
    │   │   │   └── outline_generation_chunk.dart # 大纲生成块 (SSE)
    │   │   │
    │   │   └── api/                         # API 数据传输对象 (DTO)
    │   │       └── editor_dtos.dart         # 编辑器相关的 DTO
    │   │
    │   ├── l10n/                            # 本地化目录
    │   │   └── l10n.dart                    # 本地化工具类/入口
    │   │
    │   ├── docs/                            # 文档目录 (嵌入代码中)
    │   │   └── logger_guide.md              # (重复) 日志记录器使用指南
    │   │
    │   ├── config/                          # 应用配置目录
    │   │   └── app_config.dart              # 应用配置 (如 API 地址)
    │   │
    │   ├── components/                      # 可重用组件目录 (类似 widgets)
    │   │   └── editable_title.dart          # 可编辑标题组件
    │   │
    │   └── blocs/                           # BLoC 状态管理目录
    │       ├── editor_version_bloc.dart     # 编辑器版本 BLoC
    │       ├── editor_version_event.dart    # 编辑器版本事件
    │       ├── editor_version_state.dart    # 编辑器版本状态
    │       │
    │       ├── prompt/                      # 提示词管理 BLoC
    │       │   ├── prompt_bloc.dart         # 提示词 BLoC
    │       │   ├── prompt_event.dart        # 提示词事件
    │       │   ├── prompt_state.dart        # 提示词状态
    │       │   └── prompt_template_events.dart # 提示词模板事件 (可能应合并或重构)
    │       │
    │       ├── plan/                        # 小说计划 (Plan) BLoC
    │       │   ├── plan_bloc.dart           # Plan BLoC
    │       │   ├── plan_event.dart          # Plan 事件
    │       │   └── plan_state.dart          # Plan 状态
    │       │
    │       ├── novel_list/                  # 小说列表 BLoC
    │       │   ├── novel_list_bloc.dart     # 小说列表 BLoC
    │       │   └── novel_list_event.dart    # 小说列表事件
    │       │   # novel_list_state.dart missing? (可能在 novel_list_bloc.dart 中定义)
    │       │
    │       ├── novel_import/                # 小说导入 BLoC
    │       │   ├── novel_import_bloc.dart   # 小说导入 BLoC
    │       │   ├── novel_import_event.dart  # 小说导入事件
    │       │   └── novel_import_state.dart  # 小说导入状态
    │       │
    │       ├── next_outline/                # 剧情推演 BLoC
    │       │   ├── next_outline_bloc.dart   # 剧情推演 BLoC
    │       │   ├── next_outline_event.dart  # 剧情推演事件
    │       │   └── next_outline_state.dart  # 剧情推演状态
    │       │
    │       ├── editor/                      # 编辑器 BLoC
    │       │   ├── editor_bloc.dart         # 编辑器 BLoC
    │       │   ├── editor_event.dart        # 编辑器事件
    │       │   └── editor_state.dart        # 编辑器状态
    │       │
    │       ├── chat/                        # AI 聊天 BLoC
    │       │   ├── chat_bloc.dart           # 聊天 BLoC
    │       │   ├── chat_event.dart          # 聊天事件
    │       │   └── chat_state.dart          # 聊天状态
    │       │
    │       ├── auth/                        # 认证 BLoC
    │       │   └── auth_bloc.dart           # 认证 BLoC
    │       │   # auth_event.dart, auth_state.dart missing?
    │       │
    │       └── ai_config/                   # AI 配置 BLoC
    │           ├── ai_config_bloc.dart      # AI 配置 BLoC
    │           ├── ai_config_event.dart     # AI 配置事件
    │           └── ai_config_state.dart     # AI 配置状态
    │
    ├── fix_dollar_e/                        # 一个独立的 Dart 包/工具 (修复 $e 问题?)
    │   └── bin/                             # 可执行脚本目录
    │       └── fix_dollar_e.dart            # 主要执行脚本
    │
    └── build/                               # Flutter 构建输出目录
        ├── flutter_assets/                  # Flutter 资源文件
        │   ├── AssetManifest.bin.json       # 二进制资源清单
        │   ├── AssetManifest.json           # JSON 资源清单
        │   ├── FontManifest.json            # 字体清单
        │   └── packages/                    # 包资源
        │       └── fluttertoast/            # fluttertoast 包资源
        │           └── assets/              # fluttertoast 资源
        │               ├── toastify.css     # toastify CSS
        │               └── toastify.js      # toastify JS
        │
        └── ce49e7d90cd902197f9a9cbc84219d23/ # (内部构建目录)
            └── outputs.json                 # 构建输出信息

```

## 技术架构

### 前端技术栈

- **框架**: Flutter
- **状态管理**: Bloc模式
- **网络请求**: 服务层与仓库模式
- **国际化**: l10n支持

### 后端技术栈

- **框架**: Spring Boot
- **安全**: Spring Security
- **数据访问**: Spring Data
- **API文档**: Swagger/OpenAPI
- **测试**: JUnit, Postman



## 开发流程

项目采用敏捷开发方法，通过迭代方式进行开发。前端和后端团队协作，使用Git进行版本控制，通过Postman进行API测试。

## 文档资源

- 需求文档: 详细的功能需求说明
- 原型图: UI/UX设计原型
- 测试计划与文档: 测试策略和测试用例
- 后端开发文档: API设计和实现说明
- 前端产品敏捷迭代计划: 前端开发计划和里程碑