共计 3151 个字符,预计需要花费 8 分钟才能阅读完成。
关于使用 Cursor 的体会与建议
自从三月份以来,我开始使用 Cursor,经过一段时间的探索,想和大家分享一些我的使用体验。
网上关于 Cursor 的负面评价已经很多,这里就不再赘述。接下来,我将提供一些实用的建议:
- 遵循“一次对话专注一件事”的原则。最初使用时,如果在一个对话中尝试多项功能,可能会导致在出现 Bug 时,AI 忘记上下文。因此,妥善管理对话,记得修改对话名称,这样更有利于后续的使用。
- 利用 AI 帮助你维护文档。可以根据团队的管理经验来设计文档结构。例如,我的后端代码维护了三种文档:接口文档、功能模块说明和项目开发日志。
- 为每个新对话提供项目的快速了解资料。可以创建一个“快速了解项目.md”的文件,每当开启新对话时引用,并简单说明你的需求。
- 请注意,使用次数是有限的,下个月将无法继续使用未用完的次数。
最后,我将分享一些我项目中的文档,这些都是通过 Cursor 生成的。
# AI 助手快速上手指南
## 新对话开始时请先阅读
### 1. 项目基础信息
- ** 框架 **: -
- ** 环境 **: -
- ** 主要功能 **: .
### 2. 必读文档优先级
1. ** 项目概览.md** - 了解整体架构
2. ** 开发日志.md** - 了解最新进展
3. **.cursorrules** - 了解开发规范
4. **docs/ 目录 ** - 查看前端 API 文档
5. **dev-docs/ 目录 ** - 查看功能开发详情
### 3. 核心开发规范 ⚠️
```
- 禁止注解路由,必须使用 config/routes.php
- 统一响应格式: -
- 使用 AppUtilsResponse 类处理响应
- 接口文档按模块拆分到 docs/ 目录
- 功能开发文档维护到 dev-docs/ 目录
- 容器类型使用 PsrContainerContainerInterface
```
### 4. 路由命名规则
```
- RESTful 风格,小写 + 连字符
- 同类功能使用相同前缀
- 参数格式: {param}
- 使用分组: addGroup
```
### 5. 响应方法
-
### 6. 当前重点功能模块
-
### 7. 快速检查清单
- [ ] 读取项目概览了解整体情况
- [ ] 查看开发日志了解最新变更
- [ ] 确认当前需求所属的功能模块
- [ ] 检查相关的接口文档
- [ ] 确认路由是否已存在于 routes.php
### 8. 开发文档体系
```
docs/ - 前端 API 文档 (给前端开发者使用)
dev-docs/ - 功能开发文档 (给 AI 助手使用)
├── README.md - 目录说明
├── 模板.md - 功能文档模板
├── 管理员系统.md - 具体功能文档
└── ...
```
### 9. 开发文档使用流程
1. ** 开发前 **: 检查 dev-docs/ 中是否有相关功能文档
2. ** 开发中 **: 参考已有功能的架构和模式
3. ** 开发后 **: 创建或更新对应的功能文档
4. ** 维护时 **: 保持文档与代码同步
### 10. 快速检查清单
- [ ] 读取项目概览了解整体情况
- [ ] 查看开发日志了解最新变更
- [ ] 确认当前需求所属的功能模块
- [ ] 检查 dev-docs/ 中的相关功能文档
- [ ] 检查 docs/ 中的相关接口文档
- [ ] 确认路由是否已存在于 routes.php
---
** 提示 **: 每次新对话开始时,建议先问用户当前要开发的具体功能,然后快速浏览相关文档。
# 用户认证
## 1. 功能概述
- ** 功能描述 **: 提供用户登录、注册、登出、密码重置等认证相关功能
- ** 业务场景 **: 用户需要登录系统访问受限资源时使用
- ** 开发状态 **: ✅ 已完成
## 2. 关键词 / 标签
```
标签: [认证, 登录, JWT, 用户, 安全, 中间件]
```
## 3. 相关文件清单
### 控制器 (Controller)
```
- app/Controller/AuthController.php
```
### 服务层 (Service)
```
- app/Service/AuthService.php
- app/Service/UserService.php
```
### 数据模型 (Model)
```
- app/Model/User.php
- app/Model/UserToken.php
```
### 中间件 (Middleware)
```
- app/Middleware/AuthMiddleware.php
- app/Middleware/JwtMiddleware.php
```
### 其他相关文件
```
- config/autoload/jwt.php
- app/Utils/JwtHelper.php
```
## 4. 数据库表结构
### 主要数据表
```sql
-- 表名: users
-- 用途: 存储用户基本信息
-- 关键字段: id, username, email, password, status, created_at
-- 表名: user_tokens
-- 用途: 存储用户登录令牌
-- 关键字段: user_id, token, expires_at, device_info
```
### 关联表
```sql
-- 暂无关联表
```
## 5. 路由信息
### 路由分组
```php
// 在 config/routes.php 中的位置
Router::addGroup('/auth', function () {Router::post('/login', 'AppControllerAuthController@login');
Router::post('/logout', 'AppControllerAuthController@logout');
Router::post('/refresh', 'AppControllerAuthController@refresh');
});
```
### 主要路由
```
POST /auth/login - 用户登录
POST /auth/logout - 用户登出
POST /auth/refresh - 刷新令牌
GET /auth/me - 获取当前用户信息
```
## 6. 依赖关系
### 依赖的功能模块
```
- 用户管理: 需要用户基础数据
- 响应处理: 使用统一的 Response 类
```
### 被依赖的功能
```
- 所有需要登录的功能都依赖本模块的认证中间件
```
## 7. 特殊逻辑说明
### 核心业务逻辑
```
- JWT 令牌生成和验证: 使用 RSA256 算法签名
- 密码加密: 使用 bcrypt 哈希算法
- 令牌刷新: 支持无感刷新机制
```
### 算法或复杂处理
```
- 登录限制: 连续失败 5 次后锁定账户 30 分钟
- 令牌管理: 支持多设备登录,每个设备独立令牌
```
## 8. 配置要求
### 环境配置
```
- JWT_SECRET: JWT 签名密钥
- JWT_TTL: 令牌有效期 (默认 7200 秒)
- JWT_REFRESH_TTL: 刷新令牌有效期 (默认 20160 分钟)
```
### 第三方服务
```
- 无外部服务依赖
```
## 9. 注意事项
### 开发注意事项
```
- 密码明文不能记录到日志中
- JWT 密钥必须保密,不能提交到代码仓库
- 令牌过期时间要合理设置
```
### 部署注意事项
```
- 确保 JWT_SECRET 环境变量已设置
- 检查数据库 users 表和 user_tokens 表是否创建
```
### 性能考虑
```
- JWT 验证是无状态的,性能较好
- 用户令牌表需要定期清理过期数据
```
## 10. 相关文档
### API 文档位置
```
- docs/ 用户管理.md (包含认证相关接口)
```
### 其他相关文档
```
- JWT 配置说明文档
- 安全开发规范文档
```
---
** 最后更新 **: 2024-01-XX
** 更新内容 **: 创建用户认证功能开发文档示例
声明:
文章来自网络收集后经过 ai 改写发布,如不小心侵犯了您的权益,请联系本站删除,给您带来困扰,深表歉意!
正文完


对话中专注于一件事的建议真的很实用,可以减少误解。不过,能否提供一些具体的案例来展示如何有效管理对话呢?