From 375c18a6d2713ff19b22093eec57315992d8333f Mon Sep 17 00:00:00 2001
From: Codex Assistant <codex@example.com>
Date: 星期四, 06 十一月 2025 13:33:52 +0800
Subject: [PATCH] 增加评审下载

---
 web/src/utils/cos-simple.ts |   75 +++++++++++++++++++++++++++++++++----
 1 files changed, 66 insertions(+), 9 deletions(-)

diff --git a/web/src/utils/cos-simple.ts b/web/src/utils/cos-simple.ts
index 9190707..76fc4a5 100644
--- a/web/src/utils/cos-simple.ts
+++ b/web/src/utils/cos-simple.ts
@@ -1,72 +1,129 @@
 import axios from 'axios'
+import { serverUrl } from './appConfig.js'
+
+
 
 // GraphQL鏌ヨ鑾峰彇涓婁紶鍑瘉
+
 const GET_UPLOAD_CREDENTIALS = `
+
   query GetUploadCredentials {
+
     getUploadCredentials {
+
       bucket
+
       region
+
       key
+
       presignedUrl
+
       expiration
+
     }
+
   }
+
 `
 
+
+
 // 浠庡悗绔疓raphQL鑾峰彇涓婁紶鍑瘉
+
 const getUploadCredentials = async () => {
+
   try {
-    const response = await axios.post('http://localhost:8080/graphql', {
+
+    const response = await axios.post(`${serverUrl}/graphql`, {
+
       query: GET_UPLOAD_CREDENTIALS
+
     })
-    
+
+  
     if (response.data.errors) {
+
       throw new Error(response.data.errors[0].message)
+
     }
+
     
+
     return response.data.data.getUploadCredentials
+
   } catch (error) {
+
     console.error('鑾峰彇涓婁紶鍑瘉澶辫触:', error)
+
     throw error
+
   }
+
 }
 
+
+
 /**
+
  * 浣跨敤棰勭鍚峌RL涓婁紶鏂囦欢鍒拌吘璁簯COS
+
  * @param file 瑕佷笂浼犵殑鏂囦欢
+
  * @returns Promise<string> 杩斿洖鏂囦欢鐨勮闂甎RL
+
  */
+
 export const uploadToCOS = async (file: File): Promise<string> => {
+
   try {
-    console.log('寮�濮嬭幏鍙栦笂浼犲嚟璇�...')
-    
+
     // 鑾峰彇涓婁紶鍑瘉
+
     const credentials = await getUploadCredentials()
-    console.log('鑾峰彇鍒颁笂浼犲嚟璇�:', credentials)
+
     
+
     // 浣跨敤棰勭鍚峌RL
+
     const uploadUrl = credentials.presignedUrl
+
     
-    console.log('寮�濮嬩笂浼犳枃浠跺埌:', uploadUrl)
-    
+
     // 浣跨敤棰勭鍚峌RL涓婁紶鏂囦欢
+
     const uploadResponse = await axios.put(uploadUrl, file, {
+
       headers: {
+
         'Content-Type': file.type,
+
       }
+
     })
+
     
+
     if (uploadResponse.status === 200) {
-      console.log('鏂囦欢涓婁紶鎴愬姛!')
+
       // 杩斿洖鏂囦欢鐨勮闂甎RL锛堝幓鎺夋煡璇㈠弬鏁帮級
+
       const fileUrl = `https://${credentials.bucket}.cos.${credentials.region}.myqcloud.com/${credentials.key}`
+
       return fileUrl
+
     } else {
+
       throw new Error(`涓婁紶澶辫触锛岀姸鎬佺爜: ${uploadResponse.status}`)
+
     }
+
     
+
   } catch (error) {
-    console.error('涓婁紶鏂囦欢澶辫触:', error)
+
     throw error
+
   }
+
 }
\ No newline at end of file

--
Gitblit v1.8.0