Parcourir la source

fix(frontend): 用户列表空关键字不再发送字符串 "null"

请求层会把空值统一序列化成 REQUEST_NULL_VALUE("null"),后端拿它做 LIKE 得到 %null%,不输关键字时用户列表恒为空。listUsersApi 改为空关键字/空分页不传该字段。
cc il y a 2 jours
Parent
commit
7ea86ba785
1 fichiers modifiés avec 21 ajouts et 2 suppressions
  1. 21 2
      ai-electron/frontend/src/core/api/auth/authApi.ts

+ 21 - 2
ai-electron/frontend/src/core/api/auth/authApi.ts

@@ -106,8 +106,27 @@ export const verifyPwdApi = (password: string) =>
 // 用户管理 /user(仅 is_admin=1 可调用)
 // ---------------------------------------------------------------------------
 
-export const listUsersApi = (params: { keyword?: string; page?: number; size?: number }) =>
-  defHttp.get<PageResult<UserInfo>>({ url: adminPath + '/user/list', params });
+/**
+ * 用户分页列表。
+ *
+ * <p>空关键字<b>不传</b>该参数:请求层会把空值统一序列化成字符串 {@code "null"}
+ * (helper.ts 的 REQUEST_NULL_VALUE),后端拿它做 LIKE 会得到 {@code %null%},
+ * 不输关键字时列表恒为空。
+ */
+export const listUsersApi = (params: { keyword?: string; page?: number; size?: number }) => {
+  const query: Recordable = {};
+  if (params.page != null) {
+    query.page = params.page;
+  }
+  if (params.size != null) {
+    query.size = params.size;
+  }
+  const keyword = String(params.keyword ?? '').trim();
+  if (keyword) {
+    query.keyword = keyword;
+  }
+  return defHttp.get<PageResult<UserInfo>>({ url: adminPath + '/user/list', params: query });
+};
 
 export const createUserApi = (data: UserSaveParams) =>
   defHttp.postJson<void>({ url: adminPath + '/user/create', data });