mcp-user-system 2.0.6 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/env.d.ts CHANGED
@@ -4,7 +4,5 @@
4
4
  export interface Config {
5
5
  baseUrl: string;
6
6
  accessToken?: string;
7
- username?: string;
8
- password?: string;
9
7
  }
10
8
  export declare function loadConfig(): Config;
package/dist/env.js CHANGED
@@ -1,30 +1,12 @@
1
1
  /**
2
2
  * Environment variable loader for mcp-user-system.
3
3
  */
4
- function requireEnv(name) {
5
- const value = process.env[name];
6
- if (!value) {
7
- throw new Error(`Missing required environment variable: ${name}`);
8
- }
9
- return value;
10
- }
11
- function optionalEnv(name) {
12
- return process.env[name] || undefined;
13
- }
14
4
  export function loadConfig() {
15
- const accessToken = optionalEnv("TUS_ACCESS_TOKEN");
16
- const username = optionalEnv("TUS_USERNAME");
17
- const password = optionalEnv("TUS_PASSWORD");
18
- if (!accessToken && (!username || !password)) {
19
- process.stderr.write("[MCP] Warning: No auth configured. Use the 'login' tool to authenticate, or set TUS_ACCESS_TOKEN / TUS_USERNAME+TUS_PASSWORD.\n");
20
- }
21
- // 默认 http://localhost:7081,防止环境变量未正确传入时 baseUrl 为 "null"
22
5
  const baseUrl = process.env["TUS_BASE_URL"] || "https://models.ipsunion.com/prod-api";
6
+ const accessToken = process.env["TUS_ACCESS_TOKEN"] || undefined;
23
7
  return {
24
8
  baseUrl,
25
9
  accessToken,
26
- username,
27
- password,
28
10
  };
29
11
  }
30
12
  //# sourceMappingURL=env.js.map
