UPDATE_LOG.md
4.65 KB
🎉 详细 JSDoc 注释功能 - 更新说明
✨ 新功能
🎯 详细 JSDoc 注释生成
现在生成的 API 文件包含完整的 JSDoc 注释,包括:
1. 参数注释(@param)
- ✅ 提取参数类型
- ✅ 提取参数描述
- ✅ 标记必填/可选状态
示例:
/**
* @param {Object} params 请求参数
* @param {integer} params.page (可选) 页码
* @param {integer} params.pageSize (可选) 每页数量
*/
2. 返回值注释(@returns)
- ✅ 完整的类型定义
- ✅ 嵌套对象结构
- ✅ 每个字段的描述
- ✅ 数组类型支持(Array<>)
示例:
/**
* @returns {Promise<{
* code: number; // 状态码
* msg: string; // 消息
* data: {
* user: {
* id: integer; // 用户ID
* name: string; // 姓名
* };
* list: Array<{
* id: integer; // ID
* title: string; // 标题
* }>;
* };
* }>}
*/
🔄 改动内容
核心脚本更新
文件: scripts/generateApiFromOpenAPI.js
新增功能:
- ✅
parseProperties()- 递归解析对象属性 - ✅
generateParamJSDoc()- 生成参数注释 - ✅
generateReturnJSDoc()- 生成返回值注释 - ✅ 增强的
parseOpenAPIDocument()- 提取完整数据结构
新增文档
- 📖 JSDOC_GENERATION_GUIDE.md - 详细注释生成完整指南
更新文档
- 📝 OPENAPI_TO_API_GUIDE.md - 更新格式示例和字段说明
- 📝 README_API_GENERATOR.md - 添加新特性说明
📋 生成效果对比
更新前
/**
* @description: 查询我的信息
* @param {Object} params 请求参数
* @returns {Promise<{code:number,data:any,msg:string}>} 标准返回
*/
export const getUserInfoAPI = (params) => fn(fetch.get(Api.GetUserInfo, params));
更新后
/**
* @description: 查询我的信息
* @param {Object} params 请求参数
* @returns {Promise<{
* code: number; // 状态码
* msg: string; // 消息
* data: {
* user: {
* id: integer; // 用户ID
* name: string; // 姓名
* mobile: string; // 手机号
* };
* checkin: {
* total_days: integer; // 累计打卡天数
* consecutive_days: integer; // 连续打卡天数
* };
* unread_msg_count: integer; // 未读的消息数量
* is_teacher: boolean; // 是不是老师
* };
* }>}
*/
export const getUserInfoAPI = (params) => fn(fetch.get(Api.GetUserInfo, params));
🎯 使用建议
1. 完善 OpenAPI 文档
确保在 OpenAPI 文档中填写完整的字段信息:
parameters:
- name: page
description: 页码 # ✅ 添加描述
required: false # ✅ 标记是否必填
schema:
type: integer # ✅ 明确类型
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
id:
type: integer
description: 用户ID # ✅ 添加字段描述
2. 享受 IDE 智能提示
现在你可以在 IDE 中看到:
- 🔍 完整的参数类型提示
- 🔍 返回值结构提示
- 🔍 字段描述说明
- 🔍 自动补全支持
3. 提高代码质量
- ✅ 类型安全
- ✅ 减少错误
- ✅ 提高可维护性
- ✅ 改善开发体验
🚀 立即体验
# 1. 重新生成 API 文件(应用新的注释规则)
pnpm api:generate
# 2. 查看生成的详细注释
cat src/api/user.js
# 3. 在 IDE 中享受智能提示
# 打开 src/api/user.js 查看效果
📚 相关文档
- 📖 JSDoc 生成指南 - 详细使用说明
- 📖 详细使用指南 - 完整功能说明
- 📖 主 README - 项目总览
💡 常见问题
Q: 如何让生成的注释更详细?
A: 在 OpenAPI 文档中为每个字段添加 description 和 type
Q: 参数注释不显示?
A: 检查参数是否被过滤(a 和 f 参数不会显示在 @param 中)
Q: 返回值显示为 any?
A: 确保 responses['200'].schema.properties.data 结构完整
Q: 如何更新已生成的文件?
A: 直接运行 pnpm api:generate,会覆盖已生成的文件
🎉 总结
这次更新让生成的 API 文件更加专业和易用:
- 📝 完整注释 - 不再是简单的
any类型 - 🎯 类型明确 - 每个字段都有明确的类型
- 💡 描述清晰 - 每个字段都有说明
- 🔧 易于维护 - IDE 智能提示支持
现在你可以在编写代码时享受完整的类型提示和智能补全!🚀