之前做过一版:tp6 bingher/ueditor(百度编辑器)(七牛、阿里OSS第三方云)详情图文教程_我是高手高手高高手的博客-CSDN博客
登录权限是Session,现在系统是Cookie加jwt的Token方式验证
一、修改验证登录权限
修改文件: vendor\bingher\ueditor\src\controller\Base.php
1.1 引用自己的验证登录方法
use think\facade\Cookie;
use app\services\jwt\JwtAdmin as Jwt;
1.2 获取登录用户信息,这里需要企业ID,在这里public function __construct()加入
//验证登录
$CookieToken=Cookie::get(Jwt::getName())?Cookie::get(Jwt::getName()):"";//获取Cookie中的Token
if(!$CookieToken){
throw new HttpResponseException($this->error("请登录!"));
}
$manager = Jwt::setToken($CookieToken);
$tokeInfo=$manager->auth(true);
// var_dump($adminuserinfoArr['data']['enterprise']['id']);
if(!$tokeInfo){
throw new HttpResponseException($this->error("非法数据!"));
}
$adminuserinfoArr=$manager->getPayload();//获取用户信息
$this->enterprise_id = $adminuserinfoArr['data']['enterprise']['id'] ;
二、上传接入第三方OSS
vendor\bingher\ueditor\src\controller\Ueditor.php
把企业ID传入$this->config对象中
$fsConfig['enterprise_id'] = $this->enterprise_id;
Config::set($fsConfig, 'filesystem');
2.1 修改private function _upFile($config)
$pathData = \app\services\upload\model\GetFileInfoModel::fileOssTypePath(!empty(Config::get('filesystem'))?Config::get('filesystem')['enterprise_id']:0);
$path = !empty($pathData['data']['path'])?$pathData['data']['path']:'';
'url' => \app\services\upload\model\GetFileInfoModel::GetFileUrl($saveName),
像其它文件大小、格式之类
我常量设置大小设置的是K,所以要*1024;
格式:转为数组
三、修改vendor\bingher\ueditor\src\config\UeConfig.php文件的方法
public function initFilesystem(string $diskName = 'ueditor')
$pathData = \app\services\upload\model\GetFileInfoModel::fileOssTypePath(!empty(Config::get('filesystem'))?Config::get('filesystem')['enterprise_id']:0);
$public_path = !empty($pathData['data']['public_path'])?$pathData['data']['public_path']:'';
return (new \yzh52521\filesystem\Filesystem(app()))->disk($public_path);