This commit is contained in:
MarSeventh
2025-02-06 18:18:39 +08:00
parent b07e5385a2
commit be4629c643
1399 changed files with 3448 additions and 66104 deletions

View File

@@ -0,0 +1,80 @@
export async function onRequest(context) {
// 安全设置相关GET方法读取设置POST方法保存设置
const {
request, // same as existing Worker API
env, // same as existing Worker API
params, // if filename includes [id] or [[path]]
waitUntil, // same as ctx.waitUntil in existing Worker API
next, // used for middleware or to fetch assets
data, // arbitrary space for passing data between middlewares
} = context;
const kv = env.img_url
// GET读取设置
if (request.method === 'GET') {
const settings = await getSecurityConfig(kv, env)
return new Response(JSON.stringify(settings), {
headers: {
'content-type': 'application/json',
},
})
}
// POST保存设置
if (request.method === 'POST') {
const body = await request.json()
const settings = body
// 写入 KV
await kv.put('manage@sysConfig@security', JSON.stringify(settings))
return new Response(JSON.stringify(settings), {
headers: {
'content-type': 'application/json',
},
})
}
}
export async function getSecurityConfig(kv, env) {
const settings = {}
// 读取KV中的设置
const settingsStr = await kv.get('manage@sysConfig@security')
const settingsKV = settingsStr ? JSON.parse(settingsStr) : {}
// 认证管理
const auth = {
user: {
authCode: env.AUTH_CODE
},
admin: {
adminUsername: env.BASIC_USER,
adminPassword: env.BASIC_PASS,
}
}
settings.auth = auth
// 上传管理
const upload = {
moderate: {
channel: 'moderatecontent.com',
apiKey: env.ModerateContentApiKey,
}
}
settings.upload = upload
// 访问管理
const access = {
allowedDomains: env.ALLOWED_DOMAINS,
whiteListMode: env.WhiteList_Mode === 'true',
}
settings.access = access
// 用 KV 中的设置覆盖默认设置
Object.assign(settings, settingsKV)
return settings;
}