99 lines
3.0 KiB
PHP
Executable File
99 lines
3.0 KiB
PHP
Executable File
<?php
|
|
|
|
namespace api\controllers\gm\v1;
|
|
|
|
use Yii;
|
|
use yii\helpers\Url;
|
|
use yii\data\Pagination;
|
|
use yii\web\UploadedFile;
|
|
use common\models\CAttachment;
|
|
|
|
class ImageController extends Common
|
|
{
|
|
public function beforeAction($action)
|
|
{
|
|
if (!$this->pid) {
|
|
$this->result('您正使用本系统内部接口,禁止非法链接使用!');
|
|
}
|
|
return parent::beforeAction($action);
|
|
}
|
|
|
|
public function actionIndex()
|
|
{
|
|
$apis = [
|
|
'list' => '图片列表',
|
|
];
|
|
$this->result('您正使用CMTS-GM系统图库管理接口!', $apis, 200);
|
|
}
|
|
|
|
public function actionList()
|
|
{
|
|
$s = $this->search();
|
|
$res = $s['res'];
|
|
if (!$res) {
|
|
$this->result('没有查询到相应的数据!', [], 0);
|
|
}
|
|
//附件网址前缀
|
|
$src = Url::base(TRUE) . "/../../upload"; //在网站根目录下使用upload/pics目录;适合使用yii框架主目录入口而非绑定子域名的情形
|
|
if ($_SERVER['DOCUMENT_ROOT'] . '/upload' != Yii::getAlias("@upload")) {
|
|
// $src = Url::toRoute(['attach/index','img'=>'']); //换用网络加载转换的方式-反应慢
|
|
$src = Yii::$app->params['attachSrc'] . Yii::$app->params['attachDir'];
|
|
}
|
|
|
|
$data= [
|
|
'total'=>$s['query']->count(),
|
|
'images' => $res,
|
|
'src' => $src,
|
|
'page'=>$this->page
|
|
];
|
|
|
|
$this->result('图片查询成功', $data, 200);
|
|
}
|
|
|
|
private function search(){
|
|
$pid = $this->pid;
|
|
$siteId = Yii::$app->params['siteId'];
|
|
$return = [];
|
|
$model = new CAttachment();
|
|
$where = [];
|
|
$where[] = 'and';
|
|
$where[] = ['=', 'status_code', 1];
|
|
$where[] = ['=', 'type', 0];
|
|
$where[] = ['=', 'siteid', $siteId];
|
|
$where[] = ['=', 'pid', $pid];
|
|
|
|
$post = $this->postdata;
|
|
$search = $post['search'] ?? [];
|
|
if ($search) {
|
|
if ($search['create_m']) {
|
|
$start = strtotime($search['create_m']);
|
|
$s = date("Y-m-d H:i:s", $start);
|
|
$ldm = strtotime("last day of " . $s);
|
|
$m = date("Y-m-d", $ldm) . " 23:59:59";
|
|
$end = strtotime($m);
|
|
$where[] = ['between', 'create_at', $start, $end];
|
|
} else if (!empty($search['create_after']) && !empty($search['create_before'])) {
|
|
$start = strtotime($search['create_after']);
|
|
$end = strtotime($search['create_before']);
|
|
$where[] = ['between', 'create_at', $start, $end];
|
|
} else if (!empty($search['create_after'])) {
|
|
$start = strtotime($search['create_after']);
|
|
$where[] = ['>=', 'create_at', $start];
|
|
} else if (!empty($search['create_before'])) {
|
|
$end = strtotime($search['create_before']);
|
|
$where[] = ['<=', 'create_at', $end];
|
|
}
|
|
if ($search['title']) {
|
|
$where[] = ['LIKE', 'title', $search['title']];
|
|
}
|
|
}
|
|
|
|
$data = $model->find()->where($where);
|
|
|
|
$pages = new Pagination(['totalCount' => $data->count(), 'pageSize' => $this->pageSize]);
|
|
$_orderby = 'id DESC';
|
|
$res = $data->offset($pages->offset)->limit($pages->limit)->orderBy($_orderby)->all();
|
|
return ['res'=>$res,'query'=>$data];
|
|
}
|
|
}
|