作者 lyh

gx

@@ -25,7 +25,6 @@ class ATemplateController extends BaseController @@ -25,7 +25,6 @@ class ATemplateController extends BaseController
25 */ 25 */
26 public function lists(ATemplateLogic $aTemplateLogic){ 26 public function lists(ATemplateLogic $aTemplateLogic){
27 $filed = ['id','name','image','url','status','sort','deleted_status','test_model','created_at','project_id']; 27 $filed = ['id','name','image','url','status','sort','deleted_status','test_model','created_at','project_id'];
28 - $this->map['project_id'] = 0;  
29 $lists = $aTemplateLogic->aTemplateList($this->map,$this->page,$this->row,$this->order,$filed); 28 $lists = $aTemplateLogic->aTemplateList($this->map,$this->page,$this->row,$this->order,$filed);
30 if(!empty($lists) && !empty($lists['list'])){ 29 if(!empty($lists) && !empty($lists['list'])){
31 foreach ($lists['list'] as $k => $v){ 30 foreach ($lists['list'] as $k => $v){
@@ -27,9 +27,9 @@ class ProofreadingController extends BaseController @@ -27,9 +27,9 @@ class ProofreadingController extends BaseController
27 //获取当前链接和语种的校队列表 27 //获取当前链接和语种的校队列表
28 $proofreadingModel = new Proofreading(); 28 $proofreadingModel = new Proofreading();
29 $list = $proofreadingModel->list(['url'=>$this->param['url'],'language_id'=>$this->param['language_id'],'type'=>1],'text',['text','translate']); 29 $list = $proofreadingModel->list(['url'=>$this->param['url'],'language_id'=>$this->param['language_id'],'type'=>1],'text',['text','translate']);
  30 + //获取当前URl的所有文本内容
  31 + $new_list = $this->getUrlRead($this->param['url']);
30 if(empty($list)){ 32 if(empty($list)){
31 - //获取当前URl的所有文本内容  
32 - $new_list = $this->getUrlRead($this->param['url']);  
33 $data = []; 33 $data = [];
34 $translate_list = Translate::tran($new_list, $countryInfo['alias']); 34 $translate_list = Translate::tran($new_list, $countryInfo['alias']);
35 foreach ($new_list as $k=>$v){ 35 foreach ($new_list as $k=>$v){
@@ -40,7 +40,6 @@ class ProofreadingController extends BaseController @@ -40,7 +40,6 @@ class ProofreadingController extends BaseController
40 } 40 }
41 return $this->response('success',Code::SUCCESS,$data); 41 return $this->response('success',Code::SUCCESS,$data);
42 } 42 }
43 - $new_list = $this->getUrlRead($this->param['url']);  
44 $data = [];//返回数据 43 $data = [];//返回数据
45 $old_list = []; 44 $old_list = [];
46 foreach ($list as $v){ 45 foreach ($list as $v){
@@ -64,6 +63,28 @@ class ProofreadingController extends BaseController @@ -64,6 +63,28 @@ class ProofreadingController extends BaseController
64 } 63 }
65 64
66 /** 65 /**
  66 + * @remark :获取图片列表
  67 + * @name :imageList
  68 + * @author :lyh
  69 + * @method :post
  70 + * @time :2023/11/23 17:29
  71 + */
  72 + public function imageList(){
  73 + $proofreadingModel = new Proofreading();
  74 + $list = $proofreadingModel->list(['url'=>$this->param['url'],'language_id'=>$this->param['language_id'],'type'=>2],'text',['text','translate']);
  75 + if(empty($list)){
  76 + $new_list = $this->getUrlImageRead($this->param['url']);
  77 + foreach ($new_list as $k=>$v){
  78 + $data[] = [
  79 + 'text'=>$v,
  80 + 'translate'=>$v,
  81 + ];
  82 + }
  83 + return $this->response('success',Code::SUCCESS,$data);
  84 + }
  85 + }
  86 +
  87 + /**
67 * @name :(新增/更新多语言)save 88 * @name :(新增/更新多语言)save
68 * @author :lyh 89 * @author :lyh
69 * @method :post 90 * @method :post
@@ -144,4 +165,27 @@ class ProofreadingController extends BaseController @@ -144,4 +165,27 @@ class ProofreadingController extends BaseController
144 $textContentArray = array_values($uniqueArray); 165 $textContentArray = array_values($uniqueArray);
145 return $textContentArray; 166 return $textContentArray;
146 } 167 }
  168 +
  169 + /**
  170 + * @remark :获取Url内容
  171 + * @name :getUrlRead
  172 + * @author :lyh
  173 + * @method :post
  174 + * @time :2023/11/22 10:02
  175 + */
  176 + public function getUrlImageRead($url){
  177 + $contextOptions = [
  178 + 'ssl' => [
  179 + 'verify_peer' => false,
  180 + 'verify_peer_name' => false,
  181 + ],
  182 + ];
  183 + $pattern = '/<img.*?src="(.*?)".*?>/i';
  184 + $matches = array();
  185 + $context = stream_context_create($contextOptions);
  186 + $sourceCode = file_get_contents($url, false, $context);
  187 + preg_match_all($pattern, $sourceCode, $matches);
  188 + $imageLinks = $matches[1];
  189 + return $imageLinks;
  190 + }
147 } 191 }
@@ -28,6 +28,7 @@ class ATemplateLogic extends BaseLogic @@ -28,6 +28,7 @@ class ATemplateLogic extends BaseLogic
28 * @time :2023/6/28 17:03 28 * @time :2023/6/28 17:03
29 */ 29 */
30 public function aTemplateList($map,$page,$row,$order = ['created_at'],$filed = ['*']){ 30 public function aTemplateList($map,$page,$row,$order = ['created_at'],$filed = ['*']){
  31 + $map['project_id'] = 0;
31 $map['deleted_status'] = 0; 32 $map['deleted_status'] = 0;
32 $map['status'] = 0; 33 $map['status'] = 0;
33 $lists = $this->model->lists($map,$page,$row,$order,$filed); 34 $lists = $this->model->lists($map,$page,$row,$order,$filed);