feat(admin): 添加 S3 兼容存储备份功能
- 新增 S3 配置管理页面,支持 AWS S3、Cloudflare R2、MinIO 等兼容存储 - 实现 S3 客户端工具类,使用 aws4fetch 进行签名和上传 - 添加手动触发备份功能,将评论、配置和统计数据打包为 JSON 上传至 S3 - 在管理后台数据管理页面集成 S3 配置表单和备份操作按钮 - 新增相关 API 端点用于获取/保存 S3 配置及触发备份
This commit is contained in:
@@ -35,6 +35,8 @@ import { listLikes } from './api/admin/listLikes';
|
||||
import { getLikeStats } from './api/admin/likeStats';
|
||||
import { getFeatureSettings, updateFeatureSettings } from './api/admin/featureSettings';
|
||||
import { getTelegramSettings, updateTelegramSettings, setupTelegramWebhook, testTelegramMessage } from './api/admin/telegramSettings';
|
||||
import { getS3Settings, updateS3Settings } from './api/admin/s3Settings';
|
||||
import { triggerS3Backup } from './api/admin/triggerS3Backup';
|
||||
import { telegramWebhook } from './api/telegram/webhook';
|
||||
import { ensureSchema } from './utils/dbMigration';
|
||||
|
||||
@@ -340,6 +342,10 @@ app.put('/admin/settings/telegram', updateTelegramSettings);
|
||||
app.post('/admin/settings/telegram/setup', setupTelegramWebhook);
|
||||
app.post('/admin/settings/telegram/test', testTelegramMessage);
|
||||
|
||||
app.get('/admin/settings/s3', getS3Settings);
|
||||
app.put('/admin/settings/s3', updateS3Settings);
|
||||
app.post('/admin/backup/s3', triggerS3Backup);
|
||||
|
||||
app.get('/admin/settings/admin-display', async (c) => {
|
||||
try {
|
||||
const settings = await loadAdminDisplaySettings(c.env);
|
||||
|
||||
Reference in New Issue
Block a user