# Cursor Rules for Finyx Frontend ## 项目概述 这是一个基于 Vue 3 + TypeScript + Vite 的前端项目,主要功能包括智能问答、智能写作、智能审核和知识库管理。 ## 技术栈 - **框架**: Vue 3.3.4 (Composition API) - **构建工具**: Vite 6.3.5 - **语言**: TypeScript 5.1.6 - **UI框架**: Element Plus 2.9.1 - **状态管理**: Pinia 2.1.6 - **路由**: Vue Router 4.2.4 - **HTTP客户端**: Axios 0.28.0 - **样式**: SCSS - **代码编辑器**: CodeMirror 6.0.1 - **Markdown编辑器**: md-editor-v3 5.8.4 ## 代码规范 ### 1. 语言与注释 - 默认使用中文回答问题,除非用户特别要求英文 - 默认使用英文代码注释,除非特别要求中文 - 公共 API 使用 JSDoc/TSDoc 格式 ### 2. 回答风格 - 尽量简洁明了,避免不必要的废话和重复说明 - 先给出关键答案,再提供简短解释或示例 ### 3. 安全与稳健性(最高优先级) - 绝对禁止硬编码任何敏感信息(密码、API密钥、IP) - 所有配置必须从环境变量或配置文件中读取 - 必须进行错误处理,对可能失败的操作使用 try-catch 或等效机制 ### 4. 代码整洁与可维护性(参考《代码整洁之道》) - 函数短小且单一职责,每个函数只做一件事 - 变量、函数、类命名语义清晰,易读易理解 - 避免重复代码(遵循 DRY 原则) - 错误处理明确且一致,保证程序健壮 - 模块和类职责明确,依赖清晰,便于扩展和维护 ## 项目结构 ### 目录结构 ``` src/ ├── api/ # API接口定义 ├── assets/ # 静态资源 ├── bus/ # 事件总线 ├── components/ # 全局组件 ├── directives/ # 自定义指令 ├── enums/ # 枚举定义 ├── layout/ # 布局组件 ├── request/ # HTTP请求封装 ├── router/ # 路由配置 ├── servers/ # 服务层API │ ├── base/ # 基础服务 │ ├── finyx/ # Finyx业务服务 │ └── oauth/ # 认证服务 ├── stores/ # Pinia状态管理 │ └── modules/ # 状态模块 ├── styles/ # 全局样式 ├── utils/ # 工具函数 └── views/ # 页面组件 ├── chat/ # 聊天页面 ├── knowledge/ # 知识中心 ├── login/ # 登录页面 └── smart/ # 智能中心 ``` ### 命名规范 - **组件**: PascalCase (如 `AppAvatar.vue`) - **文件/目录**: kebab-case (如 `app-avatar/`) - **变量/函数**: camelCase (如 `getUserInfo`) - **常量**: UPPER_SNAKE_CASE (如 `MAX_SIZE`) - **类型/接口**: PascalCase (如 `UserInfo`) ## 开发规范 ### Vue组件规范 1. **使用 Composition API**: 优先使用 `