| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- <?php
- namespace app\admin\controller\auth;
- use app\common\controller\AdminController;
- use app\http\IResponse;
- class Permission extends AdminController
- {
- /**
- * 授权规则列表
- *
- * @author 许祖兴 < zuxing.xu@lettered.cn>
- *
- * @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,'删除授权规则成功');
- }
- }
|