From 33f004d1196d056b99a3886de070d429315bac39 Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Thu, 11 Dec 2025 18:12:38 +0800
Subject: [PATCH] 将分类改为多选 修复活动报名 实现成为vip会员时根据活动报名信息绑定下级

---
 admin/app/api/controller/file/Upload.php |   22 ++++++++++++++++------
 1 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/admin/app/api/controller/file/Upload.php b/admin/app/api/controller/file/Upload.php
index 030e091..5c13a09 100644
--- a/admin/app/api/controller/file/Upload.php
+++ b/admin/app/api/controller/file/Upload.php
@@ -29,14 +29,15 @@
 
     /**
      * 图片上传接口
+     * $is_original: 生成缩略图后,是否保留原图
      */
-    public function image()
+    public function image($file_type = 'image', $is_original = false)
     {
         // 实例化存储驱动
         $StorageDriver = new StorageDriver($this->config);
         // 图片信息
         $fileInfo = request()->file('iFile');
-        if(!$StorageDriver->validate('iFile', $fileInfo, 'image')){
+        if(!$StorageDriver->validate('iFile', $fileInfo, $file_type)){
             return json(['code' => 0, 'msg' => $StorageDriver->getError()]);
         }
         // 设置上传文件的信息
@@ -44,25 +45,32 @@
         // 上传图片
         $saveName = $StorageDriver->upload();
         if ($saveName == '') {
-            return json(['code' => 0, 'msg' => '图片上传失败' . $StorageDriver->getError()]);
+            return json(['code' => 0, 'msg' => '上传失败' . $StorageDriver->getError()]);
         }
         $saveName = str_replace('\\', '/', $saveName);
+        // 生成缩略图并获取原图路径
+        $originalName = '';
+        if ($file_type == 'image') {
+            if($this->config['default']!='aliyun'){
+                $originalName = $StorageDriver->createThumb($saveName, $is_original);
+            }
+        }
         // 图片上传路径
         $fileName = $StorageDriver->getFileName();
         // 添加文件库记录
-        $uploadFile = $this->addUploadFile($fileName, $fileInfo, 'image', $saveName);
+        $uploadFile = $this->addUploadFile($fileName, $fileInfo, $file_type, $saveName, $originalName);
         $data = [
             'file_id' => $uploadFile->file_id,
             'file_path' => $uploadFile['file_path'],
         ];
         // 图片上传成功
-        return json(['code' => 1, 'msg' => '图片上传成功', 'data' => $data]);
+        return json(['code' => 1, 'msg' => '上传成功', 'data' => $data]);
     }
 
     /**
      * 添加文件库上传记录
      */
-    private function addUploadFile($fileName, $fileInfo, $fileType, $savename)
+    private function addUploadFile($fileName, $fileInfo, $fileType, $savename, $originalName = '')
     {
         // 存储引擎
         $storage = $this->config['default'];
@@ -77,6 +85,8 @@
             'file_url' => $fileUrl,
             'file_name' => $fileName,
             'save_name' => $savename,
+            'original_name' => $originalName, // 原图路径 by lyzflash
+            'is_original' => $originalName ? 1 : 0,
             'file_size' => $fileInfo->getSize(),
             'file_type' => $fileType,
             'extension' => $fileInfo->getOriginalExtension(),

--
Gitblit v1.9.2