* * @return mixed */ public function index() { $permissions = model('Permissions')::all(); for ($i = 0; $i < count($permissions) ;$i++) $permissions[$i]['open'] = true; return IResponse::success($permissions); } /** * 新增 * * @author 许祖兴 < zuxing.xu@lettered.cn> * * @return mixed */ public function save() { $params = $this->request->param(); $valid = $this->validate($params, [ 'parent_id|上级ID' => 'require', 'name|用户名' => 'require', 'type|类型' => 'require', 'url|路径' => 'require', 'policy|识标' => 'require' ]); (true !== $valid) && IResponse::failure($valid); model('Permissions')->storeBy($params); return IResponse::success('新增授权规则成功'); } /** * * @author 许祖兴 < zuxing.xu@lettered.cn> * * @param int $id * @return mixed */ public function update($id) { // 接收数据 $params = $this->request->param(); $permission = model('Permissions')->findBy($id); if ($permission->updateBy($id, $params)){ // casbin处理 $permissions = model('PermissionsAccess')->getAll([ 'v1' => $permission->url, 'v2' => $permission->policy ]); foreach ($permissions as $permission){ $permission->v1 = $params['url']; $permission->v2 = $params['policy']; $permission->save(); } } return IResponse::success('更新授权规则成功'); } /** * 删除授权规则 * * @author 许祖兴 < zuxing.xu@lettered.cn> * @date 2020/3/18 11:14 * * @param int $id 权限ID * @return \think\response\Json */ public function delete($id) { $result = model('Permissions')::destroy($id); return IResponse::success($result,'删除授权规则成功'); } }