From d03916290a8ff4571eaeccd3db29e90a29f25802 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=88=90?= Date: Wed, 1 Apr 2026 13:26:41 +0800 Subject: [PATCH] 1 --- _docs/API接口清单-按模块.md | 4 +- _docs/文档.md | 9 +- admin/src/api/subscription/plan_server.js | 4 + admin/src/views/subscription/plans.vue | 256 +++++++++++++++++++--- api/controller_admin/biz_plan.js | 5 + api/service/biz_proxy_api_catalog.js | 54 +++++ api/service/biz_usage_service.js | 13 +- 7 files changed, 315 insertions(+), 30 deletions(-) create mode 100644 api/service/biz_proxy_api_catalog.js diff --git a/_docs/API接口清单-按模块.md b/_docs/API接口清单-按模块.md index b9ef26a..38fce0b 100644 --- a/_docs/API接口清单-按模块.md +++ b/_docs/API接口清单-按模块.md @@ -4,13 +4,15 @@ ## 套餐统计 -| 套餐 | 接口数 | +| 套餐 | 接口数量 | |---|---:| | 初级版 | 68 | | 高级版 | 79 | | 定制版 | 37 | | 白标/OEM | 9 | +> 上表「接口数量」之和为 **193**(与文首接口总数一致)。 + --- ## 1. 登录(9 个接口) diff --git a/_docs/文档.md b/_docs/文档.md index 14f85c9..40d3722 100644 --- a/_docs/文档.md +++ b/_docs/文档.md @@ -8,16 +8,18 @@ ## 2. 套餐统计 -| 套餐 | 接口数 | +| 套餐 | 接口数量 | |---|---:| | 初级版 | 68 | | 高级版 | 79 | | 定制版 | 37 | | 白标/OEM | 9 | +> 上表「接口数量」之和为 **193**,与 §1 接口总数一致(每个 `Method + Path` 仅归属一个套餐)。 + ## 3. 按模块统计 -| 模块 | 接口数 | 初级版 | 高级版 | 定制版 | 白标/OEM | +| 模块 | 接口数量 | 初级版 | 高级版 | 定制版 | 白标/OEM | |---|---:|---:|---:|---:|---:| | 企业微信 | 22 | 0 | 0 | 22 | 0 | | 公众号/小程序 | 13 | 0 | 13 | 0 | 0 | @@ -37,6 +39,9 @@ | 群管理 | 20 | 11 | 9 | 0 | 0 | | 视频号 | 4 | 0 | 4 | 0 | 0 | | 设备 | 4 | 4 | 0 | 0 | 0 | +| **合计** | **193** | **68** | **79** | **37** | **9** | + +> **说明**:每行「接口数量」等于该行四个套餐列之和;合计行与 §1、§2 一致。 ## 4. 全量接口明细 diff --git a/admin/src/api/subscription/plan_server.js b/admin/src/api/subscription/plan_server.js index f8bc915..91ecdb4 100644 --- a/admin/src/api/subscription/plan_server.js +++ b/admin/src/api/subscription/plan_server.js @@ -26,6 +26,10 @@ class PlanServer { async exportRows(row) { return window.framework.http.post("/biz_plan/export", row); } + + async proxyApiCatalog() { + return window.framework.http.post("/biz_plan/proxy_api_catalog", {}); + } } export default new PlanServer(); diff --git a/admin/src/views/subscription/plans.vue b/admin/src/views/subscription/plans.vue index 9c41c0b..eade431 100644 --- a/admin/src/views/subscription/plans.vue +++ b/admin/src/views/subscription/plans.vue @@ -45,7 +45,7 @@ - +
@@ -83,8 +83,58 @@ - - + + + 不限制(Swagger 内转发接口均可调用) + 仅允许勾选的接口路径(白名单) + +

白名单与鉴权路径一致(如 /user/GetProfile),目录来自 swagger.json。

+
+ + + 未勾选任何接口时,保存后该套餐将无法调用任何转发 API。 + +
暂无接口目录(请检查 swagger),可联系后台配置。
+
+
+ + + 已选 {{ selected_api_paths.length }} / {{ catalog_path_count }} +
+ + + {{ tag }}({{ count_selected_in_tag(tag) }}/{{ (proxy_catalog.groups[tag] || []).length }}) +
+
+ + +
+
+ + {{ it.path }} + {{ it.methods.join(', ') }} + {{ it.summary }} + +
+
+
+
+
+

以下路径不在当前目录中(仍会计入白名单,可点 × 移除)

+ {{ p }} +
+