no message
This commit is contained in:
parent
a644d9ec02
commit
0926c532ab
32
app/Exceptions/ApiException.php
Normal file
32
app/Exceptions/ApiException.php
Normal file
@ -0,0 +1,32 @@
|
||||
<?php
|
||||
namespace App\Exceptions;
|
||||
|
||||
use RuntimeException;
|
||||
|
||||
class ApiException extends RuntimeException
|
||||
{
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $data;
|
||||
|
||||
/**
|
||||
* ApiException constructor.
|
||||
* @param string $msg
|
||||
* @param array $data
|
||||
* @param int $code
|
||||
*/
|
||||
public function __construct($msg = '', $data = [], $code = 0)
|
||||
{
|
||||
$this->data = $data;
|
||||
parent::__construct($msg, $code);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public function getData(): array
|
||||
{
|
||||
return $this->data;
|
||||
}
|
||||
}
|
@ -50,8 +50,10 @@ class Handler extends ExceptionHandler
|
||||
*/
|
||||
public function render($request, Throwable $e)
|
||||
{
|
||||
if ($e instanceof ModelNotFoundException) {
|
||||
return response()->json(Base::retError('数据不存在'));
|
||||
if ($e instanceof ApiException) {
|
||||
return response()->json(Base::retError($e->getMessage(), $e->getData(), $e->getCode()));
|
||||
} elseif ($e instanceof ModelNotFoundException) {
|
||||
return response()->json(Base::retError('Interface error'));
|
||||
}
|
||||
return parent::render($request, $e);
|
||||
}
|
||||
|
@ -27,12 +27,7 @@ class DialogController extends AbstractController
|
||||
*/
|
||||
public function lists()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
$user = User::auth();
|
||||
//
|
||||
$list = WebSocketDialog::select(['web_socket_dialogs.*'])
|
||||
->join('web_socket_dialog_users as u', 'web_socket_dialogs.id', '=', 'u.dialog_id')
|
||||
@ -53,12 +48,7 @@ class DialogController extends AbstractController
|
||||
*/
|
||||
public function one()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
$user = User::auth();
|
||||
//
|
||||
$dialog_id = intval(Request::input('dialog_id'));
|
||||
//
|
||||
@ -81,12 +71,7 @@ class DialogController extends AbstractController
|
||||
*/
|
||||
public function open__user()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
$user = User::auth();
|
||||
//
|
||||
$userid = intval(Request::input('userid'));
|
||||
if ($userid == $user->userid) {
|
||||
@ -114,12 +99,7 @@ class DialogController extends AbstractController
|
||||
*/
|
||||
public function msg__lists()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
$user = User::auth();
|
||||
//
|
||||
$dialog_id = intval(Request::input('dialog_id'));
|
||||
//
|
||||
@ -164,12 +144,7 @@ class DialogController extends AbstractController
|
||||
*/
|
||||
public function msg__sendtext()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
$user = User::auth();
|
||||
//
|
||||
$dialog_id = intval(Request::input('dialog_id'));
|
||||
$extra_int = intval(Request::input('extra_int'));
|
||||
@ -209,12 +184,7 @@ class DialogController extends AbstractController
|
||||
*/
|
||||
public function msg__sendfile()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
$user = User::auth();
|
||||
//
|
||||
$dialog_id = Base::getPostInt('dialog_id');
|
||||
$extra_int = Base::getPostInt('extra_int');
|
||||
@ -289,12 +259,7 @@ class DialogController extends AbstractController
|
||||
*/
|
||||
public function msg__readlist()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
$user = User::auth();
|
||||
//
|
||||
$msg_id = intval(Request::input('msg_id'));
|
||||
//
|
||||
|
@ -35,12 +35,7 @@ class ProjectController extends AbstractController
|
||||
*/
|
||||
public function lists()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
$user = User::auth();
|
||||
//
|
||||
$list = Project::select($this->projectSelect)
|
||||
->join('project_users', 'projects.id', '=', 'project_users.project_id')
|
||||
@ -58,20 +53,11 @@ class ProjectController extends AbstractController
|
||||
*/
|
||||
public function one()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
user::auth();
|
||||
//
|
||||
$project_id = intval(Request::input('project_id'));
|
||||
//
|
||||
$project = Project::select($this->projectSelect)
|
||||
->join('project_users', 'projects.id', '=', 'project_users.project_id')
|
||||
->where('projects.id', $project_id)
|
||||
->where('project_users.userid', $user->userid)
|
||||
->first();
|
||||
$project = Project::userProject($project_id);
|
||||
if (empty($project)) {
|
||||
return Base::retError('项目不存在或不在成员列表内');
|
||||
}
|
||||
@ -86,12 +72,7 @@ class ProjectController extends AbstractController
|
||||
*/
|
||||
public function detail()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
$user = User::auth();
|
||||
//
|
||||
$project_id = intval(Request::input('project_id'));
|
||||
//
|
||||
@ -123,12 +104,7 @@ class ProjectController extends AbstractController
|
||||
*/
|
||||
public function add()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
$user = User::auth();
|
||||
//项目名称
|
||||
$name = trim(Request::input('name', ''));
|
||||
$desc = trim(Request::input('desc', ''));
|
||||
@ -193,12 +169,7 @@ class ProjectController extends AbstractController
|
||||
*/
|
||||
public function edit()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
user::auth();
|
||||
//
|
||||
$project_id = intval(Request::input('project_id'));
|
||||
$name = trim(Request::input('name', ''));
|
||||
@ -212,11 +183,7 @@ class ProjectController extends AbstractController
|
||||
return Base::retError('项目描述最多只能设置255个字');
|
||||
}
|
||||
//
|
||||
$project = Project::select($this->projectSelect)
|
||||
->join('project_users', 'projects.id', '=', 'project_users.project_id')
|
||||
->where('projects.id', $project_id)
|
||||
->where('project_users.userid', $user->userid)
|
||||
->first();
|
||||
$project = Project::userProject($project_id);
|
||||
if (empty($project)) {
|
||||
return Base::retError('项目不存在或不在成员列表内');
|
||||
}
|
||||
@ -240,22 +207,13 @@ class ProjectController extends AbstractController
|
||||
*/
|
||||
public function sort()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
user::auth();
|
||||
//
|
||||
$project_id = intval(Request::input('project_id'));
|
||||
$sort = Base::json2array(Request::input('sort'));
|
||||
$only_column = intval(Request::input('only_column'));
|
||||
//
|
||||
$project = Project::select($this->projectSelect)
|
||||
->join('project_users', 'projects.id', '=', 'project_users.project_id')
|
||||
->where('projects.id', $project_id)
|
||||
->where('project_users.userid', $user->userid)
|
||||
->first();
|
||||
$project = Project::userProject($project_id);
|
||||
if (empty($project)) {
|
||||
return Base::retError('项目不存在或不在成员列表内');
|
||||
}
|
||||
@ -301,22 +259,13 @@ class ProjectController extends AbstractController
|
||||
*/
|
||||
public function user()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
user::auth();
|
||||
//
|
||||
$project_id = intval(Request::input('project_id'));
|
||||
$userid = Request::input('userid');
|
||||
$userid = is_array($userid) ? $userid : [$userid];
|
||||
//
|
||||
$project = Project::select($this->projectSelect)
|
||||
->join('project_users', 'projects.id', '=', 'project_users.project_id')
|
||||
->where('projects.id', $project_id)
|
||||
->where('project_users.userid', $user->userid)
|
||||
->first();
|
||||
$project = Project::userProject($project_id);
|
||||
if (empty($project)) {
|
||||
return Base::retError('项目不存在或不在成员列表内');
|
||||
}
|
||||
@ -345,21 +294,12 @@ class ProjectController extends AbstractController
|
||||
*/
|
||||
public function transfer()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
user::auth();
|
||||
//
|
||||
$project_id = intval(Request::input('project_id'));
|
||||
$owner_userid = intval(Request::input('owner_userid'));
|
||||
//
|
||||
$project = Project::select($this->projectSelect)
|
||||
->join('project_users', 'projects.id', '=', 'project_users.project_id')
|
||||
->where('projects.id', $project_id)
|
||||
->where('project_users.userid', $user->userid)
|
||||
->first();
|
||||
$project = Project::userProject($project_id);
|
||||
if (empty($project)) {
|
||||
return Base::retError('项目不存在或不在成员列表内');
|
||||
}
|
||||
@ -392,20 +332,11 @@ class ProjectController extends AbstractController
|
||||
*/
|
||||
public function exit()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
$user = User::auth();
|
||||
//
|
||||
$project_id = intval(Request::input('project_id'));
|
||||
//
|
||||
$project = Project::select($this->projectSelect)
|
||||
->join('project_users', 'projects.id', '=', 'project_users.project_id')
|
||||
->where('projects.id', $project_id)
|
||||
->where('project_users.userid', $user->userid)
|
||||
->first();
|
||||
$project = Project::userProject($project_id);
|
||||
if (empty($project)) {
|
||||
return Base::retError('项目不存在或不在成员列表内');
|
||||
}
|
||||
@ -428,20 +359,11 @@ class ProjectController extends AbstractController
|
||||
*/
|
||||
public function delete()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
user::auth();
|
||||
//
|
||||
$project_id = intval(Request::input('project_id'));
|
||||
//
|
||||
$project = Project::select($this->projectSelect)
|
||||
->join('project_users', 'projects.id', '=', 'project_users.project_id')
|
||||
->where('projects.id', $project_id)
|
||||
->where('project_users.userid', $user->userid)
|
||||
->first();
|
||||
$project = Project::userProject($project_id);
|
||||
if (empty($project)) {
|
||||
return Base::retError('项目不存在或不在成员列表内');
|
||||
}
|
||||
@ -463,21 +385,12 @@ class ProjectController extends AbstractController
|
||||
*/
|
||||
public function column__add()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
user::auth();
|
||||
//
|
||||
$project_id = intval(Request::input('project_id'));
|
||||
$name = trim(Request::input('name'));
|
||||
// 项目
|
||||
$project = Project::select($this->projectSelect)
|
||||
->join('project_users', 'projects.id', '=', 'project_users.project_id')
|
||||
->where('projects.id', $project_id)
|
||||
->where('project_users.userid', $user->userid)
|
||||
->first();
|
||||
$project = Project::userProject($project_id);
|
||||
if (empty($project)) {
|
||||
return Base::retError('项目不存在或不在成员列表内');
|
||||
}
|
||||
@ -506,12 +419,7 @@ class ProjectController extends AbstractController
|
||||
*/
|
||||
public function column__update()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
$user = User::auth();
|
||||
//
|
||||
$data = Request::all();
|
||||
$column_id = intval($data['column_id']);
|
||||
@ -543,12 +451,7 @@ class ProjectController extends AbstractController
|
||||
*/
|
||||
public function column__delete()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
$user = User::auth();
|
||||
//
|
||||
$column_id = intval(Request::input('column_id'));
|
||||
// 列表
|
||||
@ -579,25 +482,11 @@ class ProjectController extends AbstractController
|
||||
*/
|
||||
public function task__one()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
user::auth();
|
||||
//
|
||||
$task_id = intval(Request::input('task_id'));
|
||||
// 任务
|
||||
$task = ProjectTask::with(['taskUser', 'taskTag'])->whereId($task_id)->first();
|
||||
if (empty($task)) {
|
||||
return Base::retError('任务不存在');
|
||||
}
|
||||
// 项目
|
||||
$project = Project::select($this->projectSelect)
|
||||
->join('project_users', 'projects.id', '=', 'project_users.project_id')
|
||||
->where('projects.id', $task->project_id)
|
||||
->where('project_users.userid', $user->userid)
|
||||
->first();
|
||||
//
|
||||
list($task, $project) = ProjectTask::userTask($task_id, ['taskUser', 'taskTag']);
|
||||
if (empty($project)) {
|
||||
return Base::retError('项目不存在或不在成员列表内');
|
||||
}
|
||||
@ -615,25 +504,11 @@ class ProjectController extends AbstractController
|
||||
*/
|
||||
public function task__sublist()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
user::auth();
|
||||
//
|
||||
$task_id = intval(Request::input('task_id'));
|
||||
// 任务
|
||||
$task = ProjectTask::whereId($task_id)->first();
|
||||
if (empty($task)) {
|
||||
return Base::retError('任务不存在');
|
||||
}
|
||||
// 项目
|
||||
$project = Project::select($this->projectSelect)
|
||||
->join('project_users', 'projects.id', '=', 'project_users.project_id')
|
||||
->where('projects.id', $task->project_id)
|
||||
->where('project_users.userid', $user->userid)
|
||||
->first();
|
||||
list($task, $project) = ProjectTask::userTask($task_id);
|
||||
if (empty($project)) {
|
||||
return Base::retError('项目不存在或不在成员列表内');
|
||||
}
|
||||
@ -649,25 +524,11 @@ class ProjectController extends AbstractController
|
||||
*/
|
||||
public function task__content()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
user::auth();
|
||||
//
|
||||
$task_id = intval(Request::input('task_id'));
|
||||
// 任务
|
||||
$task = ProjectTask::whereId($task_id)->first();
|
||||
if (empty($task)) {
|
||||
return Base::retError('任务不存在');
|
||||
}
|
||||
// 项目
|
||||
$project = Project::select($this->projectSelect)
|
||||
->join('project_users', 'projects.id', '=', 'project_users.project_id')
|
||||
->where('projects.id', $task->project_id)
|
||||
->where('project_users.userid', $user->userid)
|
||||
->first();
|
||||
list($task, $project) = ProjectTask::userTask($task_id);
|
||||
if (empty($project)) {
|
||||
return Base::retError('项目不存在或不在成员列表内');
|
||||
}
|
||||
@ -682,25 +543,11 @@ class ProjectController extends AbstractController
|
||||
*/
|
||||
public function task__files()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
user::auth();
|
||||
//
|
||||
$task_id = intval(Request::input('task_id'));
|
||||
// 任务
|
||||
$task = ProjectTask::whereId($task_id)->first();
|
||||
if (empty($task)) {
|
||||
return Base::retError('任务不存在');
|
||||
}
|
||||
// 项目
|
||||
$project = Project::select($this->projectSelect)
|
||||
->join('project_users', 'projects.id', '=', 'project_users.project_id')
|
||||
->where('projects.id', $task->project_id)
|
||||
->where('project_users.userid', $user->userid)
|
||||
->first();
|
||||
list($task, $project) = ProjectTask::userTask($task_id);
|
||||
if (empty($project)) {
|
||||
return Base::retError('项目不存在或不在成员列表内');
|
||||
}
|
||||
@ -722,21 +569,12 @@ class ProjectController extends AbstractController
|
||||
*/
|
||||
public function task__add()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
user::auth();
|
||||
parse_str(Request::getContent(), $data);
|
||||
$project_id = intval($data['project_id']);
|
||||
$column_id = $data['column_id'];
|
||||
// 项目
|
||||
$project = Project::select($this->projectSelect)
|
||||
->join('project_users', 'projects.id', '=', 'project_users.project_id')
|
||||
->where('projects.id', $project_id)
|
||||
->where('project_users.userid', $user->userid)
|
||||
->first();
|
||||
$project = Project::userProject($project_id);
|
||||
if (empty($project)) {
|
||||
return Base::retError('项目不存在或不在成员列表内');
|
||||
}
|
||||
@ -790,26 +628,12 @@ class ProjectController extends AbstractController
|
||||
*/
|
||||
public function task__addsub()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
user::auth();
|
||||
//
|
||||
$task_id = intval(Request::input('task_id'));
|
||||
$name = Request::input('name');
|
||||
// 任务
|
||||
$task = ProjectTask::whereId($task_id)->first();
|
||||
if (empty($task)) {
|
||||
return Base::retError('任务不存在');
|
||||
}
|
||||
// 项目
|
||||
$project = Project::select($this->projectSelect)
|
||||
->join('project_users', 'projects.id', '=', 'project_users.project_id')
|
||||
->where('projects.id', $task->project_id)
|
||||
->where('project_users.userid', $user->userid)
|
||||
->first();
|
||||
list($task, $project) = ProjectTask::userTask($task_id);
|
||||
if (empty($project)) {
|
||||
return Base::retError('项目不存在或不在成员列表内');
|
||||
}
|
||||
@ -849,26 +673,12 @@ class ProjectController extends AbstractController
|
||||
*/
|
||||
public function task__update()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
user::auth();
|
||||
//
|
||||
parse_str(Request::getContent(), $data);
|
||||
$task_id = intval($data['task_id']);
|
||||
// 任务
|
||||
$task = ProjectTask::whereId($task_id)->first();
|
||||
if (empty($task)) {
|
||||
return Base::retError('任务不存在');
|
||||
}
|
||||
// 项目
|
||||
$project = Project::select($this->projectSelect)
|
||||
->join('project_users', 'projects.id', '=', 'project_users.project_id')
|
||||
->where('projects.id', $task->project_id)
|
||||
->where('project_users.userid', $user->userid)
|
||||
->first();
|
||||
list($task, $project) = ProjectTask::userTask($task_id);
|
||||
if (empty($project)) {
|
||||
return Base::retError('项目不存在或不在成员列表内');
|
||||
}
|
||||
@ -905,25 +715,11 @@ class ProjectController extends AbstractController
|
||||
*/
|
||||
public function task__upload()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
$user = User::auth();
|
||||
//
|
||||
$task_id = Base::getPostInt('task_id');
|
||||
// 任务
|
||||
$task = ProjectTask::whereId($task_id)->first();
|
||||
if (empty($task)) {
|
||||
return Base::retError('任务不存在');
|
||||
}
|
||||
// 项目
|
||||
$project = Project::select($this->projectSelect)
|
||||
->join('project_users', 'projects.id', '=', 'project_users.project_id')
|
||||
->where('projects.id', $task->project_id)
|
||||
->where('project_users.userid', $user->userid)
|
||||
->first();
|
||||
list($task, $project) = ProjectTask::userTask($task_id);
|
||||
if (empty($project)) {
|
||||
return Base::retError('项目不存在或不在成员列表内');
|
||||
}
|
||||
@ -972,25 +768,11 @@ class ProjectController extends AbstractController
|
||||
*/
|
||||
public function task__dialog()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
user::auth();
|
||||
//
|
||||
$task_id = intval(Request::input('task_id'));
|
||||
// 任务
|
||||
$task = ProjectTask::whereId($task_id)->first();
|
||||
if (empty($task)) {
|
||||
return Base::retError('任务不存在');
|
||||
}
|
||||
// 项目
|
||||
$project = Project::select($this->projectSelect)
|
||||
->join('project_users', 'projects.id', '=', 'project_users.project_id')
|
||||
->where('projects.id', $task->project_id)
|
||||
->where('project_users.userid', $user->userid)
|
||||
->first();
|
||||
list($task, $project) = ProjectTask::userTask($task_id);
|
||||
if (empty($project)) {
|
||||
return Base::retError('项目不存在或不在成员列表内');
|
||||
}
|
||||
@ -1024,25 +806,11 @@ class ProjectController extends AbstractController
|
||||
*/
|
||||
public function task__archived()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
user::auth();
|
||||
//
|
||||
$task_id = intval(Request::input('task_id'));
|
||||
// 任务
|
||||
$task = ProjectTask::whereId($task_id)->first();
|
||||
if (empty($task)) {
|
||||
return Base::retError('任务不存在');
|
||||
}
|
||||
// 项目
|
||||
$project = Project::select($this->projectSelect)
|
||||
->join('project_users', 'projects.id', '=', 'project_users.project_id')
|
||||
->where('projects.id', $task->project_id)
|
||||
->where('project_users.userid', $user->userid)
|
||||
->first();
|
||||
list($task, $project) = ProjectTask::userTask($task_id);
|
||||
if (empty($project)) {
|
||||
return Base::retError('项目不存在或不在成员列表内');
|
||||
}
|
||||
@ -1061,25 +829,11 @@ class ProjectController extends AbstractController
|
||||
*/
|
||||
public function task__delete()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
user::auth();
|
||||
//
|
||||
$task_id = intval(Request::input('task_id'));
|
||||
// 任务
|
||||
$task = ProjectTask::whereId($task_id)->first();
|
||||
if (empty($task)) {
|
||||
return Base::retError('任务不存在');
|
||||
}
|
||||
// 项目
|
||||
$project = Project::select($this->projectSelect)
|
||||
->join('project_users', 'projects.id', '=', 'project_users.project_id')
|
||||
->where('projects.id', $task->project_id)
|
||||
->where('project_users.userid', $user->userid)
|
||||
->first();
|
||||
list($task, $project) = ProjectTask::userTask($task_id);
|
||||
if (empty($project)) {
|
||||
return Base::retError('项目不存在或不在成员列表内');
|
||||
}
|
||||
|
@ -36,15 +36,8 @@ class SystemController extends AbstractController
|
||||
if (env("SYSTEM_SETTING") == 'disabled') {
|
||||
return Base::retError('当前环境禁止修改');
|
||||
}
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
if (!$user->isAdmin()) {
|
||||
return Base::retError('权限不足');
|
||||
}
|
||||
$user = User::auth();
|
||||
$user->isAdmin();
|
||||
$all = Request::input();
|
||||
foreach ($all AS $key => $value) {
|
||||
if (!in_array($key, ['reg', 'login_code'])) {
|
||||
@ -79,15 +72,8 @@ class SystemController extends AbstractController
|
||||
{
|
||||
$type = trim(Request::input('type'));
|
||||
if ($type == 'save') {
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
if (!$user->isAdmin()) {
|
||||
return Base::retError('权限不足');
|
||||
}
|
||||
$user = User::auth();
|
||||
$user->isAdmin();
|
||||
$list = Base::getPostValue('list');
|
||||
$array = [];
|
||||
if (empty($list) || !is_array($list)) {
|
||||
|
@ -144,8 +144,6 @@ class UsersController extends AbstractController
|
||||
* @apiGroup users
|
||||
* @apiName info
|
||||
*
|
||||
* @apiParam {String} [callback] jsonp返回字段
|
||||
*
|
||||
* @apiSuccess {Number} ret 返回状态码(1正确、0错误)
|
||||
* @apiSuccess {String} msg 返回信息(错误描述)
|
||||
* @apiSuccess {Object} data 返回数据
|
||||
@ -168,23 +166,9 @@ class UsersController extends AbstractController
|
||||
*/
|
||||
public function info()
|
||||
{
|
||||
$callback = Request::input('callback');
|
||||
//
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
if (strlen($callback) > 3) {
|
||||
return $callback . '(' . json_encode($user) . ')';
|
||||
}
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
//
|
||||
$user = User::auth();
|
||||
User::token($user);
|
||||
//
|
||||
if (strlen($callback) > 3) {
|
||||
return $callback . '(' . json_encode(Base::retSuccess('success', $user)) . ')';
|
||||
}
|
||||
return Base::retSuccess('success', $user);
|
||||
}
|
||||
|
||||
@ -206,13 +190,7 @@ class UsersController extends AbstractController
|
||||
*/
|
||||
public function editdata()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
//
|
||||
$user = User::auth();
|
||||
//头像
|
||||
$userimg = Request::input('userimg');
|
||||
if ($userimg) {
|
||||
@ -265,12 +243,7 @@ class UsersController extends AbstractController
|
||||
*/
|
||||
public function editpass()
|
||||
{
|
||||
$user = User::authE();
|
||||
if (Base::isError($user)) {
|
||||
return $user;
|
||||
} else {
|
||||
$user = User::IDE($user['data']);
|
||||
}
|
||||
$user = User::auth();
|
||||
//
|
||||
$oldpass = trim(Request::input('oldpass'));
|
||||
$newpass = trim(Request::input('newpass'));
|
||||
|
@ -266,4 +266,22 @@ class Project extends AbstractModel
|
||||
});
|
||||
return Base::isSuccess($result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据用户获取项目信息(用于判断会员是否存在项目内)
|
||||
* @param int $project_id
|
||||
* @return self
|
||||
*/
|
||||
public static function userProject($project_id)
|
||||
{
|
||||
$project = Project::select([ 'projects.*', 'project_users.owner' ])
|
||||
->join('project_users', 'projects.id', '=', 'project_users.project_id')
|
||||
->where('projects.id', intval($project_id))
|
||||
->where('project_users.userid', User::token2userid())
|
||||
->first();
|
||||
if (empty($project)) {
|
||||
return null;
|
||||
}
|
||||
return $project;
|
||||
}
|
||||
}
|
||||
|
@ -569,4 +569,28 @@ class ProjectTask extends AbstractModel
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据会员ID获取任务、项目信息(用于判断会员是否存在项目内)
|
||||
* @param int $task_id
|
||||
* @param array $with
|
||||
* @return array
|
||||
*/
|
||||
public static function userTask($task_id, $with = [])
|
||||
{
|
||||
$task = ProjectTask::with($with)->whereId(intval($task_id))->first();
|
||||
if (empty($task)) {
|
||||
return null;
|
||||
}
|
||||
// 项目
|
||||
$project = Project::select([ 'projects.*', 'project_users.owner' ])
|
||||
->join('project_users', 'projects.id', '=', 'project_users.project_id')
|
||||
->where('projects.id', $task->project_id)
|
||||
->where('project_users.userid', User::token2userid())
|
||||
->first();
|
||||
if (empty($project)) {
|
||||
return null;
|
||||
}
|
||||
return [$task, $project];
|
||||
}
|
||||
}
|
||||
|
@ -3,6 +3,7 @@
|
||||
namespace App\Models;
|
||||
|
||||
|
||||
use App\Exceptions\ApiException;
|
||||
use App\Module\Base;
|
||||
use Cache;
|
||||
use Carbon\Carbon;
|
||||
@ -108,7 +109,7 @@ class User extends AbstractModel
|
||||
|
||||
/**
|
||||
* 是否在线
|
||||
* @return int
|
||||
* @return bool
|
||||
*/
|
||||
public function getOnlineStatus()
|
||||
{
|
||||
@ -121,11 +122,21 @@ class User extends AbstractModel
|
||||
|
||||
/**
|
||||
* 判断是否管理员
|
||||
* @return bool
|
||||
*/
|
||||
public function isAdmin()
|
||||
{
|
||||
return in_array('admin', $this->identity);
|
||||
$this->identity('admin');
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断用户权限(身份)
|
||||
* @param $identity
|
||||
*/
|
||||
public function identity($identity)
|
||||
{
|
||||
if (!in_array($identity, $this->identity)) {
|
||||
throw new ApiException('权限不足');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -241,9 +252,27 @@ class User extends AbstractModel
|
||||
|
||||
/**
|
||||
* 用户身份认证(获取用户信息)
|
||||
* @return array|mixed
|
||||
* @return self
|
||||
*/
|
||||
public static function auth()
|
||||
{
|
||||
$user = self::authInfo();
|
||||
if (!$user) {
|
||||
$authorization = Base::getToken();
|
||||
if ($authorization) {
|
||||
throw new ApiException('身份已失效,请重新登录', $user, -1);
|
||||
} else {
|
||||
throw new ApiException('请登录后继续...', [], -1);
|
||||
}
|
||||
}
|
||||
return $user;
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户身份认证(获取用户信息)
|
||||
* @return self|false
|
||||
*/
|
||||
private static function authInfo()
|
||||
{
|
||||
global $_A;
|
||||
if (isset($_A["__static_auth"])) {
|
||||
@ -277,24 +306,6 @@ class User extends AbstractModel
|
||||
return $_A["__static_auth"] = false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户身份认证(获取用户信息)
|
||||
* @return array
|
||||
*/
|
||||
public static function authE()
|
||||
{
|
||||
$user = self::auth();
|
||||
if (!$user) {
|
||||
$authorization = Base::getToken();
|
||||
if ($authorization) {
|
||||
return Base::retError('身份已失效,请重新登录', $user, -1);
|
||||
} else {
|
||||
return Base::retError('请登录后继续...', [], -1);
|
||||
}
|
||||
}
|
||||
return Base::retSuccess("auth", $user);
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成token
|
||||
* @param self $userinfo
|
||||
@ -308,38 +319,6 @@ class User extends AbstractModel
|
||||
return $userinfo->token;
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断用户权限(身份)
|
||||
* @param $identity
|
||||
* @return array
|
||||
*/
|
||||
public static function identity($identity)
|
||||
{
|
||||
$user = self::auth();
|
||||
if (is_array($user->identity)
|
||||
&& in_array($identity, $user->identity)) {
|
||||
return Base::retSuccess("success");
|
||||
}
|
||||
return Base::retError("权限不足");
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断用户权限(身份)
|
||||
* @param $identity
|
||||
* @return bool
|
||||
*/
|
||||
public static function identityCheck($identity)
|
||||
{
|
||||
if (is_array($identity)) {
|
||||
foreach ($identity as $id) {
|
||||
if (!Base::isError(self::identity($id)))
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return Base::isSuccess(self::identity($identity));
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断用户权限(身份)
|
||||
* @param $identity
|
||||
|
Loading…
x
Reference in New Issue
Block a user