hookehuyr

docs: 文档模块接口字段确认

- 更新 API 接口联调日志
  - 文档模块接口状态从"初稿"更新为"待联调"
  - weekHotAPI(本周热门资料):字段已确认
  - fileListAPI(文档列表):字段已确认,修正接口路径为 `/srv/?a=file&t=file_list`
  - 更新总体进度:26个接口(12个已完成,11个待联调,3个已废弃)
- 更新 CHANGELOG 记录本次文档更新
- 更新接口文档版本至 v2.4

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
...@@ -5,6 +5,30 @@ ...@@ -5,6 +5,30 @@
5 5
6 --- 6 ---
7 7
8 +## [2026-02-04] - 文档模块接口字段确认
9 +
10 +### 文档
11 +- 更新 API 接口联调日志(`docs/api-integration-log.md`
12 + - 文档模块接口状态更新:从"初稿"更新为"待联调"
13 + - weekHotAPI(本周热门资料):字段已确认,更新接口文档
14 + - fileListAPI(文档列表):字段已确认,更新接口文档,修正接口路径
15 + - 更新总体进度:26个接口(12个已完成,11个待联调,3个已废弃)
16 +- 更新接口文档版本至 v2.4
17 +
18 +---
19 +
20 +**详细信息**
21 +- **影响文件**:
22 + - `docs/api-integration-log.md` - API 联调日志更新
23 + - `src/api/file.js` - 接口文档 JSDoc 注释已更新
24 +- **技术栈**: 文档
25 +- **测试状态**: ✅ 文档已更新,待联调
26 +- **备注**:
27 + - 文档模块的两个接口字段已确认,可以开始前端集成和联调工作
28 + - fileListAPI 接口路径修正为 `/srv/?a=file&t=file_list`
29 +
30 +---
31 +
8 ## [2026-02-04] - 知识库页面新增搜索功能 32 ## [2026-02-04] - 知识库页面新增搜索功能
9 33
10 ### 新增 34 ### 新增
......
...@@ -8,26 +8,15 @@ ...@@ -8,26 +8,15 @@
8 - **已完成**: 12 (46.2%) 8 - **已完成**: 12 (46.2%)
9 - **联调中**: 0 (0%) 9 - **联调中**: 0 (0%)
10 - **已废弃**: 3 (11.5%) 10 - **已废弃**: 3 (11.5%)
11 -- **待联调**: 9 (34.6%) 11 +- **待联调**: 11 (42.3%)
12 -- **初稿(字段未确定)**: 2 (7.7%)
13 - **有阻塞**: 0 12 - **有阻塞**: 0
14 13
15 --- 14 ---
16 15
17 **📝 最近更新** (2026-02-04): 16 **📝 最近更新** (2026-02-04):
18 -- 🔧 **优化 OpenAPI 文档生成工具** 17 +- 📝 **文档模块接口字段确认**
19 - - 添加 CLAUDE.md 文件过滤,避免将文档文件当作 API 文档处理 18 + - weekHotAPI(本周热门资料):字段已确认,更新接口文档,待联调
20 - - 改进新增模块检测逻辑,显示新增模块包含的所有接口 19 + - fileListAPI(文档列表):字段已确认,更新接口文档,待联调
21 - - 优化变更检测报告,提升可读性
22 - - 修复接口信息显示为 undefined 的问题
23 -- 🗑️ **清理 Apifox API 依赖**
24 - - 删除不再工作的 Apifox API 相关脚本(apifox-to-openapi.js、apifox-sync.js 等)
25 - - 删除 .env.apifox 配置文件
26 - - 更新 package.json,移除 api:sync 和 api:test 命令
27 - - 创建 API_GUIDE.md 使用指南,明确手动维护 OpenAPI 文档的工作流
28 -- 📝 **新增文档模块接口(初稿)**
29 - - weekHotAPI(本周热门资料):字段未最终确定,待联调确认
30 - - fileListAPI(文档列表):字段未最终确定,待联调确认
31 -**收藏模块后端完成**:3 个收藏接口(addAPI、delAPI、listAPI)后端已开发完成,前端待联调 20 -**收藏模块后端完成**:3 个收藏接口(addAPI、delAPI、listAPI)后端已开发完成,前端待联调
32 -**埋点接口后端完成**:埋点接口(addAPI)后端已开发完成,前端待联调 21 -**埋点接口后端完成**:埋点接口(addAPI)后端已开发完成,前端待联调
33 -**产品模块联调完成**:产品列表接口(listAPI)联调成功 22 -**产品模块联调完成**:产品列表接口(listAPI)联调成功
...@@ -830,7 +819,7 @@ ...@@ -830,7 +819,7 @@
830 819
831 ### 文档模块 820 ### 文档模块
832 821
833 -#### 接口 1: 本周热门资料(初稿) 822 +#### 接口 1: 本周热门资料
834 823
835 **接口信息** 824 **接口信息**
836 - **接口名称**: `weekHotAPI` 825 - **接口名称**: `weekHotAPI`
...@@ -843,22 +832,22 @@ ...@@ -843,22 +832,22 @@
843 832
844 | 日期 | 版本 | 变更内容 | 变更原因 | 文档链接 | 833 | 日期 | 版本 | 变更内容 | 变更原因 | 文档链接 |
845 |------|------|---------|---------|---------| 834 |------|------|---------|---------|---------|
835 +| 2026-02-04 | v1.0 | 字段确认,更新接口文档 | 后端确认字段结构 | [查看](docs/api-specs/file/week_hot.md) |
846 | 2026-02-04 | v0.1 | 初稿版本 | 后端字段未确定,待联调确认 | [查看](docs/api-specs/file/week_hot.md) | 836 | 2026-02-04 | v0.1 | 初稿版本 | 后端字段未确定,待联调确认 | [查看](docs/api-specs/file/week_hot.md) |
847 837
848 **页面调试情况** 838 **页面调试情况**
849 839
850 | 日期 | 调试页面 | 问题记录 | 解决方案 | 状态 | 840 | 日期 | 调试页面 | 问题记录 | 解决方案 | 状态 |
851 |------|---------|---------|---------|------| 841 |------|---------|---------|---------|------|
852 -| 2026-02-04 | - | 后端字段未确定 | 待后端确认后更新 | ⏳ 待联调 | 842 +| 2026-02-04 | - | 后端字段已确认 | 待前端集成联调 | ⏳ 待联调 |
853 843
854 -**接口状态**: ⏳ 初稿 - 后端字段未确定 844 +**接口状态**: ⏳ 待联调
855 845
856 **备注**: 846 **备注**:
857 -- ⚠️ **初稿状态**:当前接口文档为初稿,后端字段可能还有调整
858 - **参数**: 847 - **参数**:
859 - `page`: 页码,从 0 开始 848 - `page`: 页码,从 0 开始
860 - `limit`: 每页数量 849 - `limit`: 每页数量
861 -- **预期返回数据结构**: 850 +- **返回数据结构**:
862 ```javascript 851 ```javascript
863 { 852 {
864 code: 1, 853 code: 1,
...@@ -876,16 +865,16 @@ ...@@ -876,16 +865,16 @@
876 } 865 }
877 } 866 }
878 ``` 867 ```
879 -- **字段确认状态**:待后端确认最终字段结构 868 +- **字段确认状态**:✅ 字段已确认
880 - 实现位置:`src/api/file.js:weekHotAPI` 869 - 实现位置:`src/api/file.js:weekHotAPI`
881 870
882 --- 871 ---
883 872
884 -#### 接口 2: 文档列表(初稿) 873 +#### 接口 2: 文档列表
885 874
886 **接口信息** 875 **接口信息**
887 - **接口名称**: `fileListAPI` 876 - **接口名称**: `fileListAPI`
888 -- **接口路径**: `/srv/?a=get_file_list&t=file_list` 877 +- **接口路径**: `/srv/?a=file&t=file_list`
889 - **请求方法**: GET 878 - **请求方法**: GET
890 - **负责页面**: 待确认 879 - **负责页面**: 待确认
891 - **负责人**: 后端团队 880 - **负责人**: 后端团队
...@@ -894,52 +883,62 @@ ...@@ -894,52 +883,62 @@
894 883
895 | 日期 | 版本 | 变更内容 | 变更原因 | 文档链接 | 884 | 日期 | 版本 | 变更内容 | 变更原因 | 文档链接 |
896 |------|------|---------|---------|---------| 885 |------|------|---------|---------|---------|
886 +| 2026-02-04 | v1.0 | 字段确认,更新接口文档 | 后端确认字段结构 | [查看](docs/api-specs/file/file_list.md) |
897 | 2026-02-04 | v0.1 | 初稿版本 | 后端字段未确定,待联调确认 | [查看](docs/api-specs/get_file_list/file_list.md) | 887 | 2026-02-04 | v0.1 | 初稿版本 | 后端字段未确定,待联调确认 | [查看](docs/api-specs/get_file_list/file_list.md) |
898 888
899 **页面调试情况** 889 **页面调试情况**
900 890
901 | 日期 | 调试页面 | 问题记录 | 解决方案 | 状态 | 891 | 日期 | 调试页面 | 问题记录 | 解决方案 | 状态 |
902 |------|---------|---------|---------|------| 892 |------|---------|---------|---------|------|
903 -| 2026-02-04 | - | 后端字段未确定 | 待后端确认后更新 | ⏳ 待联调 | 893 +| 2026-02-04 | - | 后端字段已确认 | 待前端集成联调 | ⏳ 待联调 |
904 894
905 -**接口状态**: ⏳ 初稿 - 后端字段未确定 895 +**接口状态**: ⏳ 待联调
906 896
907 **备注**: 897 **备注**:
908 -- ⚠️ **初稿状态**:当前接口文档为初稿,后端字段可能还有调整
909 - **参数**: 898 - **参数**:
910 - `client_id`: 主体 ID(可选) 899 - `client_id`: 主体 ID(可选)
911 - `cid`: 分类 ID(可选) 900 - `cid`: 分类 ID(可选)
912 - `page`: 页码(从 0 开始) 901 - `page`: 页码(从 0 开始)
913 - `limit`: 每页数量 902 - `limit`: 每页数量
914 -- **预期返回数据结构**: 903 +- **返回数据结构**:
915 ```javascript 904 ```javascript
916 { 905 {
917 code: 1, 906 code: 1,
918 data: { 907 data: {
919 - categories: [ 908 + cate: {
920 - { id: 2769851, name: "分类名称" } 909 + id: 2769851, // 分类id
910 + category_name: "分类名称", // 分类名称
911 + category_parent: 0, // 分类父级
912 + icon: "https://..." // 分类图标
913 + },
914 + children: [
915 + {
916 + id: 2769852, // 二级分类id
917 + category_name: "二级分类名",
918 + category_parent: 2769851, // 二级分类父级id
919 + icon: "https://...", // 二级分类图标
920 + list: [...], // 二级分类的附件列表
921 + children: [...] // 三级分类
922 + }
921 ], 923 ],
922 list: [ 924 list: [
923 { 925 {
924 - id: 2769856, // 产品id 926 + name: "附件名称", // 附件名称
925 - product_name: "产品名称", // 产品名 927 + value: "https://...", // 附件地址
926 - recommend: "hot", // 推荐位: normal-普通, hot-热卖 928 + extension: "pdf", // 后缀名
927 - form_sn: "customize_jsj_pnzuky", // 产品编号 929 + post_date: "2026-02-04", // 发布时间
928 - created_time: "2026-02-03 10:36:29", 930 + size: "2.5MB", // 附件大小
929 - categories: [ // 产品所属分类 931 + id: "12345" // 附件id
930 - { id: "2769851", name: "分类名称" }
931 - ],
932 - tags: [ // 产品标签
933 - { id: "2769847", name: "标签名", bg_color: "#3e5160", text_color: "#ffffff" }
934 - ]
935 } 932 }
936 ], 933 ],
937 - total: 3 // 产品总数 934 + total: 100, // 主分类附件数量
935 + max_level: "3" // 层级
938 } 936 }
939 } 937 }
940 ``` 938 ```
941 -- **字段确认状态**:待后端确认最终字段结构 939 +- **字段确认状态**:✅ 字段已确认
942 -- 实现位置:`src/api/get_file_list.js:fileListAPI` 940 +- **接口路径更正**:`/srv/?a=file&t=file_list`(之前错误为 `/srv/?a=get_file_list&t=file_list`)
941 +- 实现位置:`src/api/file.js:fileListAPI`
943 942
944 --- 943 ---
945 944
...@@ -1063,7 +1062,7 @@ ...@@ -1063,7 +1062,7 @@
1063 - [❌ 已废弃](#通用模块) - 3个接口 1062 - [❌ 已废弃](#通用模块) - 3个接口
1064 - [⏳ 待联调](#收藏模块) - 3个接口 1063 - [⏳ 待联调](#收藏模块) - 3个接口
1065 - [⏳ 待联调](#埋点模块) - 1个接口 1064 - [⏳ 待联调](#埋点模块) - 1个接口
1066 -- [初稿 - 字段未确定](#文档模块) - 2个接口 1065 +- [待联调](#文档模块) - 2个接口
1067 - [⏳ 后端开发中](#消息模块) - 2个接口 1066 - [⏳ 后端开发中](#消息模块) - 2个接口
1068 1067
1069 ### 按模块查看 1068 ### 按模块查看
...@@ -1073,7 +1072,7 @@ ...@@ -1073,7 +1072,7 @@
1073 - [产品](#产品模块) - ✅ 1个已完成 1072 - [产品](#产品模块) - ✅ 1个已完成
1074 - [收藏](#收藏模块) - ⏳ 3个待联调 1073 - [收藏](#收藏模块) - ⏳ 3个待联调
1075 - [埋点](#埋点模块) - ⏳ 1个待联调 1074 - [埋点](#埋点模块) - ⏳ 1个待联调
1076 -- [文档](#文档模块) - ⏳ 2个初稿 1075 +- [文档](#文档模块) - ⏳ 2个待联调
1077 - [消息](#消息模块) - ⏳ 2个后端开发中 1076 - [消息](#消息模块) - ⏳ 2个后端开发中
1078 - [知识库](#知识库模块) - ⏳ 未开始 1077 - [知识库](#知识库模块) - ⏳ 未开始
1079 - [家办](#家办模块) - ⏳ 未开始 1078 - [家办](#家办模块) - ⏳ 未开始
...@@ -1111,20 +1110,14 @@ ...@@ -1111,20 +1110,14 @@
1111 1110
1112 --- 1111 ---
1113 1112
1114 -**最后更新时间**: 2026-02-04 15:30 1113 +**最后更新时间**: 2026-02-04 18:00
1115 -**文档版本**: v2.3 1114 +**文档版本**: v2.4
1116 **更新内容**: 1115 **更新内容**:
1117 -- 📝 **新增文档模块接口(初稿)** 1116 +- 📝 **文档模块接口字段确认**
1118 - - weekHotAPI(本周热门资料):字段未最终确定 1117 + - weekHotAPI(本周热门资料):字段已确认,更新接口文档
1119 - - fileListAPI(文档列表):字段未最终确定 1118 + - fileListAPI(文档列表):字段已确认,更新接口文档,修正接口路径
1120 -- 🗑️ **移除 Apifox API 依赖** 1119 +- 更新总体进度:26个接口(12个已完成,11个待联调,3个已废弃)
1121 - - 删除 apifox-to-openapi.js 等不再工作的脚本 1120 +- 文档模块从"初稿"状态更新为"待联调"状态
1122 - - 更新 package.json,简化为 api:generate 单一命令
1123 - - 明确手动维护 OpenAPI 文档的工作流
1124 -- 🔧 **API 生成工具优化**
1125 - - 修复新增模块接口信息显示为 undefined 的问题
1126 - - 改进接口信息提取逻辑
1127 -- 更新总体进度:26个接口(12个已完成,9个待联调,2个初稿,3个已废弃)
1128 1121
1129 **历史版本**: 1122 **历史版本**:
1130 - v2.1 (2026-02-03 21:00): 产品模块联调完成 1123 - v2.1 (2026-02-03 21:00): 产品模块联调完成
......
1 import { fn, fetch } from '@/api/fn'; 1 import { fn, fetch } from '@/api/fn';
2 2
3 const Api = { 3 const Api = {
4 + FileList: '/srv/?a=file&t=file_list',
4 WeekHot: '/srv/?a=file&t=week_hot', 5 WeekHot: '/srv/?a=file&t=week_hot',
5 } 6 }
6 7
7 /** 8 /**
9 + * @description 文档列表
10 + * @remark
11 + * @param {Object} params 请求参数
12 + * @param {string} params.client_id (可选) 主体id
13 + * @param {string} params.limit (可选)
14 + * @param {string} params.page (可选)
15 + * @param {string} params.cid (可选) 分类id
16 + * @returns {Promise<{
17 + * code: number; // 状态码
18 + * msg: string; // 消息
19 + * data: {
20 + * cate: {
21 + * id: integer; // 分类id
22 + * category_name: string; // 分类名称
23 + * category_parent: integer; // 分类父级
24 + * icon: string; //
25 + * };
26 + * children: Array<{
27 + * id: integer; // 二级分类id
28 + * category_name: string; // 二级分类名
29 + * category_parent: integer; // 二级分类名父级id
30 + * icon: string; // 二级分类图标
31 + * list: array; // 二级分类的附件列表
32 + * children: array; // 三级分类
33 + * }>;
34 + * list: Array<{
35 + * name: string; // 附件名称
36 + * value: string; // 附件地址
37 + * extension: string; // 后缀名
38 + * post_date: string; // 发布时间
39 + * size: string; // 附件大小
40 + * id: string; // 附件id
41 + * }>;
42 + * total: integer; // 主分类附件数量
43 + * max_level: string; // 层级
44 + * };
45 + * }>}
46 + */
47 +export const fileListAPI = (params) => fn(fetch.get(Api.FileList, params));
48 +
49 +/**
8 * @description 本周热门资料 50 * @description 本周热门资料
9 * @remark 51 * @remark
10 * @param {Object} params 请求参数 52 * @param {Object} params 请求参数
......
1 -import { fn, fetch } from '@/api/fn';
2 -
3 -const Api = {
4 - FileList: '/srv/?a=get_file_list&t=file_list',
5 -}
6 -
7 -/**
8 - * @description 文档列表
9 - * @remark
10 - * @param {Object} params 请求参数
11 - * @param {string} params.client_id (可选) 主体id
12 - * @param {string} params.limit (可选)
13 - * @param {string} params.page (可选)
14 - * @param {string} params.cid (可选) 分类id
15 - * @returns {Promise<{
16 - * code: number; // 状态码
17 - * msg: string; // 消息
18 - * data: {
19 - * categories: Array<{
20 - * id: integer; // 分类id
21 - * name: string; // 分类名
22 - * }>;
23 - * list: Array<{
24 - * id: integer; // 产品id
25 - * product_name: string; // 产品名
26 - * recommend: string; // 推荐位: normal-普通, hot-热卖
27 - * form_sn: string; //
28 - * created_time: string; // 创建时间
29 - * categories: array; // 产品所属分类
30 - * tags: array; // 产品标签
31 - * }>;
32 - * total: integer; // 产品总数
33 - * };
34 - * }>}
35 - */
36 -export const fileListAPI = (params) => fn(fetch.get(Api.FileList, params));