Files
amb_wechatapp/addons/alivod/Alivod.php
T

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;
}
}