作者 李宇航

合并分支 'develop' 到 'master'

Develop



查看合并请求 !473
@@ -26,10 +26,11 @@ class TranslateLogic extends BaseLogic @@ -26,10 +26,11 @@ class TranslateLogic extends BaseLogic
26 } 26 }
27 27
28 /** 28 /**
29 - * 获取翻译校对文案  
30 - * @return array  
31 - * @throws \App\Exceptions\AsideGlobalException  
32 - * @throws \App\Exceptions\BsideGlobalException 29 + * @remark :
  30 + * @name :getTranslateList
  31 + * @author :lyh
  32 + * @method :post
  33 + * @time :2024/4/9 10:59
33 */ 34 */
34 public function getTranslateList(){ 35 public function getTranslateList(){
35 $data = []; 36 $data = [];
@@ -49,18 +50,22 @@ class TranslateLogic extends BaseLogic @@ -49,18 +50,22 @@ class TranslateLogic extends BaseLogic
49 $languageInfo = $this->getLanguage($this->param['language_id']); 50 $languageInfo = $this->getLanguage($this->param['language_id']);
50 // 原始校对内容 51 // 原始校对内容
51 $info = $this->model->read(['url'=>$this->param['url'],'language_id'=>$this->param['language_id'],'type'=>$this->param['type']]); 52 $info = $this->model->read(['url'=>$this->param['url'],'language_id'=>$this->param['language_id'],'type'=>$this->param['type']]);
  53 + //获取当前URl的所有文本内容
  54 + $text_array = $this->getUrlRead($url);
  55 + // 原始校对程序
  56 + $old_key = [];//key值组成数据
52 if($info !== false){ 57 if($info !== false){
53 $data_read = json_decode($info['data'],JSON_UNESCAPED_UNICODE); 58 $data_read = json_decode($info['data'],JSON_UNESCAPED_UNICODE);
54 foreach ($data_read as $k => $v){ 59 foreach ($data_read as $k => $v){
  60 + $old_key[] = $k;
55 $data[] = [$k => $v]; 61 $data[] = [$k => $v];
56 } 62 }
57 - return $this->success($data);  
58 - }else{  
59 - //获取当前URl的所有文本内容  
60 - $text_array = $this->getUrlRead($url); 63 + }
  64 + $arr2 = array_values(array_diff($text_array, $old_key));
  65 + if(!empty($arr2)){
61 $i = 0; 66 $i = 0;
62 TranslateText: 67 TranslateText:
63 - $translate_list = Translate::tran($text_array, $languageInfo['short']); 68 + $translate_list = Translate::tran($arr2, $languageInfo['short']);
64 if(empty($translate_list)){ 69 if(empty($translate_list)){
65 if ($i < 3) { 70 if ($i < 3) {
66 $i++; 71 $i++;
@@ -68,57 +73,22 @@ class TranslateLogic extends BaseLogic @@ -68,57 +73,22 @@ class TranslateLogic extends BaseLogic
68 } 73 }
69 $this->fail('翻译失败,请稍后重试!'); 74 $this->fail('翻译失败,请稍后重试!');
70 } 75 }
71 - if(count($text_array) == 1){ 76 + if(count($arr2) == 1){
72 $data[] = [ 77 $data[] = [
73 - $text_array[0]=>$translate_list 78 + $arr2[0]=>$translate_list
74 ]; 79 ];
75 }else{ 80 }else{
76 - foreach ($text_array as $k => $v){ 81 + foreach ($arr2 as $k => $v){
77 $data[] = [ 82 $data[] = [
78 $v=>$translate_list[$k] 83 $v=>$translate_list[$k]
79 ]; 84 ];
80 } 85 }
  86 +
81 } 87 }
82 - return $this->success($data);  
83 } 88 }
  89 + return $this->success($data);
84 } 90 }
85 91
86 - // $old_key = [];//key值组成数据  
87 - // if($info !== false){  
88 - // $data_read = json_decode($info['data']);  
89 - // foreach ($data_read as $k => $v){  
90 - //// if(!in_array($k,$text_array)){  
91 - //// $arr2[] = $k;  
92 - //// }  
93 - //// $old_key[] = $k;  
94 - // $data[] = [$k => $v];  
95 - // }  
96 - // }else{  
97 - // $arr2 = array_values(array_diff($text_array, $old_key));  
98 - // }  
99 - // if(!empty($arr2)){  
100 - // $i = 0;  
101 - // TranslateText:  
102 - // $translate_list = Translate::tran($arr2, $languageInfo['short']);  
103 - // if(empty($translate_list)){  
104 - // if ($i < 3) {  
105 - // $i++;  
106 - // goto TranslateText;  
107 - // }  
108 - // $this->fail('翻译失败,请稍后重试!');  
109 - // }  
110 - // if(count($arr2) == 1){  
111 - // $data[] = [  
112 - // $arr2[0]=>$translate_list  
113 - // ];  
114 - // }else{  
115 - // foreach ($arr2 as $k => $v){  
116 - // $data[] = [  
117 - // $v=>$translate_list[$k]  
118 - // ];  
119 - // }  
120 - // }  
121 - // }  
122 92
123 /** 93 /**
124 * @remark :获取图片列表 94 * @remark :获取图片列表