品优购项目权限接口
封装无限极菜单分类方法
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);
    }
} 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号