62 lines
2.4 KiB
JavaScript
62 lines
2.4 KiB
JavaScript
// @ts-ignore 获取活动列表接口
|
||
/**
|
||
* 获取活动列表接口
|
||
* 通过PSK验证后,读取activity_data.js文件中的活动数据
|
||
* 返回所有活动的详细信息
|
||
*/
|
||
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 activityData = G.ActivityData.default;
|
||
|
||
if (!activityData) {
|
||
console.error("活动数据未加载");
|
||
return { code: 404, success: false, message: "活动数据未加载", data: null };
|
||
}
|
||
|
||
// 格式化活动数据为列表
|
||
let activityList = [];
|
||
for (let activityId in activityData) {
|
||
if (activityData.hasOwnProperty(activityId)) {
|
||
let activity = activityData[activityId];
|
||
activityList.push({
|
||
id: activityId,
|
||
名称: activity.名称 || "",
|
||
类型: activity.类型 || "",
|
||
最高等级: activity.最高等级 || 0,
|
||
最低等级: activity.最低等级 || 0,
|
||
防修: activity.防修 || 0,
|
||
攻修: activity.攻修 || 0,
|
||
系数: activity.系数 || 1,
|
||
主怪: activity.主怪 || [],
|
||
数量平衡: activity.数量平衡 || false,
|
||
最大数量: activity.最大数量 || 1,
|
||
最小数量: activity.最小数量 || 1,
|
||
小怪: activity.小怪 || [],
|
||
小怪规则: activity.小怪规则 || "随机",
|
||
喽啰编号2: activity.喽啰编号2 || 0,
|
||
几率: activity.几率 || 100
|
||
});
|
||
}
|
||
}
|
||
|
||
// 返回成功响应
|
||
return { code: 200, success: true, message: "ok", data: {
|
||
activity_list: activityList,
|
||
total: activityList.length
|
||
} };
|
||
} catch (error) {
|
||
console.error("获取活动列表失败:", error);
|
||
// 返回错误响应
|
||
return { code: 500, success: false, message: "获取活动列表失败: " + (error.message || "未知错误"), data: null };
|
||
}
|
||
} |