1
This commit is contained in:
58
src/api/adminCardKeys.js
Normal file
58
src/api/adminCardKeys.js
Normal file
@@ -0,0 +1,58 @@
|
||||
import { apiRequest } from "./client.js";
|
||||
|
||||
/**
|
||||
* @param {string} token
|
||||
* @param {RequestInit} [options]
|
||||
*/
|
||||
function adminRequest(token, path, options = {}) {
|
||||
return apiRequest(path, {
|
||||
...options,
|
||||
headers: {
|
||||
Authorization: `Bearer ${token}`,
|
||||
...options.headers,
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} token
|
||||
* @param {{ page?: number, pageSize?: number, status?: string }} [params]
|
||||
*/
|
||||
export function listAdminCardKeysApi(token, { page = 1, pageSize = 20, status = "all" } = {}) {
|
||||
const query = new URLSearchParams({
|
||||
page: String(page),
|
||||
page_size: String(pageSize),
|
||||
status,
|
||||
});
|
||||
return adminRequest(token, `/admin/card-keys?${query}`);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} token
|
||||
* @param {object} payload
|
||||
*/
|
||||
export function createAdminCardKeysApi(token, payload) {
|
||||
return adminRequest(token, "/admin/card-keys", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} token
|
||||
* @param {number} cardId
|
||||
* @param {object} payload
|
||||
*/
|
||||
export function updateAdminCardKeyApi(token, cardId, payload) {
|
||||
return adminRequest(token, `/admin/card-keys/${cardId}`, {
|
||||
method: "PATCH",
|
||||
body: JSON.stringify(payload),
|
||||
});
|
||||
}
|
||||
|
||||
/** @param {string} token @param {number} cardId */
|
||||
export function deleteAdminCardKeyApi(token, cardId) {
|
||||
return adminRequest(token, `/admin/card-keys/${cardId}`, {
|
||||
method: "DELETE",
|
||||
});
|
||||
}
|
||||
62
src/api/adminDesktopConfigs.js
Normal file
62
src/api/adminDesktopConfigs.js
Normal file
@@ -0,0 +1,62 @@
|
||||
import { apiRequest } from "./client.js";
|
||||
|
||||
/**
|
||||
* @param {string} token
|
||||
* @param {RequestInit} [options]
|
||||
*/
|
||||
function adminRequest(token, path, options = {}) {
|
||||
return apiRequest(path, {
|
||||
...options,
|
||||
headers: {
|
||||
Authorization: `Bearer ${token}`,
|
||||
...options.headers,
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} token
|
||||
* @param {{ page?: number, pageSize?: number, keyword?: string }} [params]
|
||||
*/
|
||||
export function listAdminDesktopConfigsApi(
|
||||
token,
|
||||
{ page = 1, pageSize = 20, keyword = "" } = {},
|
||||
) {
|
||||
const query = new URLSearchParams({
|
||||
page: String(page),
|
||||
page_size: String(pageSize),
|
||||
});
|
||||
const kw = keyword?.trim();
|
||||
if (kw) query.set("keyword", kw);
|
||||
return adminRequest(token, `/admin/desktop-configs?${query}`);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} token
|
||||
* @param {object} payload
|
||||
*/
|
||||
export function createAdminDesktopConfigApi(token, payload) {
|
||||
return adminRequest(token, "/admin/desktop-configs", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} token
|
||||
* @param {number} configId
|
||||
* @param {object} payload
|
||||
*/
|
||||
export function updateAdminDesktopConfigApi(token, configId, payload) {
|
||||
return adminRequest(token, `/admin/desktop-configs/${configId}`, {
|
||||
method: "PATCH",
|
||||
body: JSON.stringify(payload),
|
||||
});
|
||||
}
|
||||
|
||||
/** @param {string} token @param {number} configId */
|
||||
export function deleteAdminDesktopConfigApi(token, configId) {
|
||||
return adminRequest(token, `/admin/desktop-configs/${configId}`, {
|
||||
method: "DELETE",
|
||||
});
|
||||
}
|
||||
57
src/api/adminUsers.js
Normal file
57
src/api/adminUsers.js
Normal file
@@ -0,0 +1,57 @@
|
||||
import { apiRequest } from "./client.js";
|
||||
|
||||
/**
|
||||
* @param {string} token
|
||||
* @param {RequestInit} [options]
|
||||
*/
|
||||
function adminRequest(token, path, options = {}) {
|
||||
return apiRequest(path, {
|
||||
...options,
|
||||
headers: {
|
||||
Authorization: `Bearer ${token}`,
|
||||
...options.headers,
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} token
|
||||
* @param {{ page?: number, pageSize?: number }} [params]
|
||||
*/
|
||||
export function listAdminUsersApi(token, { page = 1, pageSize = 20 } = {}) {
|
||||
const query = new URLSearchParams({
|
||||
page: String(page),
|
||||
page_size: String(pageSize),
|
||||
});
|
||||
return adminRequest(token, `/admin/users?${query}`);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} token
|
||||
* @param {object} payload
|
||||
*/
|
||||
export function createAdminUserApi(token, payload) {
|
||||
return adminRequest(token, "/admin/users", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(payload),
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} token
|
||||
* @param {number} userId
|
||||
* @param {object} payload
|
||||
*/
|
||||
export function updateAdminUserApi(token, userId, payload) {
|
||||
return adminRequest(token, `/admin/users/${userId}`, {
|
||||
method: "PATCH",
|
||||
body: JSON.stringify(payload),
|
||||
});
|
||||
}
|
||||
|
||||
/** @param {string} token @param {number} userId */
|
||||
export function deleteAdminUserApi(token, userId) {
|
||||
return adminRequest(token, `/admin/users/${userId}`, {
|
||||
method: "DELETE",
|
||||
});
|
||||
}
|
||||
@@ -53,6 +53,13 @@ export async function apiRequest(path, options = {}) {
|
||||
return { ok: false, message: "未登录或登录已过期" };
|
||||
}
|
||||
|
||||
if (res.status === 403) {
|
||||
return {
|
||||
ok: false,
|
||||
message: body?.detail || "无权限执行此操作",
|
||||
};
|
||||
}
|
||||
|
||||
return {
|
||||
ok: false,
|
||||
message: body?.message || `请求失败(${res.status})`,
|
||||
|
||||
Reference in New Issue
Block a user