作者 张关杰

Merge branch 'develop' of http://47.244.231.31:8099/zhl/globalso-v6 into bate

... ... @@ -24,11 +24,10 @@ class TranslateLogic extends BaseLogic
}
/**
* @remark :
* @name :getTranslateList
* @author :lyh
* @method :post
* @time :2024/1/12 9:43
* 获取翻译校对文案
* @return array
* @throws \App\Exceptions\AsideGlobalException
* @throws \App\Exceptions\BsideGlobalException
*/
public function getTranslateList(){
$data = [];
... ... @@ -42,44 +41,46 @@ class TranslateLogic extends BaseLogic
}
return $this->success($data);
}
$url = $this->user['domain'].(($this->param['url'] != '/') ? $this->param['url'] : '');
// 需要校对路由
$url = $this->user['domain'] . (($this->param['url'] != '/') ? $this->param['url'] : '');
// 需要校对语种
$languageInfo = $this->getLanguage($this->param['language_id']);
// 原始校对内容
$info = $this->model->read(['url'=>$this->param['url'],'language_id'=>$this->param['language_id'],'type'=>$this->param['type']]);
//获取当前URl的所有文本内容
$new_key = $this->getUrlRead($url);
if($info === false){
$translate_list = Translate::tran($new_key, $languageInfo['short']);
if(empty($translate_list)){
$this->fail('翻译失败,请联系管理员');
}
foreach ($new_key as $k=>$v){
$data[] = [
trim($v)=>$translate_list[$k],
];
}
return $this->success($data);
}
$text_array = $this->getUrlRead($url);
// 原始校对程序
$old_key = [];//key值组成数据
$data_read = json_decode($info['data'],JSON_UNESCAPED_UNICODE);
foreach ($data_read as $k => $v){
$old_key[] = $k;
$data[] = [$k => $v];
if($info !== false){
$data_read = json_decode($info['data'],JSON_UNESCAPED_UNICODE);
foreach ($data_read as $k => $v){
$old_key[] = $k;
$data[] = [$k => $v];
}
}
$arr2 = array_values(array_diff($new_key, $old_key));
$arr2 = array_values(array_diff($text_array, $old_key));
if(!empty($arr2)){
$i = 0;
TranslateText:
$translate_list = Translate::tran($arr2, $languageInfo['short']);
if(empty($translate_list)){
if ($i < 3) {
$i++;
goto TranslateText;
}
$this->fail('翻译失败,请稍后重试!');
}
if(count($arr2) == 1){
$data[] = [
$arr2[0]=>$translate_list
];
}else{
if(!empty($translate_list)){
foreach ($arr2 as $k => $v){
$data[] = [
trim($v)=>$translate_list[$k]
];
}
foreach ($arr2 as $k => $v){
$data[] = [
trim($v)=>$translate_list[$k]
];
}
}
}
return $this->success($data);
... ... @@ -153,11 +154,9 @@ class TranslateLogic extends BaseLogic
}
/**
* @remark :获取Url内容
* @name :getUrlRead
* @author :lyh
* @method :post
* @time :2023/11/22 10:02
* 获取url HTML需要翻译的文本
* @param $url
* @return array
*/
public function getUrlRead($url){
$dom = file_get_html($url);
... ... @@ -184,10 +183,9 @@ class TranslateLogic extends BaseLogic
}
$need_tran[] = htmlspecialchars_decode(html_entity_decode($string));
}
$need_tran[] = $description->attr['content'];
$need_tran[] = $keywords->attr['content'];
$need_tran[] = $description ? $description->attr['content'] : '';
$need_tran[] = $keywords ? $keywords->attr['content'] : '';
return $need_tran;
return $data;
}
... ...
... ... @@ -27,10 +27,12 @@ class WebSettingAmpLogic extends BaseLogic
if ($info === false) {
return $this->success();
}
//log图处理
$info['top_logo'] = getImageUrl($info['top_logo'], $this->user['storage_type'] ?? 0);
//banner处理
if (!empty($info['index_banner'])) {
foreach ($info['index_banner'] as &$v) {
$v = getImageUrl($v, $this->user['project_location'] ?? 0, $this->user['storage_type'] ?? 0);
$v = getImageUrl($v, $this->user['storage_type'] ?? 0);
}
}
return $this->success($info);
... ... @@ -45,6 +47,8 @@ class WebSettingAmpLogic extends BaseLogic
public function ampSave()
{
try {
//log图处理
$this->param['top_logo'] = str_replace_url($this->param['top_logo'] ?? '');
//banner处理
foreach ($this->param['index_banner'] ?? [] as &$v) {
$v = str_replace_url($v);
... ...