mirror of
https://github.com/MarSeventh/CloudFlare-ImgBed.git
synced 2026-04-26 23:25:11 +00:00
88 lines
2.7 KiB
JavaScript
88 lines
2.7 KiB
JavaScript
/**
|
|
* 设置检查工具
|
|
*/
|
|
|
|
import { getDatabase } from '../../utils/databaseAdapter.js';
|
|
|
|
export async function onRequest(context) {
|
|
var env = context.env;
|
|
|
|
try {
|
|
var db = getDatabase(env);
|
|
|
|
var results = {
|
|
allSettings: [],
|
|
expectedSettings: [
|
|
'manage@sysConfig@page',
|
|
'manage@sysConfig@security',
|
|
'manage@sysConfig@upload',
|
|
'manage@sysConfig@others'
|
|
],
|
|
missingSettings: [],
|
|
existingSettings: {}
|
|
};
|
|
|
|
// 列出所有设置
|
|
var allSettings = await db.listSettings({});
|
|
results.allSettings = allSettings.keys.map(function(item) {
|
|
return {
|
|
key: item.name,
|
|
hasValue: !!item.value,
|
|
valueLength: item.value ? item.value.length : 0
|
|
};
|
|
});
|
|
|
|
// 检查每个预期的设置
|
|
for (var i = 0; i < results.expectedSettings.length; i++) {
|
|
var settingKey = results.expectedSettings[i];
|
|
try {
|
|
var value = await db.get(settingKey);
|
|
if (value) {
|
|
results.existingSettings[settingKey] = {
|
|
exists: true,
|
|
length: value.length,
|
|
preview: value.substring(0, 200) + (value.length > 200 ? '...' : '')
|
|
};
|
|
} else {
|
|
results.missingSettings.push(settingKey);
|
|
results.existingSettings[settingKey] = {
|
|
exists: false
|
|
};
|
|
}
|
|
} catch (error) {
|
|
results.existingSettings[settingKey] = {
|
|
exists: false,
|
|
error: error.message
|
|
};
|
|
}
|
|
}
|
|
|
|
// 检查是否有其他manage@开头的设置
|
|
var manageSettings = await db.listSettings({ prefix: 'manage@' });
|
|
results.manageSettings = manageSettings.keys.map(function(item) {
|
|
return {
|
|
key: item.name,
|
|
hasValue: !!item.value,
|
|
valueLength: item.value ? item.value.length : 0
|
|
};
|
|
});
|
|
|
|
return new Response(JSON.stringify(results, null, 2), {
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
}
|
|
});
|
|
|
|
} catch (error) {
|
|
return new Response(JSON.stringify({
|
|
error: error.message,
|
|
stack: error.stack
|
|
}), {
|
|
status: 500,
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
}
|
|
});
|
|
}
|
|
}
|