Sfoglia il codice sorgente

♻️ refactor(files): update file API routes and minio URL generation

- 修改文件删除接口路径从'/'为'/{id}',统一路由参数格式
- 调整获取文件URL接口路径从'/url'为'/{id}/url',优化路由层级
- 更新路由注册顺序,确保正确匹配文件相关接口
- 修改minio服务URL生成逻辑:
  - 更改HTTPS判断条件,默认使用HTTPS除非显式设置为false
  - 使用MINIO_HOST环境变量替代MINIO_ENDPOINT构建URL
yourname 4 mesi fa
parent
commit
2cdcf39b41

+ 1 - 1
src/server/api/files/[id]/delete.ts

@@ -8,7 +8,7 @@ import { authMiddleware } from '@/server/middleware/auth.middleware';
 // 删除文件路由
 const deleteFileRoute = createRoute({
   method: 'delete',
-  path: '/',
+  path: '/{id}',
   middleware: [authMiddleware],
   request: {
     params: z.object({

+ 1 - 1
src/server/api/files/[id]/get-url.ts

@@ -9,7 +9,7 @@ import { authMiddleware } from '@/server/middleware/auth.middleware';
 // 获取文件URL路由
 const getFileUrlRoute = createRoute({
   method: 'get',
-  path: '/url',
+  path: '/{id}/url',
   middleware: [authMiddleware],
   request: {
     params: z.object({

+ 2 - 2
src/server/api/files/index.ts

@@ -28,8 +28,8 @@ const app = new OpenAPIHono<AuthContext>()
   .route('/upload-policy', uploadPolicyRoute)
   .route('/multipart-policy', multipartPolicyRoute)
   .route('/multipart-complete', completeMultipartRoute)
-  .route('/{id}', getUrlRoute)
+  .route('/', getUrlRoute)
+  .route('/', deleteRoute)
   .route('/', fileRoutes)
-  .route('/{id}', deleteRoute)
 
 export default app;

+ 2 - 2
src/server/modules/files/minio.service.ts

@@ -90,9 +90,9 @@ export class MinioService {
 
   // 生成文件访问URL
   getFileUrl(bucketName: string, fileKey: string) {
-    const protocol = process.env.MINIO_USE_SSL ? 'https' : 'http';
+    const protocol = process.env.MINIO_USE_SSL !== 'false' ? 'https' : 'http';
     const port = process.env.MINIO_PORT ? `:${process.env.MINIO_PORT}` : '';
-    return `${protocol}://${process.env.MINIO_ENDPOINT}${port}/${bucketName}/${fileKey}`;
+    return `${protocol}://${process.env.MINIO_HOST}${port}/${bucketName}/${fileKey}`;
   }
 
   // 创建分段上传会话