From 3714621173c606c4c58439ed8941100ce9ddea14 Mon Sep 17 00:00:00 2001
From: Codex Assistant <codex@example.com>
Date: 星期三, 05 十一月 2025 15:10:49 +0800
Subject: [PATCH] bug
---
web/src/utils/upload-logo-browser.ts | 222 +++++++++++++++++++++++++++---------------------------
1 files changed, 111 insertions(+), 111 deletions(-)
diff --git a/web/src/utils/upload-logo-browser.ts b/web/src/utils/upload-logo-browser.ts
index c685217..d930b73 100644
--- a/web/src/utils/upload-logo-browser.ts
+++ b/web/src/utils/upload-logo-browser.ts
@@ -1,112 +1,112 @@
-// 娴忚鍣ㄧ涓婁紶logo鏂囦欢鐨勫伐鍏峰嚱鏁�
-import { uploadToCOS } from './cos'
-
-/**
- * 灏哢I鐩綍涓嬬殑logo鏂囦欢涓婁紶鍒癈OS
- * 杩欎釜鍑芥暟鐢ㄤ簬鍦ㄦ祻瑙堝櫒涓笂浼爈ogo鏂囦欢
- */
-export const uploadLogoToCOS = async (): Promise<{
- success: boolean
- url?: string
- error?: string
-}> => {
- try {
- // 鑾峰彇logo鏂囦欢
- const logoFile = await fetchLogoFile()
-
- if (!logoFile) {
- return {
- success: false,
- error: 'Logo鏂囦欢涓嶅瓨鍦ㄦ垨鏃犳硶璁块棶'
- }
- }
-
- // 涓婁紶鍒癈OS鐨刟vatars鐩綍
- const url = await uploadToCOS(logoFile, 'avatars/')
-
- return {
- success: true,
- url: url
- }
-
- } catch (error: any) {
- console.error('Logo涓婁紶澶辫触:', error)
- return {
- success: false,
- error: error.message || '涓婁紶澶辫触'
- }
- }
-}
-
-/**
- * 鑾峰彇logo鏂囦欢
- * 鐢变簬娴忚鍣ㄥ畨鍏ㄩ檺鍒讹紝鏃犳硶鐩存帴璇诲彇鏈湴鏂囦欢绯荤粺
- * 杩欓噷鎻愪緵鍑犵鑾峰彇logo鏂囦欢鐨勬柟寮�
- */
-async function fetchLogoFile(): Promise<File | null> {
- try {
- // 鏂瑰紡1: 浠巔ublic鐩綍鑾峰彇锛堝鏋渓ogo鏂囦欢鏀惧湪public鐩綍涓嬶級
- const response = await fetch('/logo.jpg')
- if (response.ok) {
- const blob = await response.blob()
- return new File([blob], 'logo.jpg', { type: 'image/jpeg' })
- }
- } catch (error) {
- // 浠巔ublic鐩綍鑾峰彇logo澶辫触锛屽皾璇曞叾浠栨柟寮�
- }
-
- try {
- // 鏂瑰紡2: 浠嶶I鐩綍鑾峰彇锛堥渶瑕侀厤缃潤鎬佹枃浠舵湇鍔★級
- const response = await fetch('/UI/logo.jpg')
- if (response.ok) {
- const blob = await response.blob()
- return new File([blob], 'logo.jpg', { type: 'image/jpeg' })
- }
- } catch (error) {
- // 浠嶶I鐩綍鑾峰彇logo澶辫触
- }
-
- // 鏂瑰紡3: 杩斿洖null锛岄渶瑕佺敤鎴锋墜鍔ㄩ�夋嫨鏂囦欢
- return null
-}
-
-/**
- * 鍒涘缓涓�涓猯ogo鏂囦欢閫夋嫨鍣�
- * 褰撴棤娉曡嚜鍔ㄨ幏鍙杔ogo鏂囦欢鏃讹紝璁╃敤鎴锋墜鍔ㄩ�夋嫨
- */
-export const createLogoFileSelector = (): Promise<File | null> => {
- return new Promise((resolve) => {
- const input = document.createElement('input')
- input.type = 'file'
- input.accept = 'image/*'
- input.style.display = 'none'
-
- input.onchange = (event) => {
- const target = event.target as HTMLInputElement
- const file = target.files?.[0]
-
- if (file) {
- // 楠岃瘉鏄惁涓簂ogo鏂囦欢
- if (file.name.toLowerCase().includes('logo')) {
- resolve(file)
- } else {
- console.warn('閫夋嫨鐨勬枃浠跺悕涓嶅寘鍚�"logo"锛岃纭鏄惁涓烘纭殑logo鏂囦欢')
- resolve(file) // 浠嶇劧杩斿洖鏂囦欢锛岃鐢ㄦ埛鍐冲畾
- }
- } else {
- resolve(null)
- }
-
- // 娓呯悊DOM
- document.body.removeChild(input)
- }
-
- input.oncancel = () => {
- resolve(null)
- document.body.removeChild(input)
- }
-
- document.body.appendChild(input)
- input.click()
- })
+// 娴忚鍣ㄧ涓婁紶logo鏂囦欢鐨勫伐鍏峰嚱鏁�
+import { uploadToCOS } from './cos'
+
+/**
+ * 灏哢I鐩綍涓嬬殑logo鏂囦欢涓婁紶鍒癈OS
+ * 杩欎釜鍑芥暟鐢ㄤ簬鍦ㄦ祻瑙堝櫒涓笂浼爈ogo鏂囦欢
+ */
+export const uploadLogoToCOS = async (): Promise<{
+ success: boolean
+ url?: string
+ error?: string
+}> => {
+ try {
+ // 鑾峰彇logo鏂囦欢
+ const logoFile = await fetchLogoFile()
+
+ if (!logoFile) {
+ return {
+ success: false,
+ error: 'Logo鏂囦欢涓嶅瓨鍦ㄦ垨鏃犳硶璁块棶'
+ }
+ }
+
+ // 涓婁紶鍒癈OS鐨刟vatars鐩綍
+ const url = await uploadToCOS(logoFile, 'avatars/')
+
+ return {
+ success: true,
+ url: url
+ }
+
+ } catch (error: any) {
+ console.error('Logo涓婁紶澶辫触:', error)
+ return {
+ success: false,
+ error: error.message || '涓婁紶澶辫触'
+ }
+ }
+}
+
+/**
+ * 鑾峰彇logo鏂囦欢
+ * 鐢变簬娴忚鍣ㄥ畨鍏ㄩ檺鍒讹紝鏃犳硶鐩存帴璇诲彇鏈湴鏂囦欢绯荤粺
+ * 杩欓噷鎻愪緵鍑犵鑾峰彇logo鏂囦欢鐨勬柟寮�
+ */
+async function fetchLogoFile(): Promise<File | null> {
+ try {
+ // 鏂瑰紡1: 浠巔ublic鐩綍鑾峰彇锛堝鏋渓ogo鏂囦欢鏀惧湪public鐩綍涓嬶級
+ const response = await fetch('/logo.jpg')
+ if (response.ok) {
+ const blob = await response.blob()
+ return new File([blob], 'logo.jpg', { type: 'image/jpeg' })
+ }
+ } catch (error) {
+ // 浠巔ublic鐩綍鑾峰彇logo澶辫触锛屽皾璇曞叾浠栨柟寮�
+ }
+
+ try {
+ // 鏂瑰紡2: 浠嶶I鐩綍鑾峰彇锛堥渶瑕侀厤缃潤鎬佹枃浠舵湇鍔★級
+ const response = await fetch('/UI/logo.jpg')
+ if (response.ok) {
+ const blob = await response.blob()
+ return new File([blob], 'logo.jpg', { type: 'image/jpeg' })
+ }
+ } catch (error) {
+ // 浠嶶I鐩綍鑾峰彇logo澶辫触
+ }
+
+ // 鏂瑰紡3: 杩斿洖null锛岄渶瑕佺敤鎴锋墜鍔ㄩ�夋嫨鏂囦欢
+ return null
+}
+
+/**
+ * 鍒涘缓涓�涓猯ogo鏂囦欢閫夋嫨鍣�
+ * 褰撴棤娉曡嚜鍔ㄨ幏鍙杔ogo鏂囦欢鏃讹紝璁╃敤鎴锋墜鍔ㄩ�夋嫨
+ */
+export const createLogoFileSelector = (): Promise<File | null> => {
+ return new Promise((resolve) => {
+ const input = document.createElement('input')
+ input.type = 'file'
+ input.accept = 'image/*'
+ input.style.display = 'none'
+
+ input.onchange = (event) => {
+ const target = event.target as HTMLInputElement
+ const file = target.files?.[0]
+
+ if (file) {
+ // 楠岃瘉鏄惁涓簂ogo鏂囦欢
+ if (file.name.toLowerCase().includes('logo')) {
+ resolve(file)
+ } else {
+ console.warn('閫夋嫨鐨勬枃浠跺悕涓嶅寘鍚�"logo"锛岃纭鏄惁涓烘纭殑logo鏂囦欢')
+ resolve(file) // 浠嶇劧杩斿洖鏂囦欢锛岃鐢ㄦ埛鍐冲畾
+ }
+ } else {
+ resolve(null)
+ }
+
+ // 娓呯悊DOM
+ document.body.removeChild(input)
+ }
+
+ input.oncancel = () => {
+ resolve(null)
+ document.body.removeChild(input)
+ }
+
+ document.body.appendChild(input)
+ input.click()
+ })
}
\ No newline at end of file
--
Gitblit v1.8.0