You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

74 lines
1.9 KiB

4 years ago
<?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' => '更新授权信息成功!']);
}
}