From ba94ceae1315174798ae1967ef62268c6d16cd5b Mon Sep 17 00:00:00 2001 From: Codex Assistant <codex@example.com> Date: 星期一, 06 十月 2025 22:07:06 +0800 Subject: [PATCH] feat: 评审与活动相关改动 - backend(GraphQL): Activity schema 增加 updateActivityState(id, state);实现 resolver/service 仅更新 state=2 作为逻辑删除 - backend(GraphQL): region.graphqls 新增 Query leafRegions - backend(GraphQL): player.graphqls 的 projectReviewApplications 增加可选参数 regionId - backend(Service): listProjectReviewApplications 绑定 regionId 参数,修复 QueryParameterException - frontend(web): 新增 api/activity.js 的 updateActivityState 并接入 activity-list 删除逻辑 - frontend(web): review-list.vue 权限仅校验登录,移除角色限制;查询参数修正为 name/regionId - frontend(web): 删除未引用的 ActivityList.vue - frontend(web): projectReviewNew.js GraphQL 查询增加 name 参数 --- web/src/utils/cos-config.ts | 148 ++++++++++++++++++++++++------------------------ 1 files changed, 74 insertions(+), 74 deletions(-) diff --git a/web/src/utils/cos-config.ts b/web/src/utils/cos-config.ts index 972d860..9ad1ec7 100644 --- a/web/src/utils/cos-config.ts +++ b/web/src/utils/cos-config.ts @@ -1,75 +1,75 @@ -// 鑵捐浜慍OS閰嶇疆鏂囦欢 -// 娉ㄦ剰锛氳繖涓枃浠跺寘鍚晱鎰熶俊鎭紝鍦ㄧ敓浜х幆澧冧腑搴旇閫氳繃鐜鍙橀噺鎴栧悗绔疉PI鑾峰彇 - -export interface COSConfig { - Region: string - Bucket: string - SecretId?: string - SecretKey?: string - SecurityToken?: string -} - -// 寮�鍙戠幆澧冮厤缃紙璇锋浛鎹负瀹為檯鐨勯厤缃俊鎭級 -export const DEV_COS_CONFIG: COSConfig = { - Region: 'ap-chengdu', // 鎴愰兘鍦板煙 - Bucket: 'ryc-media-1234567890', // 璇锋浛鎹负瀹為檯鐨勫瓨鍌ㄦ《鍚嶇О - // 娉ㄦ剰锛氬湪鐢熶骇鐜涓紝涓嶅簲璇ュ湪鍓嶇浠g爜涓洿鎺ュ啓鍏ュ瘑閽� - // 搴旇閫氳繃鍚庣鎺ュ彛鑾峰彇涓存椂瀵嗛挜 - SecretId: 'AKID_YOUR_SECRET_ID', // 璇锋浛鎹负瀹為檯鐨凷ecretId - SecretKey: 'YOUR_SECRET_KEY', // 璇锋浛鎹负瀹為檯鐨凷ecretKey -} - -// 鐢熶骇鐜搴旇閫氳繃鍚庣API鑾峰彇涓存椂瀵嗛挜 -export const getTemporaryCredentials = async (): Promise<{ - TmpSecretId: string - TmpSecretKey: string - SecurityToken: string - StartTime: number - ExpiredTime: number -}> => { - // 杩欓噷搴旇璋冪敤鍚庣API鑾峰彇涓存椂瀵嗛挜 - // 绀轰緥锛� - // const response = await fetch('/api/cos/credentials') - // return response.json() - - // 涓存椂杩斿洖妯℃嫙鏁版嵁锛堜粎鐢ㄤ簬寮�鍙戞祴璇曪級 - return { - TmpSecretId: DEV_COS_CONFIG.SecretId || '', - TmpSecretKey: DEV_COS_CONFIG.SecretKey || '', - SecurityToken: DEV_COS_CONFIG.SecurityToken || '', - StartTime: Math.round(Date.now() / 1000), - ExpiredTime: Math.round(Date.now() / 1000) + 1800, // 30鍒嗛挓鍚庤繃鏈� - } -} - -// 鏂囦欢瀛樺偍鐩綍閰嶇疆 -export const STORAGE_FOLDERS = { - AVATARS: 'avatars/', - DOCUMENTS: 'documents/', - IMAGES: 'images/', - VIDEOS: 'videos/', - AUDIOS: 'audios/', - OTHERS: 'others/' -} as const - -// 鏂囦欢澶у皬闄愬埗锛堝瓧鑺傦級 -export const FILE_SIZE_LIMITS = { - IMAGE: 10 * 1024 * 1024, // 10MB - VIDEO: 100 * 1024 * 1024, // 100MB - AUDIO: 50 * 1024 * 1024, // 50MB - DOCUMENT: 20 * 1024 * 1024, // 20MB - DEFAULT: 10 * 1024 * 1024 // 10MB -} as const - -// 鏀寔鐨勬枃浠剁被鍨� -export const SUPPORTED_FILE_TYPES = { - IMAGE: ['image/jpeg', 'image/png', 'image/gif', 'image/webp'], - VIDEO: ['video/mp4', 'video/avi', 'video/mov', 'video/wmv'], - AUDIO: ['audio/mp3', 'audio/wav', 'audio/aac', 'audio/ogg'], - DOCUMENT: [ - 'application/pdf', - 'application/msword', - 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', - 'text/plain' - ] +// 鑵捐浜慍OS閰嶇疆鏂囦欢 +// 娉ㄦ剰锛氳繖涓枃浠跺寘鍚晱鎰熶俊鎭紝鍦ㄧ敓浜х幆澧冧腑搴旇閫氳繃鐜鍙橀噺鎴栧悗绔疉PI鑾峰彇 + +export interface COSConfig { + Region: string + Bucket: string + SecretId?: string + SecretKey?: string + SecurityToken?: string +} + +// 寮�鍙戠幆澧冮厤缃紙璇锋浛鎹负瀹為檯鐨勯厤缃俊鎭級 +export const DEV_COS_CONFIG: COSConfig = { + Region: 'ap-chengdu', // 鎴愰兘鍦板煙 + Bucket: 'ryc-media-1234567890', // 璇锋浛鎹负瀹為檯鐨勫瓨鍌ㄦ《鍚嶇О + // 娉ㄦ剰锛氬湪鐢熶骇鐜涓紝涓嶅簲璇ュ湪鍓嶇浠g爜涓洿鎺ュ啓鍏ュ瘑閽� + // 搴旇閫氳繃鍚庣鎺ュ彛鑾峰彇涓存椂瀵嗛挜 + SecretId: 'AKID_YOUR_SECRET_ID', // 璇锋浛鎹负瀹為檯鐨凷ecretId + SecretKey: 'YOUR_SECRET_KEY', // 璇锋浛鎹负瀹為檯鐨凷ecretKey +} + +// 鐢熶骇鐜搴旇閫氳繃鍚庣API鑾峰彇涓存椂瀵嗛挜 +export const getTemporaryCredentials = async (): Promise<{ + TmpSecretId: string + TmpSecretKey: string + SecurityToken: string + StartTime: number + ExpiredTime: number +}> => { + // 杩欓噷搴旇璋冪敤鍚庣API鑾峰彇涓存椂瀵嗛挜 + // 绀轰緥锛� + // const response = await fetch('/api/cos/credentials') + // return response.json() + + // 涓存椂杩斿洖妯℃嫙鏁版嵁锛堜粎鐢ㄤ簬寮�鍙戞祴璇曪級 + return { + TmpSecretId: DEV_COS_CONFIG.SecretId || '', + TmpSecretKey: DEV_COS_CONFIG.SecretKey || '', + SecurityToken: DEV_COS_CONFIG.SecurityToken || '', + StartTime: Math.round(Date.now() / 1000), + ExpiredTime: Math.round(Date.now() / 1000) + 1800, // 30鍒嗛挓鍚庤繃鏈� + } +} + +// 鏂囦欢瀛樺偍鐩綍閰嶇疆 +export const STORAGE_FOLDERS = { + AVATARS: 'avatars/', + DOCUMENTS: 'documents/', + IMAGES: 'images/', + VIDEOS: 'videos/', + AUDIOS: 'audios/', + OTHERS: 'others/' +} as const + +// 鏂囦欢澶у皬闄愬埗锛堝瓧鑺傦級 +export const FILE_SIZE_LIMITS = { + IMAGE: 10 * 1024 * 1024, // 10MB + VIDEO: 100 * 1024 * 1024, // 100MB + AUDIO: 300 * 1024 * 1024, // 300MB + DOCUMENT: 20 * 1024 * 1024, // 20MB + DEFAULT: 10 * 1024 * 1024 // 10MB +} as const + +// 鏀寔鐨勬枃浠剁被鍨� +export const SUPPORTED_FILE_TYPES = { + IMAGE: ['image/jpeg', 'image/png', 'image/gif', 'image/webp'], + VIDEO: ['video/mp4', 'video/avi', 'video/mov', 'video/wmv'], + AUDIO: ['audio/mp3', 'audio/wav', 'audio/aac', 'audio/ogg'], + DOCUMENT: [ + 'application/pdf', + 'application/msword', + 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', + 'text/plain' + ] } as const \ No newline at end of file -- Gitblit v1.8.0