Files
CloudFlare-ImgBed/functions/api/userConfig.js
2025-07-21 13:39:14 +08:00

39 lines
1.3 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.

import { fetchPageConfig } from "../utils/sysConfig";
export async function onRequest(context) {
const { request, env, params, waitUntil, next, data } = context;
const PageConfig = await fetchPageConfig(env);
const userConfigList = PageConfig.config;
const userConfig = {};
for (const config of userConfigList) {
if (config.value) {
// 将config解析为JSON对象若解析失败则返回原始字符串
try {
userConfig[config.id] = JSON.parse(config.value);
} catch (error) {
userConfig[config.id] = config.value;
}
}
}
// 检查 USER_CONFIG 是否为空或未定义
if (!userConfig) {
return new Response(JSON.stringify({}), { status: 200 });
}
try {
// 尝试解析 USER_CONFIG 为 JSON
const parsedConfig = userConfig;
// 检查解析后的结果是否为对象
if (typeof parsedConfig === 'object' && parsedConfig !== null) {
return new Response(JSON.stringify(parsedConfig), { status: 200 });
} else {
return new Response(JSON.stringify({}), { status: 200 });
}
} catch (error) {
// 捕捉解析错误并返回空对象
return new Response(JSON.stringify({}), { status: 200 });
}
}