Files
JGE-RS-SL-API/account/get_account_list.js
2025-12-25 18:20:37 +08:00

58 lines
2.4 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// @ts-ignore 获取用户列表接口
export async function execute(http_message) {
// 验证请求头中的PSK
let psk_valid = HttpReQUtils.check_psk(http_message);
if (!psk_valid) {
// 直接返回错误响应
return { code: 401, success: false, message: "未授权", data: null };
}
try {
// 获取所有用户数据
// @ts-ignore
let accounts = await _database_.execute_sql_by_name("accounts", 'select * from accounts');
// 格式化用户列表数据
let userList = [];
if (accounts && accounts !== "[]") {
try {
// 解析查询结果JSON数组
let accountsList = JSON.parse(accounts);
for (let account of accountsList) {
// 解析账户数据
let accountData = account;
// 添加到用户列表,返回必要的信息
userList.push({
id: accountData.id,
username: accountData.username,
invite_code: accountData.invite_code || "无",
reg_time: accountData.reg_time || "无",
login_time: accountData.login_time || "无",
out_time: accountData.out_time || "无",
last_login_time: accountData.last_login_time || "无",
status: accountData.status ? 1 : 0, // 1为正常0为禁用
is_online: accountData.is_online ? 1 : 0 // 1为在线0为离线
// json_data 字段暂时不返回,如需返回可在此处添加
});
}
} catch (e) {
console.error("解析账户列表失败:", e);
return { code: 500, success: false, message: "解析账户数据失败", data: null };
}
}
// 返回成功响应
return { code: 200, success: true, message: "ok", data: {
user_list: userList,
total: userList.length
} };
} catch (error) {
console.error("获取用户列表失败:", error);
// 返回错误响应
return { code: 500, success: false, message: "获取用户列表失败: " + (error.message || "未知错误"), data: null };
}
}