50 lines
2.7 KiB
Plaintext
50 lines
2.7 KiB
Plaintext
---
|
||
description:
|
||
globs:
|
||
alwaysApply: true
|
||
---
|
||
Always respond in 中文
|
||
|
||
## 注意事项
|
||
|
||
### 相关规范文档(项目根目录下,需要时请查看)
|
||
- 数据模型结构:模型定义-团队级.txt 和 模型定义-系统级.txt
|
||
- 自定义钩子使用文档:README-hooks.md
|
||
- 数据库连接模块使用指南:README-DB.md
|
||
- API请求规范与最佳实践:README-API.md
|
||
- UI设计规范:README-UI.md
|
||
- 工具函数已在src\utils\index.ts中导出
|
||
- 钩子在src\hooks\index.ts,请查看相关使用方式,禁止使用src\store
|
||
|
||
### 开发规范
|
||
- 现在已启用TypeScript严格模式,不要出现类型错误,禁止出现未使用变量
|
||
- UI使用Ant Design 5.X 注意兼容性问题
|
||
- api路由不需要auth,禁止使用auth!!!
|
||
- 前端UI、API请求都要符合我们现有的规范(可查看相关文件)
|
||
- 开发时,单文件代码严格限制在700行以内(含注释) 不要画蛇添足!
|
||
- 禁止使用any类型!
|
||
- 必须包含三级注释体系:
|
||
▸ 文件头注释(作者:阿瑞/功能/版本)
|
||
▸ 模块级注释(逻辑分段说明)
|
||
▸ 关键代码行注释(复杂逻辑解释)
|
||
- 当前在Windows 11环境下使用PowerShell终端进行开发,禁用类Unix命令,使用`Get-ChildItem` 替代ls ;
|
||
- 已使用pnpm run dev启动了项目,禁止重复启动
|
||
- 当修改超过300行的文件时,确保每次修改代码行数 ≤ 100行,分多次修改。
|
||
|
||
## 补充说明
|
||
|
||
1. 适当使用useMemo、React.memo来优化性能和防止不必要的重新渲染;
|
||
2. 尽量少使用第三方库,优先使用原生功能或已有依赖;
|
||
3. 创建模块化样式文件(Modular Stylesheet),命名遵循[name].module.css约定;
|
||
4. 创建新组件时,遵循项目的目录组织结构和命名规范;
|
||
5. 最好是模块化能够复用的;
|
||
6. 创建前端页面时,复杂样式时应分离样式文件,创建`page.module.css`使用`import styles from './page.module.css';`引入样式;
|
||
7. 已有UI组件已在`src\components\ui`路径下,使用时可查看具体代码获取使用方法;
|
||
8. 不使用`import { toast } from 'sonner';`这个第三方组件,使用`src\components\ui\Notification.tsx`这个组件;
|
||
9. 数据模型定义在`src\models\system`(系统级)和`src\models\team(团队及)文件中;
|
||
10. 避免重复定义类型!!!数据模型接口定义在`src\models\system\types`(系统级)和`src\models\team\types`(团队级)文件中;
|
||
11. 当执行终端命令时,先解释这个命令的作用;如果要使用pnpm安装包时,先解释为什么需要这个包;
|
||
|
||
## 数据库说明
|
||
|
||
数据库是docker中搭建的,可以使用这个命令进入数据库: docker exec -it my-mysql mysql -uroot -p"aiwoQwo520.." |