mirror of
https://github.com/DrizzleTime/Foxel.git
synced 2026-05-15 12:27:47 +08:00
feat(storage): add support for Tencent Cloud COS
This commit is contained in:
@@ -12,7 +12,6 @@ import AllImages from '../pages/allImages/Index';
|
||||
import Albums from '../pages/albums/Index';
|
||||
import AlbumDetail from '../pages/albumDetail/Index';
|
||||
import Favorites from '../pages/favorites/Index';
|
||||
import Upload from '../pages/upload/Index';
|
||||
import Settings from '../pages/settings/Index';
|
||||
import BackgroundTasks from '../pages/backgroundTasks/Index';
|
||||
import PixHub from '../pages/pixHub/Index';
|
||||
@@ -111,16 +110,6 @@ const routes: RouteConfig[] = [
|
||||
title: '设置'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: 'upload',
|
||||
key: 'upload',
|
||||
label: '上传',
|
||||
element: <Upload />,
|
||||
hideInMenu: true,
|
||||
breadcrumb: {
|
||||
title: '上传'
|
||||
}
|
||||
},
|
||||
];
|
||||
|
||||
export default routes;
|
||||
|
||||
@@ -85,8 +85,9 @@ const SystemConfig: React.FC = () => {
|
||||
// 存储类型选项
|
||||
const storageOptions = [
|
||||
{ value: 'Local', label: '本地存储', icon: <DatabaseOutlined style={{ color: '#52c41a' }} /> },
|
||||
{ value: 'Telegram', label: 'Telegram存储', icon: <CloudOutlined style={{ color: '#0088cc' }} /> },
|
||||
{ value: 'S3', label: 'S3兼容存储', icon: <CloudServerOutlined style={{ color: '#ff9900' }} /> },
|
||||
{ value: 'Telegram', label: 'Telegram 频道', icon: <CloudOutlined style={{ color: '#0088cc' }} /> },
|
||||
{ value: 'S3', label: '亚马逊 S3', icon: <CloudServerOutlined style={{ color: '#ff9900' }} /> },
|
||||
{ value: 'Cos', label: '腾讯云 COS', icon: <CloudServerOutlined style={{ color: '#00a4ff' }} /> },
|
||||
];
|
||||
|
||||
useEffect(() => {
|
||||
@@ -292,6 +293,30 @@ const SystemConfig: React.FC = () => {
|
||||
isMobile={isMobile}
|
||||
/>
|
||||
)}
|
||||
|
||||
{storageType === 'Cos' && (
|
||||
<ConfigGroup
|
||||
groupName="Storage"
|
||||
configs={{
|
||||
"CosStorageSecretId": configs.Storage?.CosStorageSecretId || '',
|
||||
"CosStorageSecretKey": configs.Storage?.CosStorageSecretKey || '',
|
||||
"CosStorageToken": configs.Storage?.CosStorageToken || '',
|
||||
"CosStorageBucketName": configs.Storage?.CosStorageBucketName || '',
|
||||
"CosStorageRegion": configs.Storage?.CosStorageRegion || '',
|
||||
"CosStorageCdnUrl": configs.Storage?.CosStorageCdnUrl || '',
|
||||
}}
|
||||
onSave={handleSaveConfig}
|
||||
descriptions={{
|
||||
"CosStorageSecretId": '腾讯云COS密钥ID',
|
||||
"CosStorageSecretKey": '腾讯云COS私有密钥',
|
||||
"CosStorageToken": '腾讯云COS临时令牌(可选)',
|
||||
"CosStorageBucketName": 'COS存储桶名称',
|
||||
"CosStorageRegion": 'COS区域 (例如:ap-shanghai)',
|
||||
"CosStorageCdnUrl": 'CDN URL (可选,用于加速文件访问)',
|
||||
}}
|
||||
isMobile={isMobile}
|
||||
/>
|
||||
)}
|
||||
</TabPane>
|
||||
</Tabs>
|
||||
)}
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
import { Typography } from 'antd';
|
||||
|
||||
const { Title } = Typography;
|
||||
|
||||
function Upload() {
|
||||
return (
|
||||
<div>
|
||||
<Title level={2} style={{
|
||||
margin: 0,
|
||||
marginBottom: 20,
|
||||
fontWeight: 600,
|
||||
letterSpacing: '0.5px',
|
||||
fontSize: 32,
|
||||
background: 'linear-gradient(120deg, #000000, #444444)',
|
||||
WebkitBackgroundClip: 'text',
|
||||
WebkitTextFillColor: 'transparent',
|
||||
}}>上传图片</Title>
|
||||
{/* 上传表单 */}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default Upload;
|
||||
Reference in New Issue
Block a user