修改composer
This commit is contained in:
86
package/filesystem-cloud/src/Filesystem.php
Normal file
86
package/filesystem-cloud/src/Filesystem.php
Normal file
@@ -0,0 +1,86 @@
|
||||
<?php
|
||||
namespace jaguarjack\filesystem\cloud;
|
||||
|
||||
use think\exception\InvalidArgumentException;
|
||||
use think\filesystem\Driver;
|
||||
use think\helper\Arr;
|
||||
use think\helper\Str;
|
||||
use think\Manager;
|
||||
|
||||
class Filesystem extends Manager
|
||||
{
|
||||
protected $namespace = __NAMESPACE__ . '\\drivers\\';
|
||||
|
||||
/**
|
||||
* @param null|string $name
|
||||
* @return Driver
|
||||
*/
|
||||
public function disk(string $name = null): Driver
|
||||
{
|
||||
return $this->driver($name);
|
||||
}
|
||||
|
||||
protected function resolveType(string $name)
|
||||
{
|
||||
return $this->getDiskConfig($name, 'type', 'local');
|
||||
}
|
||||
|
||||
protected function resolveConfig(string $name)
|
||||
{
|
||||
return $this->getDiskConfig($name);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取缓存配置
|
||||
* @access public
|
||||
* @param null|string $name 名称
|
||||
* @param mixed $default 默认值
|
||||
* @return mixed
|
||||
*/
|
||||
public function getConfig(string $name = null, $default = null)
|
||||
{
|
||||
if (!is_null($name)) {
|
||||
return $this->app->config->get('filesystem.' . $name, $default);
|
||||
}
|
||||
|
||||
return $this->app->config->get('filesystem');
|
||||
}
|
||||
|
||||
public function resolveClass(string $type): string
|
||||
{
|
||||
if ($this->namespace || false !== strpos($type, '\\')) {
|
||||
$class = false !== strpos($type, '\\') ? $type : $this->namespace . Str::studly($type) . 'Driver';
|
||||
|
||||
if (class_exists($class)) {
|
||||
return $class;
|
||||
}
|
||||
}
|
||||
|
||||
throw new InvalidArgumentException("Driver [$type] not supported.");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取磁盘配置
|
||||
* @param string $disk
|
||||
* @param null $name
|
||||
* @param null $default
|
||||
* @return array
|
||||
*/
|
||||
public function getDiskConfig($disk, $name = null, $default = null)
|
||||
{
|
||||
if ($config = $this->getConfig("disks.{$disk}")) {
|
||||
return Arr::get($config, $name, $default);
|
||||
}
|
||||
|
||||
throw new InvalidArgumentException("Disk [$disk] not found.");
|
||||
}
|
||||
|
||||
/**
|
||||
* 默认驱动
|
||||
* @return string|null
|
||||
*/
|
||||
public function getDefaultDriver()
|
||||
{
|
||||
return $this->getConfig('default');
|
||||
}
|
||||
}
|
10
package/filesystem-cloud/src/Service.php
Normal file
10
package/filesystem-cloud/src/Service.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
namespace jaguarjack\filesystem\cloud;
|
||||
|
||||
class Service extends \think\Service
|
||||
{
|
||||
public function register()
|
||||
{
|
||||
$this->app->bind('filesystem', Filesystem::class);
|
||||
}
|
||||
}
|
7
package/filesystem-cloud/src/drivers/Local.php
Normal file
7
package/filesystem-cloud/src/drivers/Local.php
Normal file
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
namespace jaguarjack\filesystem\cloud\drivers;
|
||||
|
||||
class Local extends \think\filesystem\driver\Local
|
||||
{
|
||||
|
||||
}
|
34
package/filesystem-cloud/src/drivers/OssDriver.php
Normal file
34
package/filesystem-cloud/src/drivers/OssDriver.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
namespace jaguarjack\filesystem\cloud\drivers;
|
||||
|
||||
use Iidestiny\Flysystem\Oss\OssAdapter;
|
||||
use League\Flysystem\AdapterInterface;
|
||||
use OSS\Core\OssException;
|
||||
use think\filesystem\Driver;
|
||||
|
||||
class OssDriver extends Driver
|
||||
{
|
||||
/**
|
||||
*
|
||||
* @return AdapterInterface
|
||||
* @throws OssException
|
||||
* @author JaguarJack
|
||||
* @email njphper@gmail.com
|
||||
* @time 2020/1/25
|
||||
*/
|
||||
protected function createAdapter(): AdapterInterface
|
||||
{
|
||||
// TODO: Implement createAdapter() method.
|
||||
$ossConfig = \config('filesystem.disks.oss');
|
||||
|
||||
return new OssAdapter(
|
||||
$ossConfig['access_key'],
|
||||
$ossConfig['assess_secret'],
|
||||
$ossConfig['end_point'],
|
||||
$ossConfig['bucket'],
|
||||
$ossConfig['is_cname'],
|
||||
$ossConfig['prefix']
|
||||
);
|
||||
}
|
||||
|
||||
}
|
16
package/filesystem-cloud/src/drivers/QcloudDriver.php
Normal file
16
package/filesystem-cloud/src/drivers/QcloudDriver.php
Normal file
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
namespace jaguarjack\filesystem\cloud\drivers;
|
||||
|
||||
use League\Flysystem\AdapterInterface;
|
||||
use Overtrue\Flysystem\Cos\CosAdapter;
|
||||
use think\filesystem\Driver;
|
||||
|
||||
class QcloudDriver extends Driver
|
||||
{
|
||||
|
||||
protected function createAdapter(): AdapterInterface
|
||||
{
|
||||
// TODO: Implement createAdapter() method.
|
||||
return new CosAdapter(\config('filesystem.disks.qcloud'));
|
||||
}
|
||||
}
|
18
package/filesystem-cloud/src/drivers/QiniuDriver.php
Normal file
18
package/filesystem-cloud/src/drivers/QiniuDriver.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
namespace jaguarjack\filesystem\cloud\drivers;
|
||||
|
||||
use League\Flysystem\AdapterInterface;
|
||||
use Overtrue\Flysystem\Qiniu\QiniuAdapter;
|
||||
use think\filesystem\Driver;
|
||||
|
||||
class QiniuDriver extends Driver
|
||||
{
|
||||
|
||||
protected function createAdapter(): AdapterInterface
|
||||
{
|
||||
// TODO: Implement createAdapter() method.
|
||||
$qiniuConfig = \config('filesystem.disks.qiniu');
|
||||
|
||||
return new QiniuAdapter($qiniuConfig['access_key'], $qiniuConfig['secret_key'], $qiniuConfig['bucket'], $qiniuConfig['domain']);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user