正在显示
2 个修改的文件
包含
79 行增加
和
4 行删除
| @@ -20,6 +20,7 @@ use App\Models\Project\Project; | @@ -20,6 +20,7 @@ use App\Models\Project\Project; | ||
| 20 | use App\Models\RouteMap\RouteMap; | 20 | use App\Models\RouteMap\RouteMap; |
| 21 | use App\Models\WebSetting\SettingNum; | 21 | use App\Models\WebSetting\SettingNum; |
| 22 | use App\Models\WebSetting\Translate; | 22 | use App\Models\WebSetting\Translate; |
| 23 | +use App\Models\WebSetting\TranslateKey; | ||
| 23 | 24 | ||
| 24 | class TranslateController extends BaseController | 25 | class TranslateController extends BaseController |
| 25 | { | 26 | { |
| @@ -57,13 +58,68 @@ class TranslateController extends BaseController | @@ -57,13 +58,68 @@ class TranslateController extends BaseController | ||
| 57 | ],[ | 58 | ],[ |
| 58 | 'language_id.required' => 'language_id不能为空', | 59 | 'language_id.required' => 'language_id不能为空', |
| 59 | ]); | 60 | ]); |
| 61 | + $res_data = []; | ||
| 62 | + $res_data['language_id'] = $this->param['language_id']; | ||
| 60 | $this->map['type'] = 1; | 63 | $this->map['type'] = 1; |
| 61 | $data = $translate->formatQuery($this->map)->with('translate_data')->get()->toArray(); | 64 | $data = $translate->formatQuery($this->map)->with('translate_data')->get()->toArray(); |
| 62 | - foreach ($data as $k=>$v){ | ||
| 63 | - $v['data'] = json_decode($v['translate_data']['data'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); | ||
| 64 | - $data[$k] = $v; | 65 | + $keyModel = new TranslateKey(); |
| 66 | + $keyList = $keyModel->list(); | ||
| 67 | + if(empty($data) && empty($keyList)){ | ||
| 68 | + $this->response('导出数据为空'); | ||
| 65 | } | 69 | } |
| 66 | - $this->response('success',Code::SUCCESS,$data); | 70 | + if(empty($data)){ |
| 71 | + foreach ($keyList as $values){ | ||
| 72 | + $key_data = json_decode($values['proof_key'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); | ||
| 73 | + $resData['route'] = $values['url']; | ||
| 74 | + $resData['source'] = $values['source']; | ||
| 75 | + $resData['source_id'] = $values['source_id']; | ||
| 76 | + $resData['is_list'] = $values['is_list']; | ||
| 77 | + $resData['is_custom'] = $values['is_custom']; | ||
| 78 | + $resData['page'] = $values['page']; | ||
| 79 | + foreach ($key_data as $key_val){ | ||
| 80 | + $resData['data'][] = [$key_val => '']; | ||
| 81 | + } | ||
| 82 | + $res_data[] = $resData; | ||
| 83 | + } | ||
| 84 | + $this->response('success',Code::SUCCESS,$res_data); | ||
| 85 | + } | ||
| 86 | + if(empty($keyList)){ | ||
| 87 | + foreach ($data as $values){ | ||
| 88 | + $resData['route'] = $values['url']; | ||
| 89 | + $resData['source'] = $values['source']; | ||
| 90 | + $resData['source_id'] = $values['source_id']; | ||
| 91 | + $resData['is_list'] = $values['is_list']; | ||
| 92 | + $resData['is_custom'] = $values['is_custom']; | ||
| 93 | + $resData['page'] = $values['page']; | ||
| 94 | + $resData['data'] = json_decode($values['translate_data']['data'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); | ||
| 95 | + $res_data[] = $resData; | ||
| 96 | + } | ||
| 97 | + $this->response('success',Code::SUCCESS,$res_data); | ||
| 98 | + } | ||
| 99 | + foreach ($data as $values){ | ||
| 100 | + $resData['route'] = $values['url']; | ||
| 101 | + $resData['source'] = $values['source']; | ||
| 102 | + $resData['source_id'] = $values['source_id']; | ||
| 103 | + $resData['is_list'] = $values['is_list']; | ||
| 104 | + $resData['is_custom'] = $values['is_custom']; | ||
| 105 | + $resData['page'] = $values['page']; | ||
| 106 | + $resData['data'] = []; | ||
| 107 | + foreach ($keyList as $v1){ | ||
| 108 | + if(($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'])){ | ||
| 109 | + $translate_data = json_decode($values['translate_data']['data'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); | ||
| 110 | + $keys_data = array_keys($translate_data); | ||
| 111 | + $translate_key_data = json_decode($v1['proof_key'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); | ||
| 112 | + foreach ($translate_key_data as $value){ | ||
| 113 | + if(!in_array($value,$keys_data)){ | ||
| 114 | + $translate_data[$value] = ''; | ||
| 115 | + } | ||
| 116 | + } | ||
| 117 | + $resData['data'] = $translate_data; | ||
| 118 | + } | ||
| 119 | + } | ||
| 120 | + $res_data[] = $resData; | ||
| 121 | + } | ||
| 122 | + $this->response('success',Code::SUCCESS,$res_data); | ||
| 67 | } | 123 | } |
| 68 | 124 | ||
| 69 | 125 |
app/Models/WebSetting/TranslateKey.php
0 → 100644
| 1 | +<?php | ||
| 2 | +/** | ||
| 3 | + * @remark : | ||
| 4 | + * @name :TranslateKey.php | ||
| 5 | + * @author :lyh | ||
| 6 | + * @method :post | ||
| 7 | + * @time :2024/11/22 11:11 | ||
| 8 | + */ | ||
| 9 | + | ||
| 10 | +namespace App\Models\WebSetting; | ||
| 11 | + | ||
| 12 | +use App\Models\Base; | ||
| 13 | + | ||
| 14 | +class TranslateKey extends Base | ||
| 15 | +{ | ||
| 16 | + protected $table = 'gl_translate_key'; | ||
| 17 | + | ||
| 18 | + protected $connection = 'custom_mysql'; | ||
| 19 | +} |
-
请 注册 或 登录 后发表评论