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

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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