品优购项目权限接口

封装无限极菜单分类方法

if(!function_exists("get_cate_list")){
    //返回无限级分类菜单
    function get_cate_list($list,$pid=0,$f=0){
        //声明一个静态数组存储处理后的数据
        static $arr = [];
        foreach($list as $val){
            if($val['pid']==$pid){
                $val['level'] = $f;
                $arr[]=$val;
                get_cate_list($list,$val['id'],$f+1);
            }
        }
        return $arr;
    }
}

查询权限

    public function index()
    {
        //接收参数
        $keywords = input('get.keywords', "");
        //调用模型查询权限菜单
        $auths = Auth::getAuths($keywords);
        //处理成层级显示
        $auths = get_cate_list($auths);
        // 返回数据
        return success($auths);
    }

新增权限方法

 public function save(Request $request)
    {
        $data=$request->post();
        //接收数据验证
        try {
            $validated = $this->validate($data, [
                'auth_name|权限名称' => 'require',
                'pid|父级权限名称' => 'require',
                'is_nav|是否是菜单'=>'require',

            ]);
        }catch (ValidateException $exception){
            return fail($exception->getMessage());
        }
        //默认为顶级权限
        $data['level']=0;
        $data['pid_path']=0;
        //判断添加的是否为顶级权限
        if ($data['pid']!=0){
            //查询处父级权限信息
            $parentAuth=Auth::getAuth($validated['pid']);
            //level:父级权限的level+1
            $data['level']=$parentAuth['level']+1;
            //pid_path:父级权限的pid_path+父级权限的id
            $data['pid_path']=$parentAuth['pid_path'].'_'.$parentAuth['id'];
        }
        try {
            $addAuth=Auth::addAuth($data);
        }catch (ValidateException $exception){
            return fail($exception->getMessage());
        }
        return success($addAuth);

    }

显示指定资源

    public function read($id)
    {
        //判断传入id必须为纯数字且不是0
        if (!is_numeric($id) || $id == 0){
            return fail("参数格式不正确");
        }
        //查询详情信息返回
        try{
            $authDate=Auth::getAuth($id);
        }catch (ValidateException$exception){
            return fail($exception->getMessage());
        }
        return success($authDate);

    }

定义查询权限信息模型

//    查询权限信息
    public static function getAuths($authName){
        return self::where('auth_name','like',"%$authName%")->select();
    }

定义查询父级权限模型

//    查询父级权限
    public static function getAuth($pid){
        return self::find($pid);
    }

定义增加权限信息模型

//增加权限信息
    public static function addAuth($data){
        return self::create($data);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呀哈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值