98 lines
2.4 KiB
PHP
98 lines
2.4 KiB
PHP
<?php
|
|
|
|
namespace addons\alivod;
|
|
|
|
use think\Addons;
|
|
use think\Loader;
|
|
use think\App;
|
|
/**
|
|
* Alivod
|
|
*/
|
|
class Alivod extends Addons
|
|
{
|
|
|
|
/**
|
|
* 插件安装方法
|
|
* @return bool
|
|
*/
|
|
public function install()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* 插件卸载方法
|
|
* @return bool
|
|
*/
|
|
public function uninstall()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* 添加命名空间
|
|
*/
|
|
public function appInit()
|
|
{
|
|
if (!class_exists("\\vodsdk\AliyunVodUploader")) {
|
|
//添加支付包的命名空间
|
|
Loader::addNamespace('vodsdk', ADDON_PATH . 'alivod' . DS . 'library' . DS . 'Vod' . DS . 'uploader' . DS);
|
|
}
|
|
if (!class_exists("\ShaoZeMing")) {
|
|
//添加支付包的命名空间
|
|
Loader::addNamespace('ShaoZeMing', ADDON_PATH . 'alivod' . DS . 'library' . DS . 'ShaoZeMing' . DS);
|
|
|
|
}
|
|
|
|
require_once ADDON_PATH . 'alivod' . DS . 'library' . DS . 'Vod' . DS . 'Autoloader.php';
|
|
|
|
|
|
}
|
|
|
|
/**
|
|
* 判断是否来源于API上传
|
|
*/
|
|
public function moduleInit($request)
|
|
{
|
|
$config = \app\common\model\config\System::getConfig('alivod');
|
|
$module = strtolower($request->module());
|
|
$file = request()->file('file');
|
|
// 判断api/common/upload 是否使用云存储上传
|
|
if (strtolower($request->action()) == 'upload' && $config['status'] == 'open' && (strpos($file->getInfo()['type'], "audio") !== false || strpos($file->getInfo()['type'], "video") !== false)) {
|
|
$isApi = false;
|
|
if($module == 'api'){
|
|
$isApi = true;
|
|
}
|
|
request()->param('isApi', $isApi);
|
|
App::invokeMethod(["\\addons\\alivod\\controller\\Index", "upload"], ['isApi' => $isApi]);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 加载配置
|
|
*/
|
|
public function uploadConfigInit(&$upload)
|
|
{
|
|
}
|
|
|
|
/**
|
|
* 附件删除后
|
|
*/
|
|
public function uploadDelete($attachment)
|
|
{
|
|
$config = \app\common\model\config\System::getConfig('alivod');
|
|
if ($attachment['storage'] == 'alivod' && $config['syncdelete']) {
|
|
// 删除云存储端文件
|
|
try {
|
|
$UploadService = new \ShaoZeMing\AliVod\Services\FileService();
|
|
$UploadService->deleteVideo($attachment['url']);
|
|
} catch (\Exception $e) {
|
|
return true;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
|
|
}
|