游刃有余的光标使用技巧分享

游刃有余的光标使用技巧分享

我的Cursor使用小心得

用了Cursor一个多月了,今天想和大家聊聊我的一些使用体验。

网上关于它的评价太多了,这里就不再重复那些负面的观点了。

  1. 首先,建议遵循“一个对话专注一件事”的原则。最开始我尝试在一个对话中写多个功能,结果发现当某些功能出现问题时,AI早就把之前的内容忘得一干二净。为了避免这种情况,建议好好管理你的对话,并给每个对话起个名字,这样更方便。
  2. 其次,可以让AI来帮你维护文档。你可以根据自己团队的管理经验来设计这些文档。比如我有三种文档:接口文档、功能模块说明和项目开发日志,这样能更有条理。
  3. 另外,创建一个“快速了解项目”的文档也是个不错的主意。每次新开一个对话时引用这个文档,直接说出你的需求就好,省时省力。
  4. 还有一点要注意,如果下个月没用完的使用次数就会消失,所以尽量利用好哦。

最后,分享一下我项目的一些文档,这些都是通过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  
**更新内容**: 创建用户认证功能开发文档示例 

来源:知乎
原文标题:cursor 使用心得
声明:
文章来自网络收集后经过ai改写发布,如不小心侵犯了您的权益,请联系本站删除,给您带来困扰,深表歉意!

《游刃有余的光标使用技巧分享》有4条评论

发表评论