This commit is contained in:
wangjinlei
2021-05-14 11:00:30 +08:00
parent 90077baf99
commit b79316e8d9
5 changed files with 144 additions and 27 deletions

View File

@@ -4,6 +4,8 @@ namespace app\api\controller;
use think\Controller;
use think\Db;
use ip\IpLocation;
use ipserv\iplimit;
/**
* @title 前段web接口
@@ -45,7 +47,8 @@ class Main extends Controller {
}
public function ttest(){
echo strtotime('2021-02-26');
// echo strtotime('2021-02-26');
return jsonSuccess(['aa'=>'wjl']);
}
/**
@@ -126,12 +129,12 @@ class Main extends Controller {
* @return articles:文章信息array#
*/
public function getMainArticles(){
$list_tmr = $this->article_obj->field('j_article.*,j_journal_stage.*,j_journal.title journal_title,j_journal.jabbr journal_short')->join(array(['j_journal_stage', 'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT'],['j_journal','j_article.journal_id = j_journal.journal_id','LEFT']))->where('j_article.journal_id',1)->where('j_journal_stage.is_publish',1)->where('j_article.state',0)->order('j_article.article_id desc')->limit(3)->select();
$list_zh = $this->article_obj->field('j_article.*,j_journal_stage.*,j_journal.title journal_title,j_journal.jabbr journal_short')->join(array(['j_journal_stage', 'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT'],['j_journal','j_article.journal_id = j_journal.journal_id','LEFT']))->where('j_article.journal_id',17)->where('j_journal_stage.is_publish',1)->where('j_article.state',0)->order('j_article.article_id desc')->limit(1)->select();
$list_life = $this->article_obj->field('j_article.*,j_journal_stage.*,j_journal.title journal_title,j_journal.jabbr journal_short')->join(array(['j_journal_stage', 'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT'],['j_journal','j_article.journal_id = j_journal.journal_id','LEFT']))->where('j_article.journal_id',14)->where('j_journal_stage.is_publish',1)->where('j_article.state',0)->order('j_article.article_id desc')->limit(1)->select();
$list_fyw = $this->article_obj->field('j_article.*,j_journal_stage.*,j_journal.title journal_title,j_journal.jabbr journal_short')->join(array(['j_journal_stage', 'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT'],['j_journal','j_article.journal_id = j_journal.journal_id','LEFT']))->where('j_article.journal_id',20)->where('j_journal_stage.is_publish',1)->where('j_article.state',0)->order('j_article.article_id desc')->limit(1)->select();
$list_ywlh = $this->article_obj->field('j_article.*,j_journal_stage.*,j_journal.title journal_title,j_journal.jabbr journal_short')->join(array(['j_journal_stage', 'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT'],['j_journal','j_article.journal_id = j_journal.journal_id','LEFT']))->where('j_article.journal_id',6)->where('j_journal_stage.is_publish',1)->where('j_article.state',0)->order('j_article.article_id desc')->limit(1)->select();
$list_zy = $this->article_obj->field('j_article.*,j_journal_stage.*,j_journal.title journal_title,j_journal.jabbr journal_short')->join(array(['j_journal_stage', 'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT'],['j_journal','j_article.journal_id = j_journal.journal_id','LEFT']))->where('j_article.journal_id',18)->where('j_journal_stage.is_publish',1)->where('j_article.state',0)->order('j_article.article_id desc')->limit(1)->select();
$list_tmr = $this->article_obj->field('j_article.*,j_journal_stage.*,j_journal.title journal_title,j_journal.jabbr journal_short,j_journal.usx usx')->join(array(['j_journal_stage', 'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT'],['j_journal','j_article.journal_id = j_journal.journal_id','LEFT']))->where('j_article.journal_id',1)->where('j_journal_stage.is_publish',1)->where('j_article.state',0)->order('j_article.article_id desc')->limit(3)->select();
$list_zh = $this->article_obj->field('j_article.*,j_journal_stage.*,j_journal.title journal_title,j_journal.jabbr journal_short,j_journal.usx usx')->join(array(['j_journal_stage', 'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT'],['j_journal','j_article.journal_id = j_journal.journal_id','LEFT']))->where('j_article.journal_id',17)->where('j_journal_stage.is_publish',1)->where('j_article.state',0)->order('j_article.article_id desc')->limit(1)->select();
$list_life = $this->article_obj->field('j_article.*,j_journal_stage.*,j_journal.title journal_title,j_journal.jabbr journal_short,j_journal.usx usx')->join(array(['j_journal_stage', 'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT'],['j_journal','j_article.journal_id = j_journal.journal_id','LEFT']))->where('j_article.journal_id',14)->where('j_journal_stage.is_publish',1)->where('j_article.state',0)->order('j_article.article_id desc')->limit(1)->select();
$list_fyw = $this->article_obj->field('j_article.*,j_journal_stage.*,j_journal.title journal_title,j_journal.jabbr journal_short,j_journal.usx usx')->join(array(['j_journal_stage', 'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT'],['j_journal','j_article.journal_id = j_journal.journal_id','LEFT']))->where('j_article.journal_id',20)->where('j_journal_stage.is_publish',1)->where('j_article.state',0)->order('j_article.article_id desc')->limit(1)->select();
$list_ywlh = $this->article_obj->field('j_article.*,j_journal_stage.*,j_journal.title journal_title,j_journal.jabbr journal_short,j_journal.usx usx')->join(array(['j_journal_stage', 'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT'],['j_journal','j_article.journal_id = j_journal.journal_id','LEFT']))->where('j_article.journal_id',6)->where('j_journal_stage.is_publish',1)->where('j_article.state',0)->order('j_article.article_id desc')->limit(1)->select();
$list_zy = $this->article_obj->field('j_article.*,j_journal_stage.*,j_journal.title journal_title,j_journal.jabbr journal_short,j_journal.usx usx')->join(array(['j_journal_stage', 'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT'],['j_journal','j_article.journal_id = j_journal.journal_id','LEFT']))->where('j_article.journal_id',18)->where('j_journal_stage.is_publish',1)->where('j_article.state',0)->order('j_article.article_id desc')->limit(1)->select();
$list = $list_tmr;
$list[] = $list_zh[0];
$list[] = $list_life[0];
@@ -205,7 +208,7 @@ class Main extends Controller {
$data = $this->request->post();
$limit_start = ($data['pageIndex'] - 1) * $data['pageSize'];
$list = $this->article_obj
->field('j_article.*,j_journal_stage.*,j_journal.title journal_title,j_journal.jabbr journal_short')
->field('j_article.*,j_journal_stage.*,j_journal.title journal_title,j_journal.jabbr journal_short,j_journal.usx usx')
->join(array(['j_journal_stage', 'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT'],['j_journal','j_article.journal_id = j_journal.journal_id','LEFT']))
->where('j_article.state',0)
->where('j_journal_stage.is_publish',0)
@@ -246,7 +249,7 @@ class Main extends Controller {
$type = 'Comment';
}
$list = $this->article_obj
->field('j_article.*,j_journal_stage.*,j_journal.title journal_title,j_journal.jabbr journal_short')
->field('j_article.*,j_journal_stage.*,j_journal.title journal_title,j_journal.jabbr journal_short,j_journal.usx usx')
->join(array(['j_journal_stage', 'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT'],['j_journal','j_article.journal_id = j_journal.journal_id','LEFT']))
->where('j_article.state',0)
->where('j_journal_stage.is_publish',1)
@@ -304,7 +307,7 @@ class Main extends Controller {
return jsonError('Please make sure type in "cite/read/download"');
}
$limit_start = ($data['pageIndex'] - 1) * $data['pageSize'];
$list = $this->article_obj->field('j_article.*,j_journal_stage.*,j_journal.title journal_title,j_journal.jabbr journal_short')
$list = $this->article_obj->field('j_article.*,j_journal_stage.*,j_journal.title journal_title,j_journal.jabbr journal_short,j_journal.usx usx')
->join(array(['j_journal_stage', 'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT'],['j_journal','j_article.journal_id = j_journal.journal_id','LEFT']))
->where('j_article.state', 0)
->where('j_journal_stage.is_publish',1)
@@ -341,7 +344,55 @@ class Main extends Controller {
return jsonSuccess(['articles' => $list,'count'=>$count]);
}
/**
* 推送图片到cn服务器
*/
public function pushImgFile(){
$root_url = ROOT_PATH;
$push_url = 'http://api.tmrjournals.cn/public/index.php/api/Main/getImgFile';
// $push_url = 'http://www.journal.com/api/Main/getImgFile';
//定义需要查询同化的数组
$list = ['articleCite','articlePDF','articleicon','articleSUB','articleSUB2','journalCfp','journalfooter','journalicon','journalline','journaltopic'];
foreach ($list as $v){
$dir = $root_url."public/".$v."/".date('Ymd');//"20201123";
$files = [];
//查询目前的文件情况
if(!is_dir($dir)){
continue;
}
//遍历文件打包文件名
$stem = scandir($dir);
foreach ($stem as $val){
if($val=='.' || $val=='..'){
continue;
}
$files[] = $val;
}
//推送到目标服务器,目标服务器自行抓取
$re['dir'] = $v;
$re['files'] = json_encode($files);
myPost($push_url,$re);
}
}
/**
* 获取图片cn站点拉取主站img文件
*/
public function getImgFile(){
$root_url = ROOT_PATH;
$base_url = 'http://journalapi.tmrjournals.com/public/';
$data = $this->request->post();
$dir = $root_url."public/".$data['dir'].'/'.date('Ymd');
mkdir ($dir,0777,true);
$list = json_decode($data['files']);
foreach ($list as $v){
file_put_contents($dir.'/'.$v, file_get_contents($base_url.$data['dir'].'/'.date('Ymd').'/'.$v));
}
}
/**
* @title 获取首页Highlights
* @description 获取首页Highlights
@@ -477,5 +528,36 @@ class Main extends Controller {
}
echo "<script>location.href='$frag'</script>";
}
/**
* @title 获取ip地址对应详细地址
* @description 获取ip地址对应详细地址
* @author wangjinlei
* @url /api/Main/getIpLocation
* @method POST
*
* @param name:ip type:string require:1 desc:ip地址
*
* @return country:国家(gn:国内gw:国外,jyw:局域网)
*/
public function getIpLocation(){
$data = $this->request->post();
$ip_obj = new iplimit();
$re['country'] = $ip_obj->setup($data['ip']);
return jsonSuccess($re);
// $ip_obj = new IpLocation('UTFWry.dat');
// $res = $ip_obj->getlocation($data['ip']);
// return jsonSuccess($res);
}
// public function checkIp(){
// $ip_obj = new iplimit();
// $res = $ip_obj->setup('180.149.130.16');
// echo '<pre>';
// var_dump($res);
// echo '</pre>';
// die;
// }
}