修复 无法上传问题

This commit is contained in:
2025-10-07 00:53:54 +08:00
parent c21319fe3c
commit 2b62027842
8 changed files with 755 additions and 4835 deletions

View File

@@ -11,6 +11,7 @@ interface SettingsModalProps {
export const SettingsModal: React.FC<SettingsModalProps> = ({ open, onOpenChange }) => {
const [accessToken, setAccessToken] = useState('');
const [geminiApiKey, setGeminiApiKey] = useState('');
const [uploadApiUrl, setUploadApiUrl] = useState('');
const [uploadAssetUrl, setUploadAssetUrl] = useState('');
// 组件挂载时从localStorage加载设置
@@ -18,10 +19,12 @@ export const SettingsModal: React.FC<SettingsModalProps> = ({ open, onOpenChange
if (open) {
const savedAccessToken = localStorage.getItem('VITE_ACCESS_TOKEN') || '';
const savedGeminiApiKey = localStorage.getItem('VITE_GEMINI_API_KEY') || '';
const savedUploadApiUrl = localStorage.getItem('VITE_UPLOAD_API') || '';
const savedUploadAssetUrl = localStorage.getItem('VITE_UPLOAD_ASSET_URL') || '';
setAccessToken(savedAccessToken);
setGeminiApiKey(savedGeminiApiKey);
setUploadApiUrl(savedUploadApiUrl);
setUploadAssetUrl(savedUploadAssetUrl);
}
}, [open]);
@@ -40,6 +43,12 @@ export const SettingsModal: React.FC<SettingsModalProps> = ({ open, onOpenChange
localStorage.removeItem('VITE_GEMINI_API_KEY');
}
if (uploadApiUrl) {
localStorage.setItem('VITE_UPLOAD_API', uploadApiUrl);
} else {
localStorage.removeItem('VITE_UPLOAD_API');
}
if (uploadAssetUrl) {
localStorage.setItem('VITE_UPLOAD_ASSET_URL', uploadAssetUrl);
} else {
@@ -57,10 +66,12 @@ export const SettingsModal: React.FC<SettingsModalProps> = ({ open, onOpenChange
// 重置为默认值(环境变量中的值)
const defaultAccessToken = import.meta.env.VITE_ACCESS_TOKEN || '';
const defaultGeminiApiKey = import.meta.env.VITE_GEMINI_API_KEY || '';
const defaultUploadApiUrl = import.meta.env.VITE_UPLOAD_API || '';
const defaultUploadAssetUrl = import.meta.env.VITE_UPLOAD_ASSET_URL || '';
setAccessToken(defaultAccessToken);
setGeminiApiKey(defaultGeminiApiKey);
setUploadApiUrl(defaultUploadApiUrl);
setUploadAssetUrl(defaultUploadAssetUrl);
};
@@ -116,6 +127,23 @@ export const SettingsModal: React.FC<SettingsModalProps> = ({ open, onOpenChange
</p>
</div>
<div className="space-y-2">
<label htmlFor="uploadApiUrl" className="text-sm font-medium text-gray-700">
URL
</label>
<input
id="uploadApiUrl"
type="text"
value={uploadApiUrl}
onChange={(e) => setUploadApiUrl(e.target.value)}
className="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-yellow-500 focus:border-transparent"
placeholder="输入上传接口URL"
/>
<p className="text-xs text-gray-500">
URL
</p>
</div>
<div className="space-y-2">
<label htmlFor="uploadAssetUrl" className="text-sm font-medium text-gray-700">
URL

View File

@@ -3,7 +3,7 @@ import { UploadResult } from '../types'
// 上传接口URL
// 优先使用localStorage中的URL如果没有则使用环境变量中的
const UPLOAD_URL = localStorage.getItem('VITE_UPLOAD_ASSET_URL') || import.meta.env.VITE_UPLOAD_ASSET_URL || 'https://api.pandorastudio.cn/auth/OSSupload'
const UPLOAD_URL = localStorage.getItem('VITE_UPLOAD_API') || import.meta.env.VITE_UPLOAD_API || 'https://api.pandorastudio.cn/auth/OSSupload'
// 创建一个Map来缓存已上传的图像
const uploadCache = new Map<string, UploadResult>()