<?php /** * 字段授权控制器 * * @author qifan * @date 2020-12-02 */ namespace app\admin\controller; use app\admin\logic\FieldGrantLogic; use think\Hook; use think\Request; class FieldGrant extends ApiCommon { /** * 用于判断权限 * @permission 无限制 * @allow 登录用户可访问 * @other 其他根据系统设置 **/ public function _initialize() { $action = [ 'permission'=>[''], 'allow'=>['index', 'update'] ]; Hook::listen('check_auth',$action); $request = Request::instance(); $a = strtolower($request->action()); if (!in_array($a, $action['permission'])) { parent::_initialize(); } } /** * 字段授权列表 * * @param FieldGrantLogic $fieldGrantLogic * @return \think\response\Json * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\ModelNotFoundException * @throws \think\exception\DbException */ public function index(FieldGrantLogic $fieldGrantLogic) { $data = $fieldGrantLogic->index($this->param); return resultArray(['data' => $data]); } /** * 更新授权信息 * * @param FieldGrantLogic $fieldGrantLogic * @return \think\response\Json * @throws \think\Exception * @throws \think\exception\PDOException */ public function update(FieldGrantLogic $fieldGrantLogic) { if (empty($this->param['grant_id'])) return resultArray(['error' => '缺少授权ID!']); if (empty($this->param['content'])) return resultArray(['error' => '缺少授权数据!']); $status = $fieldGrantLogic->update($this->param['grant_id'], $this->param['content']); if ($status === false) { return resultArray(['error' => '更新授权信息失败!']); } return resultArray(['data' => '更新授权信息成功!']); } }