20
This commit is contained in:
@@ -0,0 +1,120 @@
|
||||
<?php
|
||||
|
||||
namespace app\api\controller;
|
||||
|
||||
use support\Request;
|
||||
use support\Response;
|
||||
use hg\apidoc\annotation as Apidoc;
|
||||
use app\model\User;
|
||||
use app\model\Gallery as GalleryModel;
|
||||
use app\model\Album as AlbumModel;
|
||||
|
||||
/**
|
||||
* 相册的相片
|
||||
*/
|
||||
class GalleryController extends BaseController
|
||||
{
|
||||
public $noNeedAuth = ['*'];
|
||||
public $noNeedLogin = [];
|
||||
/**
|
||||
* @Apidoc\Title("列表")
|
||||
* @Apidoc\Method("POST")
|
||||
* @Apidoc\Param("album_id", type="string", require=true, desc="相册ID")
|
||||
* @Apidoc\Param("offset", type="int", require=false, desc="偏移量,和页码二选一",default=0)
|
||||
* @Apidoc\Param("page", type="int", require=false, desc="页码",default=1)
|
||||
* @Apidoc\Param("limit", type="int", require=true, desc="分页大小",default=10)
|
||||
*/
|
||||
function list(Request $request): Response
|
||||
{
|
||||
$user = \support\Jwt::getUser();
|
||||
$limit = $request->post('limit',10);
|
||||
$offset = $request->post('offset',0);
|
||||
$album_id = $request->post('album_id') ?: 0;
|
||||
//$ls = $this->get_user_in_group($group_id);
|
||||
$query = GalleryModel::where('album_id',$album_id)->order('id','desc');
|
||||
if($offset){
|
||||
$list = $query->where('id','<',$offset)->limit(0,$limit);
|
||||
}else{
|
||||
$list = $query->paginate($limit);
|
||||
}
|
||||
return $this->success('ok',$list);
|
||||
}
|
||||
/**
|
||||
* @Apidoc\Title("上传")
|
||||
* @Apidoc\Method("POST")
|
||||
* @Apidoc\Param("album_id", type="string", require=true, desc="相册ID",default=0)
|
||||
* @Apidoc\Param("title", type="string", require=true, desc="标题")
|
||||
* @Apidoc\Param("url", type="string", require=true, desc="图片")
|
||||
* @Apidoc\Param("file", type="file", require=true, desc="图片,没有url得时候必传")
|
||||
*/
|
||||
function create(Request $request): Response
|
||||
{
|
||||
$user_id = \support\Jwt\JwtToken::getCurrentId();
|
||||
$res = $this->_upload($request);
|
||||
if(is_string($res)){
|
||||
return $this->fail( $res);
|
||||
}
|
||||
$album_id = $request->post('album_id') ?: 0;
|
||||
$album = AlbumModel::find($album_id);
|
||||
if(!$album){
|
||||
return $this->fail('相册不存在');
|
||||
}
|
||||
$insert_data = [];
|
||||
foreach($res as $item){
|
||||
$insert_data[] = [
|
||||
'user_id' => $user_id,
|
||||
'group_id' => $album->group_id,
|
||||
'album_id' => $album_id,
|
||||
'title' => $item['origin_name'],
|
||||
'url' => $item['file_name'],
|
||||
];
|
||||
}
|
||||
$result = GalleryModel::saveAll($insert_data);
|
||||
return $this->success('ok',$result[0]);
|
||||
}
|
||||
/**
|
||||
* @Apidoc\Title("更新")
|
||||
* @Apidoc\Method("POST")
|
||||
* @Apidoc\Param("id", type="string", require=true, desc="ID")
|
||||
* @Apidoc\Param("title", type="string", require=true, desc="标题")
|
||||
* @Apidoc\Param("url", type="string", require=true, desc="图片")
|
||||
*/
|
||||
function update(Request $request): Response
|
||||
{
|
||||
$id = $request->input('id');
|
||||
$title = $request->input('title');
|
||||
$url = $request->input('url');
|
||||
$album = GalleryModel::find($id);
|
||||
if($album){
|
||||
if($title){
|
||||
$album->title = $title;
|
||||
}
|
||||
if($url){
|
||||
$album->url = $url;
|
||||
}
|
||||
$album->save();
|
||||
}
|
||||
return $this->success('ok',$album);
|
||||
}
|
||||
/**
|
||||
* @Apidoc\Title("删除")
|
||||
* @Apidoc\Method("POST")
|
||||
* @Apidoc\Param("id", type="string", require=true, desc="ID")
|
||||
*/
|
||||
function delete(Request $request): Response
|
||||
{
|
||||
$ids = Input('ids');
|
||||
GalleryModel::whereIn('id',condition: $ids)->delete();
|
||||
return $this->success('ok');
|
||||
}
|
||||
/**
|
||||
* 获取在群里的角色
|
||||
* @Apidoc\NotParse()
|
||||
* @Apidoc\NotDebug()
|
||||
*/
|
||||
private function get_user_in_group($group_id='',$user_id='')
|
||||
{
|
||||
$list = request()->IM->group->getGroupMemberList($group_id,$user_id);
|
||||
return $list;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user