项目仓库初始化

This commit is contained in:
Stev_Wang
2025-12-25 18:20:37 +08:00
commit b975165f18
12 changed files with 405 additions and 0 deletions

View File

@@ -0,0 +1,82 @@
// @ts-ignore 获取角色列表接口
/**
* 获取角色列表接口
* 通过PSK验证后从数据库characters表获取角色数据
* 支持通过uid参数过滤特定账号的角色数据
*/
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 {
// 获取请求参数支持从根对象或body字段获取uid参数
let uid = http_message["uid"] || (http_message["body"] ? http_message["body"]["uid"] : null);
// 构建SQL查询语句
let sql = "SELECT * FROM characters";
if (uid) {
sql += ` WHERE uid = ${uid}`;
}
// 获取角色数据
// @ts-ignore
let characters = await _database_.execute_sql_by_name("accounts", sql);
// 格式化数据
let charactersList = [];
if (characters && characters !== "[]") {
try {
// 解析查询结果JSON数组
let charsList = JSON.parse(characters);
for (let char of charsList) {
// 解析角色数据
let charData = char;
// 解析json_data字段如果有
let extraData = {};
if (charData.json_data && charData.json_data !== "") {
try {
extraData = JSON.parse(charData.json_data);
} catch (e) {
console.error("解析角色json_data失败:", e);
}
}
// 添加到角色列表
charactersList.push({
id: charData.id,
uid: charData.uid,
name: charData.name,
level: charData.level,
job: charData.job,
sex: charData.sex,
created_at: extraData.created_at || "未知",
last_login: extraData.last_login || "未知",
status: extraData.status !== undefined ? (extraData.status ? 1 : 0) : 1, // 1为正常0为禁用
extra_data: extraData
});
}
} catch (e) {
console.error("解析角色列表失败:", e);
return { code: 500, success: false, message: "解析角色数据失败", data: null };
}
}
// 返回成功响应
return { code: 200, success: true, message: "ok", data: {
characters_list: charactersList,
total: charactersList.length
} };
} catch (error) {
console.error("获取角色列表失败:", error);
// 返回错误响应
return { code: 500, success: false, message: "获取角色列表失败: " + (error.message || "未知错误"), data: null };
}
}