package/dist/env.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,0CAA0C,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,MAAM,WAAW,GAAG,WAAW,CAAC,kBAAkB,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;IAE7C,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,iIAAiI,CAClI,CAAC;IACJ,CAAC;IAED,yDAAyD;IACzD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,sCAAsC,CAAC;IAEtF,OAAO;QACL,OAAO;QACP,WAAW;QACX,QAAQ;QACR,QAAQ;KACT,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,MAAM,UAAU,UAAU;IACxB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,sCAAsC,CAAC;IACtF,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,SAAS,CAAC;IAEjE,OAAO;QACL,OAAO;QACP,WAAW;KACZ,CAAC;AACJ,CAAC"}
package/dist/index.js CHANGED
@@ -30,7 +30,7 @@ const allTools = [
30
30
  // ── MCP Server Setup ──
31
31
  const server = new Server({
32
32
  name: "mcp-user-system",
33
- version: "2.0.2",
33
+ version: "2.1.0",
34
34
  }, {
35
35
  capabilities: {
36
36
  tools: {},
@@ -83,17 +83,6 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
83
83
  });
84
84
  // ── Start Server ──
85
85
  async function main() {
86
- // 尝试自动登录(配置了用户名密码但没有 token 时)
87
- try {
88
- const loggedIn = await authTools.tryAutoLogin();
89
- if (loggedIn) {
90
- console.error("Auto-login successful using TUS_USERNAME/TUS_PASSWORD");
91
- }
92
- }
93
- catch (err) {
94
- const message = err instanceof Error ? err.message : String(err);
95
- console.error(`Auto-login failed: ${message}`);
96
- }
97
86
  const transport = new StdioServerTransport();
98
87
  await server.connect(transport);
99
88
  console.error("mcp-user-system server running on stdio");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,18 @@
1
1
  export declare const tools: ({
2
+ name: string;
3
+ description: string;
4
+ inputSchema: {
5
+ type: "object";
6
+ properties: {
7
+ username?: undefined;
8
+ password?: undefined;
9
+ captchaCode?: undefined;
10
+ uuid?: undefined;
11
+ token?: undefined;
12
+ };
13
+ required: never[];
14
+ };
15
+ } | {
2
16
  name: string;
3
17
  description: string;
4
18
  inputSchema: {
@@ -12,6 +26,14 @@ export declare const tools: ({
12
26
  type: string;
13
27
  description: string;
14
28
  };
29
+ captchaCode: {
30
+ type: string;
31
+ description: string;
32
+ };
33
+ uuid: {
34
+ type: string;
35
+ description: string;
36
+ };
15
37
  token?: undefined;
16
38
  };
17
39
  required: string[];
@@ -28,38 +50,10 @@ export declare const tools: ({
28
50
  };
29
51
  username?: undefined;
30
52
  password?: undefined;
53
+ captchaCode?: undefined;
54
+ uuid?: undefined;
31
55
  };
32
56
  required: string[];
33
57
  };
34
- } | {
35
- name: string;
36
- description: string;
37
- inputSchema: {
38
- type: "object";
39
- properties: {
40
- username?: undefined;
41
- password?: undefined;
42
- token?: undefined;
43
- };
44
- required: never[];
45
- };
46
58
  })[];
47
59
  export declare function handle(name: string, args: Record<string, string>): Promise<unknown>;
48
- /**
49
- * 执行密码登录
50
- * POST /console/user/login
51
- * 前端 request 拦截器会将整个 JSON body AES 加密后以 { data: "<base64>" } 发送,
52
- * 后端有对应的解密过滤器还原原始 body。MCP 需模拟相同行为。
53
- * 响应格式: { code: 200, msg: "操作成功", token: "eyJ..." }
54
- */
55
- export declare function doLogin(username: string, password: string): Promise<unknown>;
56
- /**
57
- * 尝试使用环境变量中的用户名密码自动登录
58
- * 返回 true 表示登录成功,false 表示跳过(无凭据或已有 token)
59
- */
60
- export declare function tryAutoLogin(): Promise<boolean>;
61
- /**
62
- * 强制使用环境变量中的用户名密码重新登录(用于 token 失效后的自动恢复)
63
- * 返回 true 表示登录成功,false 表示无法重试(未配置凭据)
64
- */
65
- export declare function tryRelogin(): Promise<boolean>;
@@ -1,25 +1,41 @@
1
- import { apiPostRaw, setToken, getToken } from "./client.js";
1
+ import { apiGetRaw, apiPostRaw, setToken, getToken } from "./client.js";
2
2
  import { loadConfig } from "../env.js";
3
3
  import { aesEncrypt } from "./crypto.js";
4
+ import * as fs from "fs";
5
+ import * as path from "path";
6
+ import * as os from "os";
4
7
  // ---- 工具定义 ----
5
8
  export const tools = [
9
+ {
10
+ name: "fetch_captcha",
11
+ description: "获取图形验证码。返回验证码图片路径和 uuid。" +
12
+ "调用后请用 Read 工具查看图片内容(通常是简单的数学计算题),算出答案后调用 login 工具登录。",
13
+ inputSchema: {
14
+ type: "object",
15
+ properties: {},
16
+ required: [],
17
+ },
18
+ },
6
19
  {
7
20
  name: "login",
8
- description: "使用用户名(或手机号)和密码登录系统,获取访问令牌。" +
21
+ description: "使用用户名、密码和验证码登录系统。" +
22
+ "需先调用 fetch_captcha 获取 uuid,再识别验证码图片得出答案后调用此工具。" +
9
23
  "登录成功后后续请求将自动使用该令牌。",
10
24
  inputSchema: {
11
25
  type: "object",
12
26
  properties: {
13
27
  username: { type: "string", description: "用户名或手机号" },
14
28
  password: { type: "string", description: "密码" },
29
+ captchaCode: { type: "string", description: "验证码计算结果(如数学题 3+5=? 则填 8)" },
30
+ uuid: { type: "string", description: "验证码对应的 uuid(来自 fetch_captcha)" },
15
31
  },
16
- required: ["username", "password"],
32
+ required: ["username", "password", "captchaCode", "uuid"],
17
33
  },
18
34
  },
19
35
  {
20
36
  name: "set_access_token",
21
- description: "直接设置访问令牌(JWT token)。" +
22
- "适用于已有 token 的场景,设置后后续请求将自动使用该令牌。",
37
+ description: "直接设置或更新访问令牌(JWT token)。" +
38
+ "适用于已有 token 的场景,token 失效时可随时调用此工具更新,无需重启服务。",
23
39
  inputSchema: {
24
40
  type: "object",
25
41
  properties: {
@@ -30,7 +46,7 @@ export const tools = [
30
46
  },
31
47
  {
32
48
  name: "get_token_status",
33
- description: "查看当前认证状态(是否已登录、token 来源)",
49
+ description: "查看当前认证状态(是否已设置 token、token 来源)",
34
50
  inputSchema: {
35
51
  type: "object",
36
52
  properties: {},
@@ -41,8 +57,10 @@ export const tools = [
41
57
  // ---- 处理函数 ----
42
58
  export async function handle(name, args) {
43
59
  switch (name) {
60
+ case "fetch_captcha":
61
+ return doFetchCaptcha();
44
62
  case "login":
45
- return doLogin(args.username, args.password);
63
+ return doLogin(args.username, args.password, args.captchaCode, args.uuid);
46
64
  case "set_access_token":
47
65
  return doSetToken(args.token);
48
66
  case "get_token_status":
@@ -53,35 +71,64 @@ export async function handle(name, args) {
53
71
  }
54
72
  // ---- 内部函数 ----
55
73
  /**
56
- * 执行密码登录
74
+ * 获取图形验证码
75
+ * GET /captchaImage → { code: 200, captchaEnabled: true, uuid: "...", img: "<base64>" }
76
+ * 将 base64 图片保存到临时文件,返回文件路径和 uuid
77
+ */
78
+ async function doFetchCaptcha() {
79
+ const response = await apiGetRaw("/captchaImage");
80
+ const captchaEnabled = response.captchaEnabled;
81
+ if (!captchaEnabled) {
82
+ return {
83
+ captchaEnabled: false,
84
+ message: "验证码未启用,可直接调用 login 工具登录(captchaCode 和 uuid 传空字符串)",
85
+ uuid: "",
86
+ imagePath: "",
87
+ };
88
+ }
89
+ const img = response.img;
90
+ const uuid = response.uuid;
91
+ if (!img || !uuid) {
92
+ throw new Error("验证码接口返回数据异常:缺少 img 或 uuid 字段");
93
+ }
94
+ // 将 base64 图片保存到临时文件
95
+ const tmpDir = os.tmpdir();
96
+ const tmpFile = path.join(tmpDir, `captcha_${uuid}.jpg`);
97
+ fs.writeFileSync(tmpFile, Buffer.from(img, "base64"));
98
+ return {
99
+ captchaEnabled: true,
100
+ uuid,
101
+ imagePath: tmpFile,
102
+ message: "验证码已获取,请用 Read 工具查看图片内容,识别数学算式并计算结果,然后调用 login 工具登录",
103
+ };
104
+ }
105
+ /**
106
+ * 执行密码登录(含验证码)
57
107
  * POST /console/user/login
58
- * 前端 request 拦截器会将整个 JSON body AES 加密后以 { data: "<base64>" } 发送,
59
- * 后端有对应的解密过滤器还原原始 body。MCP 需模拟相同行为。
60
- * 响应格式: { code: 200, msg: "操作成功", token: "eyJ..." }
108
+ * 前端 request 拦截器会将整个 JSON body AES 加密后以 { data: "<base64>" } 发送
61
109
  */
62
- export async function doLogin(username, password) {
110
+ async function doLogin(username, password, captchaCode, uuid) {
63
111
  // 构造原始请求体(与前端登录组件一致)
64
- const plainBody = { username, password, loginSms: false };
112
+ const plainBody = {
113
+ username,
114
+ password,
115
+ code: captchaCode,
116
+ uuid: uuid || "",
117
+ loginSms: false,
118
+ };
65
119
  // AES-128-CBC 加密整个 JSON body → Base64
66
120
  const encryptedData = aesEncrypt(JSON.stringify(plainBody));
67
- // 以 { data: "<encrypted>" } 格式发送(与前端 request.js 拦截器行为一致)
121
+ // 以 { data: "<encrypted>" } 格式发送
68
122
  const response = await apiPostRaw("/console/user/login", { data: encryptedData });
69
- // Debug: 打印完整后端响应
70
- if (process.env.TUS_DEBUG) {
71
- console.error("[MCP-DEBUG] login 响应:", JSON.stringify(response).slice(0, 1000));
72
- }
73
- // 兼容多种响应格式:
74
- // 格式1: { code: 200, msg: "操作成功", token: "eyJ..." } (AjaxResult.put)
75
- // 格式2: { code: 200, msg: "操作成功", data: { token: "eyJ..." } }
76
- // 格式3: { code: 200, data: "eyJ..." } (token 直接作为 data)
77
123
  const code = response.code;
78
124
  if (code !== undefined && code !== 200) {
79
125
  throw new Error(`登录失败 (${code}): ${response.msg}`);
80
126
  }
81
127
  // 从多个位置尝试获取 token
82
- const token = response.token ?? response.data?.token ?? (typeof response.data === "string" ? response.data : undefined);
128
+ const token = response.token ??
129
+ response.data?.token ??
130
+ (typeof response.data === "string" ? response.data : undefined);
83
131
  if (!token) {
84
- // 打印完整响应帮助调试
85
132
  const keys = Object.keys(response);
86
133
  throw new Error(`登录成功但未返回 token,响应字段: [${keys.join(", ")}],完整响应: ${JSON.stringify(response).slice(0, 500)}`);
87
134
  }
@@ -94,44 +141,15 @@ export async function doLogin(username, password) {
94
141
  }
95
142
  function doSetToken(token) {
96
143
  if (!token || !token.startsWith("eyJ")) {
97
- throw new Error("无效的 token,应以 eyJ 开头的 JWT 令牌");
144
+ throw new Error("无效的 token,应提供以 eyJ 开头的 JWT 令牌");
98
145
  }
99
146
  setToken(token);
100
147
  return {
101
148
  success: true,
102
- message: "令牌已设置,后续请求将自动使用该令牌",
149
+ message: "令牌已更新,后续请求将自动使用该令牌",
103
150
  tokenPreview: token.slice(0, 20) + "...",
104
151
  };
105
152
  }
106
- /**
107
- * 尝试使用环境变量中的用户名密码自动登录
108
- * 返回 true 表示登录成功,false 表示跳过(无凭据或已有 token)
109
- */
110
- export async function tryAutoLogin() {
111
- const config = loadConfig();
112
- // 已有 token 则跳过
113
- if (getToken()) {
114
- return false;
115
- }
116
- // 无用户名密码则跳过
117
- if (!config.username || !config.password) {
118
- return false;
119
- }
120
- await doLogin(config.username, config.password);
121
- return true;
122
- }
123
- /**
124
- * 强制使用环境变量中的用户名密码重新登录(用于 token 失效后的自动恢复)
125
- * 返回 true 表示登录成功,false 表示无法重试(未配置凭据)
126
- */
127
- export async function tryRelogin() {
128
- const config = loadConfig();
129
- if (!config.username || !config.password) {
130
- return false;
131
- }
132
- await doLogin(config.username, config.password);
133
- return true;
134
- }
135
153
  function getTokenStatus() {
136
154
  const token = getToken();
137
155
  const config = loadConfig();
@@ -140,9 +158,8 @@ function getTokenStatus() {
140
158
  tokenSource: token
141
159
  ? config.accessToken === token
142
160
  ? "环境变量 (TUS_ACCESS_TOKEN)"
143
- : "登录获取"
144
- : "",
145
- hasCredentials: !!(config.username && config.password),
161
+ : "对话中设置"
162
+ : "未设置",
146
163
  };
147
164
  }
148
165
  //# sourceMappingURL=auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/tools/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/tools/auth.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,11 @@ export declare function apiGetPage<T = unknown>(path: string, params?: Record<st
21
21
  * 与前端 request.js 一致:body 加密后以 { data: "<encrypted>" } 发送
22
22
  */
23
23
  export declare function apiPost<T = unknown>(path: string, body?: unknown): Promise<T>;
24
+ /**
25
+ * 发起 GET 请求,不携带 Authorization 头,返回完整 JSON 响应
26
+ * 用于验证码等无需认证的接口
27
+ */
28
+ export declare function apiGetRaw(path: string): Promise<Record<string, unknown>>;
24
29
  /**
25
30
  * 发起 POST 请求,不携带 Authorization 头,返回完整 JSON 响应
26
31
  * 用于登录等无需认证的接口
@@ -1,13 +1,6 @@
1
1
  import { loadConfig } from "../env.js";
2
- import { tryRelogin } from "./auth.js";
3
2
  import { aesEncrypt } from "./crypto.js";
4
- // ── Debug logging ──
5
- function debugLog(label, ...args) {
6
- if (process.env.TUS_DEBUG) {
7
- console.error(`[MCP-DEBUG] ${label}`, ...args);
8
- }
9
- }
10
- // ── Token management ──
3
+ // ── Token 管理(支持对话中动态更新) ──
11
4
  let currentToken = loadConfig().accessToken;
12
5
  export function getToken() {
13
6
  return currentToken;
@@ -15,10 +8,15 @@ export function getToken() {
15
8
  export function setToken(token) {
16
9
  currentToken = token;
17
10
  }
11
+ // ── Debug logging ──
12
+ function debugLog(label, ...args) {
13
+ if (process.env.TUS_DEBUG) {
14
+ console.error(`[MCP-DEBUG] ${label}`, ...args);
15
+ }
16
+ }
18
17
  // ── Helpers ──
19
18
  function getBaseUrl() {
20
19
  const config = loadConfig();
21
- // 后端所有接口均在 /api 路径下
22
20
  return config.baseUrl.replace(/\/+$/, "") + "/api";
23
21
  }
24
22
  // ── 标准请求头(与前端 request.js 拦截器一致) ──
@@ -32,181 +30,159 @@ const COMMON_HEADERS = {
32
30
  function getAuthHeaders() {
33
31
  const token = currentToken ?? loadConfig().accessToken;
34
32
  if (!token) {
35
- throw new Error("未登录,请先使用 login 工具登录,或在环境变量中配置 TUS_ACCESS_TOKEN");
33
+ throw new Error("未配置访问令牌,请使用 set_access_token 工具设置 token,或在环境变量中配置 TUS_ACCESS_TOKEN");
36
34
  }
37
35
  return {
38
36
  ...COMMON_HEADERS,
39
37
  "Authorization": `Bearer ${token}`,
40
38
  };
41
39
  }
42
- /**
43
- * 判断错误是否为认证相关错误(token 过期、无效等)
44
- */
45
- function isAuthError(error) {
46
- if (!(error instanceof Error))
47
- return false;
48
- const msg = error.message.toLowerCase();
49
- // HTTP 401
50
- if (msg.includes("401"))
51
- return true;
52
- // 业务错误关键词
53
- const authKeywords = ["token", "认证", "登录", "过期", "expired", "unauthorized", "无效"];
54
- return authKeywords.some((kw) => msg.includes(kw));
55
- }
56
- /**
57
- * 尝试自动重新登录并重试请求
58
- * 如果配置了用户名密码且当前错误是认证错误,则重新登录后重试一次
59
- */
60
- async function withAutoRetry(requestFn) {
61
- try {
62
- return await requestFn();
63
- }
64
- catch (err) {
65
- if (!isAuthError(err)) {
66
- throw err;
67
- }
68
- // 尝试用用户名密码重新登录
69
- const reloggedIn = await tryRelogin();
70
- if (!reloggedIn) {
71
- throw err; // 无法重试,抛出原始错误
72
- }
73
- // 用新 token 重试
74
- return await requestFn();
75
- }
76
- }
77
40
  /**
78
41
  * 发起 GET 请求
79
42
  * 与前端 request.js 一致:params 加密后作为 ?data=<encrypted> 发送
80
43
  */
81
44
  export async function apiGet(path, params) {
82
- return withAutoRetry(async () => {
83
- // 构建参数对象(过滤空值)
84
- const cleanParams = {};
85
- if (params) {
86
- for (const [key, value] of Object.entries(params)) {
87
- if (value !== undefined && value !== "") {
88
- cleanParams[key] = value;
89
- }
45
+ const cleanParams = {};
46
+ if (params) {
47
+ for (const [key, value] of Object.entries(params)) {
48
+ if (value !== undefined && value !== "") {
49
+ cleanParams[key] = value;
90
50
  }
91
51
  }
92
- // 加密参数:JSON → AES → Base64 → ?data=<encrypted>
93
- // 注意:与前端一致,不做 encodeURIComponent,后端用 replace(" ","+") 补偿
94
- const hasParams = Object.keys(cleanParams).length > 0;
95
- const url = hasParams
96
- ? `${getBaseUrl()}${path}?data=${aesEncrypt(JSON.stringify(cleanParams))}`
97
- : `${getBaseUrl()}${path}`;
98
- debugLog(`GET ${url}`);
99
- const controller = new AbortController();
100
- const timeout = setTimeout(() => controller.abort(), 30000);
101
- try {
102
- const res = await fetch(url, {
103
- method: "GET",
104
- headers: getAuthHeaders(),
105
- signal: controller.signal,
106
- });
107
- const text = await res.text();
108
- debugLog(`GET ${path} → ${res.status}`, text.slice(0, 500));
109
- if (!res.ok) {
110
- throw new Error(`HTTP ${res.status}: ${text}`);
111
- }
112
- const json = JSON.parse(text);
113
- if (json.code !== 200) {
114
- throw new Error(`API error (${json.code}): ${json.msg}`);
115
- }
116
- // 兼容 R<> 格式(有 data 字段)和 AjaxResult 格式(无 data 字段)
117
- if ('data' in json) {
118
- return json.data;
119
- }
120
- return json;
52
+ }
53
+ const hasParams = Object.keys(cleanParams).length > 0;
54
+ const url = hasParams
55
+ ? `${getBaseUrl()}${path}?data=${aesEncrypt(JSON.stringify(cleanParams))}`
56
+ : `${getBaseUrl()}${path}`;
57
+ debugLog(`GET ${url}`);
58
+ const controller = new AbortController();
59
+ const timeout = setTimeout(() => controller.abort(), 30000);
60
+ try {
61
+ const res = await fetch(url, {
62
+ method: "GET",
63
+ headers: getAuthHeaders(),
64
+ signal: controller.signal,
65
+ });
66
+ const text = await res.text();
67
+ debugLog(`GET ${path} ${res.status}`, text.slice(0, 500));
68
+ if (!res.ok) {
69
+ throw new Error(`HTTP ${res.status}: ${text}`);
70
+ }
71
+ const json = JSON.parse(text);
72
+ if (json.code !== 200) {
73
+ throw new Error(`API error (${json.code}): ${json.msg}`);
121
74
  }
122
- finally {
123
- clearTimeout(timeout);
75
+ // 兼容 R<> 格式(有 data 字段)和 AjaxResult 格式(无 data 字段)
76
+ if ('data' in json) {
77
+ return json.data;
124
78
  }
125
- });
79
+ return json;
80
+ }
81
+ finally {
82
+ clearTimeout(timeout);
83
+ }
126
84
  }
127
85
  /**
128
86
  * 发起 GET 请求,返回分页数据(TableDataInfo 格式)
129
87
  * 与前端 request.js 一致:params 加密后作为 ?data=<encrypted> 发送
130
88
  */
131
89
  export async function apiGetPage(path, params) {
132
- return withAutoRetry(async () => {
133
- // 构建参数对象(过滤空值)
134
- const cleanParams = {};
135
- if (params) {
136
- for (const [key, value] of Object.entries(params)) {
137
- if (value !== undefined && value !== "") {
138
- cleanParams[key] = value;
139
- }
90
+ const cleanParams = {};
91
+ if (params) {
92
+ for (const [key, value] of Object.entries(params)) {
93
+ if (value !== undefined && value !== "") {
94
+ cleanParams[key] = value;
140
95
  }
141
96
  }
142
- // 加密参数:JSON → AES → Base64 → ?data=<encrypted>
143
- // 注意:与前端一致,不做 encodeURIComponent,后端用 replace(" ","+") 补偿
144
- const hasParams = Object.keys(cleanParams).length > 0;
145
- const url = hasParams
146
- ? `${getBaseUrl()}${path}?data=${aesEncrypt(JSON.stringify(cleanParams))}`
147
- : `${getBaseUrl()}${path}`;
148
- debugLog(`GET(page) ${url}`);
149
- const controller = new AbortController();
150
- const timeout = setTimeout(() => controller.abort(), 30000);
151
- try {
152
- const res = await fetch(url, {
153
- method: "GET",
154
- headers: getAuthHeaders(),
155
- signal: controller.signal,
156
- });
157
- const text = await res.text();
158
- debugLog(`GET(page) ${path} → ${res.status}`, text.slice(0, 500));
159
- if (!res.ok) {
160
- throw new Error(`HTTP ${res.status}: ${text}`);
161
- }
162
- const json = JSON.parse(text);
163
- if (json.code !== undefined && json.code !== 200 && json.code !== 0) {
164
- throw new Error(`API error (${json.code}): ${json.msg}`);
165
- }
166
- return json;
97
+ }
98
+ const hasParams = Object.keys(cleanParams).length > 0;
99
+ const url = hasParams
100
+ ? `${getBaseUrl()}${path}?data=${aesEncrypt(JSON.stringify(cleanParams))}`
101
+ : `${getBaseUrl()}${path}`;
102
+ debugLog(`GET(page) ${url}`);
103
+ const controller = new AbortController();
104
+ const timeout = setTimeout(() => controller.abort(), 30000);
105
+ try {
106
+ const res = await fetch(url, {
107
+ method: "GET",
108
+ headers: getAuthHeaders(),
109
+ signal: controller.signal,
110
+ });
111
+ const text = await res.text();
112
+ debugLog(`GET(page) ${path} ${res.status}`, text.slice(0, 500));
113
+ if (!res.ok) {
114
+ throw new Error(`HTTP ${res.status}: ${text}`);
167
115
  }
168
- finally {
169
- clearTimeout(timeout);
116
+ const json = JSON.parse(text);
117
+ if (json.code !== undefined && json.code !== 200 && json.code !== 0) {
118
+ throw new Error(`API error (${json.code}): ${json.msg}`);
170
119
  }
171
- });
120
+ return json;
121
+ }
122
+ finally {
123
+ clearTimeout(timeout);
124
+ }
172
125
  }
173
126
  /**
174
127
  * 发起 POST 请求(携带 Authorization 头)
175
128
  * 与前端 request.js 一致:body 加密后以 { data: "<encrypted>" } 发送
176
129
  */
177
130
  export async function apiPost(path, body) {
178
- return withAutoRetry(async () => {
179
- const url = `${getBaseUrl()}${path}`;
180
- // 加密 body:JSON → AES → Base64 → { data: "<encrypted>" }
181
- const encryptedBody = body
182
- ? { data: aesEncrypt(JSON.stringify(body)) }
183
- : undefined;
184
- const bodyStr = encryptedBody ? JSON.stringify(encryptedBody) : undefined;
185
- debugLog(`POST ${url}`, body ? `原始: ${JSON.stringify(body).slice(0, 300)}` : "(无body)");
186
- const controller = new AbortController();
187
- const timeout = setTimeout(() => controller.abort(), 30000);
188
- try {
189
- const res = await fetch(url, {
190
- method: "POST",
191
- headers: getAuthHeaders(),
192
- body: bodyStr,
193
- signal: controller.signal,
194
- });
195
- const text = await res.text();
196
- debugLog(`POST ${path} → ${res.status}`, text.slice(0, 500));
197
- if (!res.ok) {
198
- throw new Error(`HTTP ${res.status}: ${text}`);
199
- }
200
- const json = JSON.parse(text);
201
- if (json.code !== 200) {
202
- throw new Error(`API error (${json.code}): ${json.msg}`);
203
- }
204
- return json.data;
131
+ const url = `${getBaseUrl()}${path}`;
132
+ const encryptedBody = body
133
+ ? { data: aesEncrypt(JSON.stringify(body)) }
134
+ : undefined;
135
+ const bodyStr = encryptedBody ? JSON.stringify(encryptedBody) : undefined;
136
+ debugLog(`POST ${url}`, body ? `原始: ${JSON.stringify(body).slice(0, 300)}` : "(无body)");
137
+ const controller = new AbortController();
138
+ const timeout = setTimeout(() => controller.abort(), 30000);
139
+ try {
140
+ const res = await fetch(url, {
141
+ method: "POST",
142
+ headers: getAuthHeaders(),
143
+ body: bodyStr,
144
+ signal: controller.signal,
145
+ });
146
+ const text = await res.text();
147
+ debugLog(`POST ${path} → ${res.status}`, text.slice(0, 500));
148
+ if (!res.ok) {
149
+ throw new Error(`HTTP ${res.status}: ${text}`);
205
150
  }
206
- finally {
207
- clearTimeout(timeout);
151
+ const json = JSON.parse(text);
152
+ if (json.code !== 200) {
153
+ throw new Error(`API error (${json.code}): ${json.msg}`);
208
154
  }
209
- });
155
+ return json.data;
156
+ }
157
+ finally {
158
+ clearTimeout(timeout);
159
+ }
160
+ }
161
+ /**
162
+ * 发起 GET 请求,不携带 Authorization 头,返回完整 JSON 响应
163
+ * 用于验证码等无需认证的接口
164
+ */
165
+ export async function apiGetRaw(path) {
166
+ const url = `${getBaseUrl()}${path}`;
167
+ debugLog(`GET(raw) ${url}`);
168
+ const controller = new AbortController();
169
+ const timeout = setTimeout(() => controller.abort(), 30000);
170
+ try {
171
+ const res = await fetch(url, {
172
+ method: "GET",
173
+ headers: COMMON_HEADERS,
174
+ signal: controller.signal,
175
+ });
176
+ const text = await res.text();
177
+ debugLog(`GET(raw) ${path} → ${res.status}`, text.slice(0, 500));
178
+ if (!res.ok) {
179
+ throw new Error(`HTTP ${res.status}: ${text}`);
180
+ }
181
+ return JSON.parse(text);
182
+ }
183
+ finally {
184
+ clearTimeout(timeout);
185
+ }
210
186
  }
211
187
  /**
212
188
  * 发起 POST 请求,不携带 Authorization 头,返回完整 JSON 响应
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/tools/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/tools/client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcp-user-system",
3
- "version": "2.0.6",
3
+ "version": "2.1.1",
4
4
  "description": "MCP server for token-user-system — Console 前台全量查询接口 (JWT Bearer Token)",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",