|
...
|
...
|
@@ -11,9 +11,11 @@ namespace App\Http\Logic\Bside\Setting; |
|
|
|
|
|
|
|
use App\Enums\Common\Code;
|
|
|
|
use App\Http\Logic\Bside\BaseLogic;
|
|
|
|
use App\Models\WebSetting\Proofreading;
|
|
|
|
use App\Models\WebSetting\Translate as TranslateModel;
|
|
|
|
use App\Models\WebSetting\WebLanguage;
|
|
|
|
use App\Helper\Translate;
|
|
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
|
|
|
|
class TranslateLogic extends BaseLogic
|
|
|
|
{
|
|
...
|
...
|
@@ -62,7 +64,44 @@ class TranslateLogic extends BaseLogic |
|
|
|
}
|
|
|
|
$this->response('success',Code::SUCCESS,$data);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @remark :获取图片列表
|
|
|
|
* @name :imageList
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2023/11/23 17:29
|
|
|
|
*/
|
|
|
|
public function getTranslateImageList(){
|
|
|
|
$info = $this->model->read(['url'=>$this->param['url'],'language_id'=>$this->param['language_id'],'type'=>$this->param['type']]);
|
|
|
|
$data = [];
|
|
|
|
if($info === false){
|
|
|
|
$new_list = $this->getUrlImageRead($this->param['url']);
|
|
|
|
foreach ($new_list as $v){
|
|
|
|
$data[] = [
|
|
|
|
$v=>$v,
|
|
|
|
];
|
|
|
|
}
|
|
|
|
return $this->response('success',Code::SUCCESS,$data);
|
|
|
|
}
|
|
|
|
$new_list = $this->getUrlImageRead($this->param['url']);
|
|
|
|
$old_list = [];
|
|
|
|
$data = json_decode($info['data'],true);
|
|
|
|
foreach ($data as $k=>$v){
|
|
|
|
$old_list[] = $v;
|
|
|
|
$data[] = [
|
|
|
|
$k=>$v,
|
|
|
|
];
|
|
|
|
}
|
|
|
|
$arr2 = array_values(array_diff($new_list, $old_list));
|
|
|
|
if(!empty($arr2)){
|
|
|
|
foreach ($arr2 as $v1){
|
|
|
|
$data[] = [
|
|
|
|
$v1=>$v1
|
|
|
|
];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$this->response('success',Code::SUCCESS,$data);
|
|
|
|
}
|
|
|
|
/**
|
|
|
|
* @remark :获取语种信息
|
|
|
|
* @name :getLanguage
|
|
...
|
...
|
@@ -117,4 +156,64 @@ class TranslateLogic extends BaseLogic |
|
|
|
$data = array_values($data);
|
|
|
|
return $data;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @remark :获取Url内容
|
|
|
|
* @name :getUrlRead
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2023/11/22 10:02
|
|
|
|
*/
|
|
|
|
public function getUrlImageRead($url){
|
|
|
|
$contextOptions = [
|
|
|
|
'ssl' => [
|
|
|
|
'verify_peer' => false,
|
|
|
|
'verify_peer_name' => false,
|
|
|
|
],
|
|
|
|
];
|
|
|
|
$pattern = '/<img.*?src="(.*?)".*?>/i';
|
|
|
|
$matches = array();
|
|
|
|
$context = stream_context_create($contextOptions);
|
|
|
|
$sourceCode = file_get_contents($url, false, $context);
|
|
|
|
preg_match_all($pattern, $sourceCode, $matches);
|
|
|
|
$textContentArray = $matches[1];
|
|
|
|
$data = [];
|
|
|
|
foreach ($textContentArray as $v){
|
|
|
|
if(!empty($v)){
|
|
|
|
$data[] = $v;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$uniqueArray = array_unique($data);
|
|
|
|
$data = array_values($uniqueArray);
|
|
|
|
return $data;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @name :(新增/更新多语言)save
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2023/6/12 10:52
|
|
|
|
*/
|
|
|
|
public function translateSave(){
|
|
|
|
try {
|
|
|
|
$info = $this->model->read(['language_id'=>$this->param['language_id'],'url'=>$this->param['url'],'type'=>$this->param['type']]);
|
|
|
|
if($info === false){
|
|
|
|
$param = [
|
|
|
|
'type'=>1,
|
|
|
|
'project_id'=>$this->user['project_id'],
|
|
|
|
'url'=>$this->param['url'],
|
|
|
|
'language_id'=>$this->param['language_id'],
|
|
|
|
'alias'=>$this->param['alias'],
|
|
|
|
];
|
|
|
|
$param['data'] = json_encode($this->param['data'],true);
|
|
|
|
$this->model->add($param);
|
|
|
|
}else{
|
|
|
|
$data = json_encode($this->param['data'],true);
|
|
|
|
$this->model->edit(['data'=>$data],['language_id'=>$this->param['language_id'],'url'=>$this->param['url'],'type'=>$this->param['type']]);
|
|
|
|
}
|
|
|
|
}catch (\Exception $e){
|
|
|
|
$this->fail('系统错误请联系管理员');
|
|
|
|
}
|
|
|
|
$this->response('success');
|
|
|
|
}
|
|
|
|
} |
...
|
...
|
|