|
@@ -67,20 +67,16 @@ class TranslateController extends BaseController |
|
@@ -67,20 +67,16 @@ class TranslateController extends BaseController |
|
67
|
$res_data['language_id'] = $this->param['language_id'];
|
67
|
$res_data['language_id'] = $this->param['language_id'];
|
|
68
|
$this->map['type'] = 1;
|
68
|
$this->map['type'] = 1;
|
|
69
|
$data = $translate->formatQuery($this->map)->with('translate_data')->get()->toArray();
|
69
|
$data = $translate->formatQuery($this->map)->with('translate_data')->get()->toArray();
|
|
70
|
- $keyModel = new TranslateKey();
|
|
|
|
71
|
- $keyList = $keyModel->list([],'id',['*'],'asc');
|
|
|
|
72
|
- if(empty($data) && empty($keyList)){
|
|
|
|
73
|
- $this->response('导出数据为空',Code::SYSTEM_ERROR);
|
|
|
|
74
|
- }
|
|
|
|
75
|
if(empty($data)){
|
70
|
if(empty($data)){
|
|
|
|
71
|
+ $keyModel = new TranslateKey();
|
|
|
|
72
|
+ $keyList = $keyModel->list([],'id',['*'],'asc');
|
|
|
|
73
|
+ if(empty($keyList)){
|
|
|
|
74
|
+ $this->response('导出数据为空',Code::SYSTEM_ERROR);
|
|
|
|
75
|
+ }
|
|
76
|
$res_data = $this->resEmptyData($keyList);
|
76
|
$res_data = $this->resEmptyData($keyList);
|
|
77
|
$this->response('success',Code::SUCCESS,$res_data);
|
77
|
$this->response('success',Code::SUCCESS,$res_data);
|
|
78
|
}
|
78
|
}
|
|
79
|
- if(empty($keyList)){
|
|
|
|
80
|
- $res_data = $this->resEmptyKey($data);
|
|
|
|
81
|
- $this->response('success',Code::SUCCESS,$res_data);
|
|
|
|
82
|
- }
|
|
|
|
83
|
- $res_data = $this->resData($keyList,$data);
|
79
|
+ $res_data = $this->resData($data);
|
|
84
|
$this->response('success',Code::SUCCESS,$res_data);
|
80
|
$this->response('success',Code::SUCCESS,$res_data);
|
|
85
|
}
|
81
|
}
|
|
86
|
|
82
|
|
|
@@ -91,49 +87,36 @@ class TranslateController extends BaseController |
|
@@ -91,49 +87,36 @@ class TranslateController extends BaseController |
|
91
|
* @method :post
|
87
|
* @method :post
|
|
92
|
* @time :2024/11/22 17:50
|
88
|
* @time :2024/11/22 17:50
|
|
93
|
*/
|
89
|
*/
|
|
94
|
- public function resData($keyList,$data){
|
|
|
|
95
|
- $result_key_data = [];
|
90
|
+ public function resData($data){
|
|
|
|
91
|
+ $result_id_data = [];
|
|
|
|
92
|
+ $keyModel = new TranslateKey();
|
|
96
|
foreach ($data as $values){
|
93
|
foreach ($data as $values){
|
|
97
|
$resData['route'] = $values['url'];
|
94
|
$resData['route'] = $values['url'];
|
|
98
|
- $resData['source'] = $values['source'];
|
|
|
|
99
|
- $resData['source_id'] = $values['source_id'];
|
|
|
|
100
|
- $resData['is_list'] = $values['is_list'];
|
|
|
|
101
|
- $resData['is_custom'] = $values['is_custom'];
|
|
|
|
102
|
$resData['page'] = $values['page'];
|
95
|
$resData['page'] = $values['page'];
|
|
103
|
$resData['data'] = [];
|
96
|
$resData['data'] = [];
|
|
104
|
- foreach ($keyList as $v1){
|
|
|
|
105
|
- if(($values['route'] == $v1['route']) && ($values['page'] == $v1['page']) && ($values['source'] == $v1['source']) && ($values['source_id'] == $v1['source_id']) && ($values['is_list'] == $v1['is_list']) && ($values['is_custom'] == $v1['is_custom'])){
|
|
|
|
106
|
- $translate_data = json_decode($values['translate_data']['data'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
|
|
|
|
107
|
- $keys_data = array_keys($translate_data);
|
|
|
|
108
|
- $translate_key_data = json_decode($v1['proof_key'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
|
|
|
|
109
|
- foreach ($translate_key_data as $value){
|
|
|
|
110
|
- if(!in_array($value,$keys_data)){
|
|
|
|
111
|
- $translate_data[$value] = '';
|
|
|
|
112
|
- }
|
97
|
+ $keyInfo = $keyModel->read(['route'=>$values['route'],'page'=>$values['page']],['id','proof_key']);
|
|
|
|
98
|
+ if($keyInfo !== false){
|
|
|
|
99
|
+ $result_id_data[] = $keyInfo['id'];
|
|
|
|
100
|
+ $translate_data = json_decode($values['translate_data']['data'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
|
|
|
|
101
|
+ $translate_data_keys = array_keys($translate_data);
|
|
|
|
102
|
+ $proof_key_data = json_decode($keyInfo['proof_key'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
|
|
|
|
103
|
+ foreach ($proof_key_data as $value){
|
|
|
|
104
|
+ if(!in_array($value,$translate_data_keys)){
|
|
|
|
105
|
+ $translate_data[$value] = '';
|
|
113
|
}
|
106
|
}
|
|
114
|
- $resData['data'] = $translate_data;
|
|
|
|
115
|
- //去除,已匹配的页面统计出来
|
|
|
|
116
|
- $result_key_data[] = $v1;
|
|
|
|
117
|
}
|
107
|
}
|
|
118
|
}
|
108
|
}
|
|
|
|
109
|
+ $resData['data'] = $translate_data;
|
|
119
|
$res_data[] = $resData;
|
110
|
$res_data[] = $resData;
|
|
120
|
}
|
111
|
}
|
|
121
|
- // 排除掉 $result_key_data 中的元素
|
|
|
|
122
|
- $result = array_udiff($keyList, $result_key_data, function ($a, $b) {
|
|
|
|
123
|
- return strcmp(json_encode($a), json_encode($b));
|
|
|
|
124
|
- });
|
|
|
|
125
|
- $result_key_list = array_values($result); // 重置键名
|
|
|
|
126
|
- if(!empty($result_key_list)){
|
|
|
|
127
|
- foreach ($result_key_list as $values){
|
|
|
|
128
|
- $resData['route'] = $values['url'];
|
|
|
|
129
|
- $resData['source'] = $values['source'];
|
|
|
|
130
|
- $resData['source_id'] = $values['source_id'];
|
|
|
|
131
|
- $resData['is_list'] = $values['is_list'];
|
|
|
|
132
|
- $resData['is_custom'] = $values['is_custom'];
|
|
|
|
133
|
- $resData['page'] = $values['page'];
|
|
|
|
134
|
- $key_data = json_decode($values['proof_key'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
|
|
|
|
135
|
- foreach ($key_data as $key_val){
|
|
|
|
136
|
- $resData['data'][] = [$key_val => ''];
|
112
|
+ $keyList = $keyModel->list(['id'=>['not in',$result_id_data]],'id',['id','proof_key','url','page']);
|
|
|
|
113
|
+ if(!empty($keyList)){
|
|
|
|
114
|
+ foreach ($keyList as $val){
|
|
|
|
115
|
+ $resData['route'] = $val['url'];
|
|
|
|
116
|
+ $resData['page'] = $val['page'];
|
|
|
|
117
|
+ $proof_key_data = json_decode($val['proof_key'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
|
|
|
|
118
|
+ foreach ($proof_key_data as $value){
|
|
|
|
119
|
+ $resData[$value] = '';
|
|
137
|
}
|
120
|
}
|
|
138
|
$res_data[] = $resData;
|
121
|
$res_data[] = $resData;
|
|
139
|
}
|
122
|
}
|
|
@@ -153,10 +136,6 @@ class TranslateController extends BaseController |
|
@@ -153,10 +136,6 @@ class TranslateController extends BaseController |
|
153
|
foreach ($keyList as $values){
|
136
|
foreach ($keyList as $values){
|
|
154
|
$key_data = json_decode($values['proof_key'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
|
137
|
$key_data = json_decode($values['proof_key'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
|
|
155
|
$resData['route'] = $values['url'];
|
138
|
$resData['route'] = $values['url'];
|
|
156
|
- $resData['source'] = $values['source'];
|
|
|
|
157
|
- $resData['source_id'] = $values['source_id'];
|
|
|
|
158
|
- $resData['is_list'] = $values['is_list'];
|
|
|
|
159
|
- $resData['is_custom'] = $values['is_custom'];
|
|
|
|
160
|
$resData['page'] = $values['page'];
|
139
|
$resData['page'] = $values['page'];
|
|
161
|
foreach ($key_data as $key_val){
|
140
|
foreach ($key_data as $key_val){
|
|
162
|
$resData['data'][] = [$key_val => ''];
|
141
|
$resData['data'][] = [$key_val => ''];
|
|
@@ -167,28 +146,6 @@ class TranslateController extends BaseController |
|
@@ -167,28 +146,6 @@ class TranslateController extends BaseController |
|
167
|
}
|
146
|
}
|
|
168
|
|
147
|
|
|
169
|
/**
|
148
|
/**
|
|
170
|
- * @remark :key为空 直接返回data
|
|
|
|
171
|
- * @name :resEmptyKey
|
|
|
|
172
|
- * @author :lyh
|
|
|
|
173
|
- * @method :post
|
|
|
|
174
|
- * @time :2024/11/22 17:48
|
|
|
|
175
|
- */
|
|
|
|
176
|
- public function resEmptyKey($data){
|
|
|
|
177
|
- $res_data = [];
|
|
|
|
178
|
- foreach ($data as $values){
|
|
|
|
179
|
- $resData['route'] = $values['url'];
|
|
|
|
180
|
- $resData['source'] = $values['source'];
|
|
|
|
181
|
- $resData['source_id'] = $values['source_id'];
|
|
|
|
182
|
- $resData['is_list'] = $values['is_list'];
|
|
|
|
183
|
- $resData['is_custom'] = $values['is_custom'];
|
|
|
|
184
|
- $resData['page'] = $values['page'];
|
|
|
|
185
|
- $resData['data'] = json_decode($values['translate_data']['data'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
|
|
|
|
186
|
- $res_data[] = $resData;
|
|
|
|
187
|
- }
|
|
|
|
188
|
- return $res_data;
|
|
|
|
189
|
- }
|
|
|
|
190
|
-
|
|
|
|
191
|
- /**
|
|
|
|
192
|
* @remark :图片列表
|
149
|
* @remark :图片列表
|
|
193
|
* @name :imageList
|
150
|
* @name :imageList
|
|
194
|
* @author :lyh
|
151
|
* @author :lyh
|