176 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			176 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			PHP
		
	
	
|  | <?php | |||
|  | // +----------------------------------------------------------------------
 | |||
|  | // | likeshop开源商城系统
 | |||
|  | // +----------------------------------------------------------------------
 | |||
|  | // | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
 | |||
|  | // | gitee下载:https://gitee.com/likeshop_gitee
 | |||
|  | // | github下载:https://github.com/likeshop-github
 | |||
|  | // | 访问官网:https://www.likeshop.cn
 | |||
|  | // | 访问社区:https://home.likeshop.cn
 | |||
|  | // | 访问手册:http://doc.likeshop.cn
 | |||
|  | // | 微信公众号:likeshop技术社区
 | |||
|  | // | likeshop系列产品在gitee、github等公开渠道开源版本可免费商用,未经许可不能去除前后端官方版权标识
 | |||
|  | // |  likeshop系列产品收费版本务必购买商业授权,购买去版权授权后,方可去除前后端官方版权标识
 | |||
|  | // | 禁止对系统程序代码以任何目的,任何形式的再发布
 | |||
|  | // | likeshop团队版权所有并拥有最终解释权
 | |||
|  | // +----------------------------------------------------------------------
 | |||
|  | // | author: likeshop.cn.team
 | |||
|  | // +----------------------------------------------------------------------
 | |||
|  | 
 | |||
|  | 
 | |||
|  | namespace app\admin\controller\setting; | |||
|  | 
 | |||
|  | 
 | |||
|  | use app\common\basics\AdminBase; | |||
|  | use app\common\server\ConfigServer; | |||
|  | use app\common\server\JsonServer; | |||
|  | 
 | |||
