项目仓库初始化
This commit is contained in:
74
item/item_list.js
Normal file
74
item/item_list.js
Normal file
@@ -0,0 +1,74 @@
|
||||
// @ts-ignore 获取物品列表接口
|
||||
/**
|
||||
* 获取物品列表接口
|
||||
* 通过PSK验证后,读取all_item_data.js文件中的物品数据
|
||||
* 返回所有物品的详细信息
|
||||
*/
|
||||
export async function execute(http_message) {
|
||||
// 验证请求头中的PSK
|
||||
let psk_valid = HttpReQUtils.check_psk(http_message);
|
||||
|
||||
if (!psk_valid) {
|
||||
// 直接返回错误响应
|
||||
return HttpResUtils.err_code(401, "未授权");
|
||||
}
|
||||
|
||||
try {
|
||||
// 获取已导入的物品数据
|
||||
// @ts-ignore
|
||||
let itemData = G.AllItemData.default;
|
||||
|
||||
if (!itemData) {
|
||||
console.error("物品数据未加载");
|
||||
return HttpResUtils.err_code(404, "物品数据未加载");
|
||||
}
|
||||
|
||||
// 格式化物品数据为列表
|
||||
let itemList = [];
|
||||
for (let itemName in itemData) {
|
||||
if (itemData.hasOwnProperty(itemName)) {
|
||||
let item = itemData[itemName];
|
||||
// 确保wp_7是数组类型
|
||||
let wp7Value = item.wp_7;
|
||||
if (wp7Value === undefined || wp7Value === null) {
|
||||
wp7Value = [];
|
||||
} else if (!Array.isArray(wp7Value)) {
|
||||
// 如果不是数组,转换为数组
|
||||
wp7Value = [wp7Value];
|
||||
}
|
||||
|
||||
// 确保数组中的所有元素都是字符串类型
|
||||
wp7Value = wp7Value.map(element => {
|
||||
if (element === null || element === undefined) {
|
||||
return "";
|
||||
}
|
||||
return String(element);
|
||||
});
|
||||
|
||||
itemList.push({
|
||||
name: itemName,
|
||||
wp_1: item.wp_1 || "",
|
||||
wp_2: item.wp_2 || 0,
|
||||
wp_3: item.wp_3 || 0,
|
||||
wp_4: item.wp_4 || 0,
|
||||
wp_5: item.wp_5 || 0,
|
||||
wp_7: wp7Value,
|
||||
wp_8: item.wp_8 || "",
|
||||
wp_11: item.wp_11 || "",
|
||||
wp_12: item.wp_12 || "",
|
||||
wp_13: item.wp_13 || ""
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// 返回成功响应
|
||||
return HttpResUtils.ok({
|
||||
item_list: itemList,
|
||||
total: itemList.length
|
||||
});
|
||||
} catch (error) {
|
||||
console.error("获取物品列表失败:", error);
|
||||
// 返回错误响应
|
||||
return HttpResUtils.err_data_msg(null, "获取物品列表失败: " + (error.message || "未知错误"));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user