Files
sentos/app/controller/admin/auth/Role.php
2023-10-21 21:18:46 +08:00

110 lines
2.7 KiB
PHP

<?php
// +----------------------------------------------------------------------
// | SentCMS [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013 http://www.tensent.cn All rights reserved.
// +----------------------------------------------------------------------
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
// +----------------------------------------------------------------------
namespace app\controller\admin\auth;
use app\controller\Base;
use app\services\auth\RoleService;
class Role extends Base{
/**
* @title 角色列表
*
* @time 2019年12月09日
* @return string|Json
*/
public function index() {
$tree = app()->make(RoleService::class)->getRolesList($this->request, true);
$this->data['code'] = 1;
$this->data['data'] = $tree;
return $this->data;
}
/**
* @title 角色添加
* @time 2019年12月11日
* @param $id
* @param Request $request
* @return Array
*/
public function add(RoleService $service) {
try {
$service->createRole($this->request);
$this->data['code'] = 1;
} catch (\Exception $e) {
$this->data['code'] = 0;
$this->data['message'] = $e->getMessage();
}
return $this->data;
}
/**
* @title 角色修改
* @time 2019年12月11日
* @param $id
* @param Request $request
* @return Array
*/
public function edit(RoleService $service) {
try {
$service->updateRole($this->request);
$this->data['code'] = 1;
} catch (\Exception $e) {
$this->data['code'] = 0;
$this->data['message'] = $e->getMessage();
}
return $this->data;
}
/**
* @title 角色授权
* @time 2019年12月11日
* @param $id
* @param Request $request
* @return Array
*/
public function auth() {
$role_id = $this->request->param('role_id', '');
$auth = $this->request->param('auth', '');
$service = app()->make(RoleService::class);
try {
$service->updateRolePermission($role_id, $auth);
$service->updateRoleAuth($this->request);
$this->data['code'] = 1;
} catch (\Exception $e) {
$this->data['code'] = 0;
$this->data['message'] = $e->getMessage();
}
return $this->data;
}
/**
* @title 删除角色
*
* @time 2019年12月11日
* @param $id
* @throws FailedException
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
* @return Json
*/
public function delete(){
try {
$service = app()->make(RoleService::class)->deleteRole($this->request);
$this->data['code'] = 1;
} catch (\Exception $e) {
$this->data['code'] = 0;
$this->data['message'] = $e->getMessage();
}
return $this->data;
}
}