|  | /** | |||
|  |  * 上传设置 | |||
|  |  * Class StorageConfig | |||
|  |  * @package app\admin\controller | |||
|  |  */ | |||
|  | class StorageConfig extends AdminBase | |||
|  | { | |||
|  |     /** | |||
|  |      * Notes: 存储引擎列表 | |||
|  |      * @author 张无忌(2021/2/22 11:43) | |||
|  |      * @return mixed | |||
|  |      */ | |||
|  |     public function lists() | |||
|  |     { | |||
|  |         if ($this->request->isAjax()) { | |||
|  |             $default = ConfigServer::get('storage', 'default', ''); | |||
|  |             $data = [ | |||
|  |                 [ | |||
|  |                     'name'   => '本地存储', | |||
|  |                     'path'   => '存储在本地服务器', | |||
|  |                     'engine' => 'local', | |||
|  |                     'status' => $default == 'local' ? 1 : 0 | |||
|  |                 ], | |||
|  |                 [ | |||
|  |                     'name'   => '七牛云存储', | |||
|  |                     'path'   => '存储在七牛云,请前往七牛云开通存储服务', | |||
|  |                     'engine' => 'qiniu', | |||
|  |                     'status' => $default == 'qiniu' ? 1 : 0 | |||
|  |                 ], | |||
|  |                 [ | |||
|  |                     'name'   => '阿里云OSS', | |||
|  |                     'path'   => '存储在阿里云,请前往阿里云开通存储服务', | |||
|  |                     'engine' => 'aliyun', | |||
|  |                     'status' => $default == 'aliyun' ? 1 : 0 | |||
|  |                 ], | |||
|  |                 [ | |||
|  |                     'name'   => '腾讯云OSS', | |||
|  |                     'path'   => '存储在腾讯云,请前往腾讯云开通存储服务', | |||
|  |                     'engine' => 'qcloud', | |||
|  |                     'status' => $default == 'qcloud' ? 1 : 0 | |||
|  |                 ] | |||
|  |             ]; | |||
|  |             return JsonServer::success('获取成功', ['lists' => $data]); | |||
|  |         } | |||
|  |         return view(); | |||
|  |     } | |||
|  | 
 | |||
|  |     /** | |||
|  |      * Notes: 编辑存储引擎 | |||
|  |      * @author 张无忌(2021/2/22 11:43) | |||
|  |      * @return mixed | |||
|  |      */ | |||
|  |     public function edit() | |||
|  |     { | |||
|  |         if ($this->request->isAjax()) { | |||
|  |             $engine= $this->request->post('engine'); | |||
|  |             $post = $this->request->post(); | |||
|  | 
 | |||
|  |             if ($engine === 'qiniu') { | |||
|  | 
 | |||
|  |                 try { | |||
|  |                     ConfigServer::set('storage_engine', 'qiniu', [ | |||
|  |                         'bucket'     => $post['qiniu_bucket'], | |||
|  |                         'access_key' => $post['qiniu_ak'], | |||
|  |                         'secret_key' => $post['qiniu_sk'], | |||
|  |                         'domain'     => $post['qiniu_domain'] | |||
|  |                     ]); | |||
|  |                 } catch (\Exception $e) { | |||
|  |                     return JsonServer::error('设置失败:'.$e->getMessage()); | |||
|  |                 } | |||
|  |                 return JsonServer::success('设置成功'); | |||
|  | 
 | |||
|  |             } elseif ($engine === 'aliyun') { | |||
|  | 
 | |||
|  |                 try { | |||
|  |                     ConfigServer::set('storage_engine', 'aliyun', [ | |||
|  |                         'bucket'            => $post['aliyun_bucket'], | |||
|  |                         'access_key_id'     => $post['aliyun_ak'], | |||
|  |                         'access_key_secret' => $post['aliyun_sk'], | |||
|  |                         'domain'            => $post['aliyun_domain'] | |||
|  |                     ]); | |||
|  |                 } catch (\Exception $e) { | |||
|  |                     return JsonServer::error('设置失败:'.$e->getMessage()); | |||
|  |                 } | |||
|  |                 return JsonServer::success('设置成功'); | |||
|  | 
 | |||
|  |             } elseif ($engine === 'qcloud') { | |||
|  | 
 | |||
|  |                 try { | |||
|  |                     ConfigServer::set('storage_engine', 'qcloud', [ | |||
|  |                         'bucket'     => $post['qcloud_bucket'], | |||
|  |                         'region'     => $post['qcloud_region'], | |||
|  |                         'secret_id'  => $post['qcloud_ak'], | |||
|  |                         'secret_key' => $post['qcloud_sk'], | |||
|  |                         'domain'     => $post['qcloud_domain'] | |||
|  |                     ]); | |||
|  |                 } catch (\Exception $e) { | |||
|  |                     return JsonServer::error('设置失败:'.$e->getMessage()); | |||
|  |                 } | |||
|  |                 return JsonServer::success('设置成功'); | |||
|  |             } | |||
|  |             return JsonServer::error('您设置的存储引擎不存在'); | |||
|  |         } | |||
|  | 
 | |||
|  |         $engine = $this->request->get('engine'); | |||
|  |         $storage = [ | |||
|  |             'qiniu' => ConfigServer::get('storage_engine', 'qiniu', [ | |||
|  |                 'bucket'     => '', | |||
|  |                 'access_key' => '', | |||
|  |                 'secret_key' => '', | |||
|  |                 'domain'     => 'http://' | |||
|  |             ]), | |||
|  |             'aliyun' => ConfigServer::get('storage_engine', 'aliyun', [ | |||
|  |                 'bucket'     => '', | |||
|  |                 'access_key_id' => '', | |||
|  |                 'access_key_secret' => '', | |||
|  |                 'domain'     => 'http://' | |||
|  |             ]), | |||
|  |             'qcloud' => ConfigServer::get('storage_engine', 'qcloud', [ | |||
|  |                 'bucket'     => '', | |||
|  |                 'region'     => '', | |||
|  |                 'secret_id'  => '', | |||
|  |                 'secret_key' => '', | |||
|  |                 'domain'     => 'http://' | |||
|  |             ]) | |||
|  |         ]; | |||
|  |         return view('', [ | |||
|  |             'engine' => $engine, | |||
|  |             'storage' => $storage, | |||
|  |         ]); | |||
|  |     } | |||
|  | 
 | |||
|  |     /** | |||
|  |      * Notes: 切换存储引擎 | |||
|  |      * @author 张无忌(2021/2/22 11:43) | |||
|  |      */ | |||
|  |     public function changeEngine() | |||
|  |     { | |||
|  |         if ($this->request->isAjax()) { | |||
|  |             $post = $this->request->post(); | |||
|  |             try { | |||
|  |                 ConfigServer::set('storage', 'default', $post['engine']); | |||
|  |             } catch (\Exception $e) { | |||
|  |                 return JsonServer::error('切换失败:'.$e->getMessage()); | |||
|  |             } | |||
|  |             return JsonServer::success('切换成功'); | |||
|  |         } | |||
|  |     } | |||
|  | } |