mirror of
https://gitee.com/ulthon/ulthon_admin.git
synced 2026-07-09 03:22:51 +08:00
优化第三方存储链接生成,更符合接口规范;优化上传配置文件;
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
<form id="app-form" class="layui-form layuimini-form">
|
||||
<form id="app-form" class="layui-form layuimini-form show-type">
|
||||
<input type="hidden" name="group_name" value="upload">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label required">存储方式</label>
|
||||
<div class="layui-input-block">
|
||||
{foreach ['local_public'=>'本地存储','alioss'=>'阿里云oss','qnoss'=>'七牛云oss','txcos'=>'腾讯云cos'] as $key=>$val}
|
||||
<input type="radio" v-model="upload_type" name="upload_type" lay-filter="upload_type" value="{$key}" title="{$val}" {if $key==sysconfig('upload','upload_type')}checked=""{/if}>
|
||||
<input type="radio" name="upload_type" lay-filter="upload_type" value="{$key}" title="{$val}" {if $key==sysconfig('upload','upload_type')}checked=""{/if}>
|
||||
{/foreach}
|
||||
</div>
|
||||
</div>
|
||||
@@ -25,7 +25,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item" v-if="upload_type == 'alioss'" v-cloak>
|
||||
<div class="layui-form-item show-type-item alioss" >
|
||||
<label class="layui-form-label required">公钥信息</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="alioss_access_key_id" class="layui-input" lay-verify="required" lay-reqtext="请输入公钥信息" placeholder="请输入公钥信息" value="{:sysconfig('upload','alioss_access_key_id')}">
|
||||
@@ -33,7 +33,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item" v-if="upload_type == 'alioss'" v-cloak>
|
||||
<div class="layui-form-item show-type-item alioss" >
|
||||
<label class="layui-form-label required">私钥信息</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="alioss_access_key_secret" class="layui-input" lay-verify="required" lay-reqtext="请输入私钥信息" placeholder="请输入私钥信息" value="{:sysconfig('upload','alioss_access_key_secret')}">
|
||||
@@ -41,7 +41,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item" v-if="upload_type == 'alioss'" v-cloak>
|
||||
<div class="layui-form-item show-type-item alioss" >
|
||||
<label class="layui-form-label required">数据中心</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="alioss_endpoint" class="layui-input" lay-verify="required" lay-reqtext="请输入数据中心" placeholder="请输入数据中心" value="{:sysconfig('upload','alioss_endpoint')}">
|
||||
@@ -49,7 +49,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item" v-if="upload_type == 'alioss'" v-cloak>
|
||||
<div class="layui-form-item show-type-item alioss" >
|
||||
<label class="layui-form-label required">空间名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="alioss_bucket" class="layui-input" lay-verify="required" lay-reqtext="请输入空间名称" placeholder="请输入空间名称" value="{:sysconfig('upload','alioss_bucket')}">
|
||||
@@ -57,7 +57,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item" v-if="upload_type == 'alioss'" v-cloak>
|
||||
<div class="layui-form-item show-type-item alioss" >
|
||||
<label class="layui-form-label required">访问域名</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="alioss_domain" class="layui-input" lay-verify="required" lay-reqtext="请输入访问域名" placeholder="请输入访问域名" value="{:sysconfig('upload','alioss_domain')}">
|
||||
@@ -65,7 +65,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item" v-if="upload_type == 'txcos'" v-cloak>
|
||||
<div class="layui-form-item show-type-item txcos" >
|
||||
<label class="layui-form-label required">公钥信息</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="txcos_secret_id" class="layui-input" lay-verify="required" lay-reqtext="请输入公钥信息" placeholder="请输入公钥信息" value="{:sysconfig('upload','txcos_secret_id')}">
|
||||
@@ -73,7 +73,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item" v-if="upload_type == 'txcos'" v-cloak>
|
||||
<div class="layui-form-item show-type-item txcos" >
|
||||
<label class="layui-form-label required">私钥信息</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="txcos_secret_key" class="layui-input" lay-verify="required" lay-reqtext="请输入私钥信息" placeholder="请输入私钥信息" value="{:sysconfig('upload','txcos_secret_key')}">
|
||||
@@ -81,7 +81,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item" v-if="upload_type == 'txcos'" v-cloak>
|
||||
<div class="layui-form-item show-type-item txcos" >
|
||||
<label class="layui-form-label required">存储桶地域</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="txcos_region" class="layui-input" lay-verify="required" lay-reqtext="请输入存储桶地域" placeholder="请输入存储桶地域" value="{:sysconfig('upload','txcos_region')}">
|
||||
@@ -89,14 +89,14 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item" v-if="upload_type == 'txcos'" v-cloak>
|
||||
<div class="layui-form-item show-type-item txcos" >
|
||||
<label class="layui-form-label required">存储桶名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="txcos_bucket" class="layui-input" lay-verify="required" lay-reqtext="请输入存储桶名称" placeholder="请输入存储桶名称" value="{:sysconfig('upload','txcos_bucket')}">
|
||||
<tip>例子:ulthon-admin-1251997243</tip>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item" v-if="upload_type == 'txcos'" v-cloak>
|
||||
<div class="layui-form-item show-type-item txcos" >
|
||||
<label class="layui-form-label required">访问域名</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="txcos_domain" class="layui-input" lay-verify="required" lay-reqtext="请输入访问域名" placeholder="请输入访问域名" value="{:sysconfig('upload','txcos_domain')}">
|
||||
@@ -104,7 +104,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item" v-if="upload_type == 'qnoss'" v-cloak>
|
||||
<div class="layui-form-item show-type-item qnoss" >
|
||||
<label class="layui-form-label required">公钥信息</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="qnoss_access_key" class="layui-input" lay-verify="required" lay-reqtext="请输入公钥信息" placeholder="请输入公钥信息" value="{:sysconfig('upload','qnoss_access_key')}">
|
||||
@@ -112,7 +112,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item" v-if="upload_type == 'qnoss'" v-cloak>
|
||||
<div class="layui-form-item show-type-item qnoss" >
|
||||
<label class="layui-form-label required">私钥信息</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="qnoss_secret_key" class="layui-input" lay-verify="required" lay-reqtext="请输入私钥信息" placeholder="请输入私钥信息" value="{:sysconfig('upload','qnoss_secret_key')}">
|
||||
@@ -120,7 +120,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item" v-if="upload_type == 'qnoss'" v-cloak>
|
||||
<div class="layui-form-item show-type-item qnoss" >
|
||||
<label class="layui-form-label required">存储空间</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="qnoss_bucket" class="layui-input" lay-verify="required" lay-reqtext="请输入存储桶地域" placeholder="请输入存储桶地域" value="{:sysconfig('upload','qnoss_bucket')}">
|
||||
@@ -128,7 +128,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item" v-if="upload_type == 'qnoss'" v-cloak>
|
||||
<div class="layui-form-item show-type-item qnoss" >
|
||||
<label class="layui-form-label required">访问域名</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="qnoss_domain" class="layui-input" lay-verify="required" lay-reqtext="请输入访问域名" placeholder="请输入访问域名" value="{:sysconfig('upload','qnoss_domain')}">
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
use app\common\service\AuthService;
|
||||
use think\facade\Cache;
|
||||
use think\facade\Filesystem;
|
||||
use think\facade\Request;
|
||||
use think\route\Url;
|
||||
|
||||
@@ -222,32 +223,11 @@ if (!function_exists('unparse_url')) {
|
||||
}
|
||||
|
||||
|
||||
function build_upload_url($url)
|
||||
function build_upload_url($url, $upload_type = null)
|
||||
{
|
||||
$config = sysconfig('upload');
|
||||
|
||||
|
||||
$upload_type = $config['upload_type'] ?? 'local_public';
|
||||
|
||||
$prefix_url = '';
|
||||
|
||||
switch ($upload_type) {
|
||||
case 'local_public':
|
||||
$prefix_url = Request::domain().'/storage';
|
||||
break;
|
||||
case 'qnoss':
|
||||
$prefix_url = $config['qnoss_domain'];
|
||||
break;
|
||||
case 'alioss':
|
||||
$prefix_url = $config['alioss_domain'];
|
||||
break;
|
||||
case 'txcos':
|
||||
$prefix_url = $config['txcos_domain'];
|
||||
break;
|
||||
|
||||
default:
|
||||
# code...
|
||||
break;
|
||||
if (is_null($upload_type)) {
|
||||
$upload_type = sysconfig('upload', 'upload_type', 'local_public');
|
||||
}
|
||||
return rtrim($prefix_url, '/') . '/' . ltrim($url, '/');
|
||||
return Filesystem::disk($upload_type)->url($url);
|
||||
}
|
||||
|
||||
@@ -50,6 +50,12 @@ class UploadService
|
||||
return $this->validate($file, $allow_ext, $allow_size, true);
|
||||
}
|
||||
|
||||
public function url($save_name)
|
||||
{
|
||||
$url = Filesystem::disk($this->uploadType)->url($save_name);
|
||||
return $url;
|
||||
}
|
||||
|
||||
public function save(File $file)
|
||||
{
|
||||
|
||||
@@ -73,7 +79,7 @@ class UploadService
|
||||
return date('Ymd') . '/' . uniqid();
|
||||
});
|
||||
|
||||
$url = build_upload_url($save_name);
|
||||
$url = $this->url($save_name);
|
||||
|
||||
$model_file->url = $url;
|
||||
$model_file->save_name = $save_name;
|
||||
|
||||
Reference in New Issue
Block a user