作者 lyh

gx

... ... @@ -3,8 +3,11 @@
namespace App\Http\Controllers\Bside\Setting;
use App\Enums\Common\Code;
use App\Helper\Translate;
use App\Http\Controllers\Bside\BaseController;
use App\Http\Logic\Bside\Setting\ProofreadingLogic;
use App\Models\WebSetting\Proofreading;
use App\Models\WebSetting\WebSettingCountry;
class ProofreadingController extends BaseController
{
... ... @@ -16,18 +19,47 @@ class ProofreadingController extends BaseController
* @method :post
* @time :2023/6/12 10:52
*/
public function lists(ProofreadingLogic $proofreadingLogic){
//默认显示语言为英语
if(!isset($this->map['language_id']) || empty($this->map['language_id'])){
$this->map['language_id'] = $this::LANGUAGE_ID;
public function lists(){
//获取语种信息
$webSettingCountryModel = new WebSettingCountry();
$countryInfo = $webSettingCountryModel->read(['id'=>$this->param['language_id']]);
//获取当前链接和语种的校队列表
$proofreadingModel = new Proofreading();
$list = $proofreadingModel->list(['url'=>$this->param['url'],'language_id'=>$this->param['language_id'],'type'=>1],'id',['id','text','translate']);
//获取当前URl的所有文本内容
$new_list = $this->getUrlRead($this->param['url']);
if(empty($list)){
$data = [];
foreach ($new_list as $v){
$data[] = [
'text'=>$v,
'translate'=>Translate::tran($v, $countryInfo['alias']),
];
}
return $this->response('success',Code::SUCCESS,$data);
}
$old_list = [];
$arr = [];
foreach ($list as $v){
$old_list[] = $v['text'];
$arr[$v['text']] = $v['translate'];
}
$lists = $proofreadingLogic->proofreadingList($this->map,$this->page,$this->row);
if(!empty($lists['list']) && ($this->param['type'] == $this::TYPE_IMAGE)){
foreach ($lists['list'] as $k => $v){
$lists['list'][$k]['image_link'] = getImageUrl($v['translate']);
$data_list = array_merge(array_diff($old_list, $new_list),array_diff($new_list, $old_list));
$data = [];
foreach ($data_list as $v){
if(isset($arr[$v])){
$data[] = [
'text'=>$v,
'translate'=>$arr[$v],
];
}else{
$data[] = [
'text'=>$v,
'translate'=>Translate::tran($v, $countryInfo['alias']),
];
}
}
$this->response('success',Code::SUCCESS,$lists);
$this->response('success',Code::SUCCESS,$data);
}
/**
... ...