返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >12月13日:跟着猫叔写代码,fastadmin中Api相关只是
  • 376
分享到

12月13日:跟着猫叔写代码,fastadmin中Api相关只是

后端php 2023-09-05 06:09:30 376人浏览 薄情痞子
摘要

api权限管理 api常用返回信息实例 api获取所有方法,都在common目录下cotroller文件夹中Api.PHP中 public function test2() { //$this->success(

api权限管理

api常用返回信息实例

api获取所有方法,都在common目录下cotroller文件夹中Api.PHP

    public function test2()    {        //$this->success('返回成功', ['action' => 'test2']);        //判断当前用户是否登录        //$this->success('返回成功', $this->auth->isLogin());        //获取登录用户id        //$this->success('返回成功', $this->auth->id);        //获取登录用户所有信息,但不包含token        //$this->success('返回成功', $this->auth->getUser());        //获取当前用户token       //   $this->success('返回成功', $this->auth->getToken());        //获取用户的基本信息,包含token不包含用户密码        //$this->success('返回成功', $this->auth->getUser());        //获取当前用户请求路径        $this->success('返回成功', $this->auth->getRequestUri());    }
未登录返回数据
判断当前用户是否登录
获取登录用户id
获取登录用户所有信息,但不包含token
获取当前用户token
获取用户的基本信息,包含token不包含用户密码
获取当前用户请求路径

模拟小程序登录

    public function test1()    {        //模拟小程序端用户传入用户名        $openid = "123456";        $username="123456";        //查询数据库user表中数据        $search_res=Db::name('user')->whereOr('username',$username)->whereOr('openid',$openid)->find();        if ($search_res){            //如果查到该用户则返回用户id            $this->success('返回成功',$search_res['id']);        }else{            $registerRes = $this->auth->register($username,$username,'','',['openid'=>$openid]);            //如果没有查询到,即返回注册            $this->success('执行注册',$reGISterRes);        }    }
如果执行代码未查询到该用户,则进入执行注册
已有账户,返回账户id

执行查询用户成功,跳转到登录
修改代码,用户可直接登录
直接登录

遇到的问题以及解决方法

风险

当前学习数据库比对是使用whereor()方法,但是在实际开发中这种操作会有风险,就是openid和username只有一项符合,即可直接登录

解决办法

第一种

执行注册时监听用户的id和token

注册成功后监听当前用户id和token
监听到的token和id,登录后z展示与id相符合的用户

第二种

编写退出操作,执行成功后,不会直接登录,会退出让用户再次进行登录操作

注册后退出操作,让用户重新进行登录
执行注册,重新登陆

登录之后的token怎么处理

token如何在传递中如何带上数据

两种方法

第一种方法:body中带上token
第二种方法:header中带上token

token处理官方文档

token的官方文档

每次只能使用当前获取到的token才可进行登录

Token获取到之后,操作token的方法都在common目录下的Token.php

前端官方文档(前端 - FastAdmin框架文档 - FastAdmin开发文档

 table(常用)(表格的详细介绍以及使用:一张图解析FastAdmin中的表格列表的功能 - FastAdmin问答社区

表单(常用)(详细文档:前端 - FastAdmin框架文档 - FastAdmin开发文档

动态下拉菜单(官方文档:动态下拉(SelectPage) - FastAdmin框架文档 - FastAdmin开发文档

前端添加

搜索添加

 后端引入js的方法

(注入js)

可以分别放入你想显示的前端页面,如果想显示在某个模块下的所有页面,则将这段代码放入模块的js文件中即可

权限管理树形结构实现

首先需要找到当前后台权限管理树形结构的源代码位置

 jstree的中文官网(jsTree 中文网

首先需要在控制器的ceshi.php中声明数据

 public function testtree(){        $data = '[{            "id": 1,            "parent": #,            "text":"控制台",            "type":"menu",            "state":{                "selected":true            }        },{            "id": 13,            "parent": 1,            "text":"查看",            "type":"menu",            "state":{                "selected":true            }        },{            "id": 16,            "parent": 1,            "text":"删除",            "type":"menu",            "state":{                "selected":true            }        },{            "id": 2,            "parent": #,            "text":"菜单",            "type":"menu",            "state":{                "selected":true            }        },{            "id": 15,            "parent": 2,            "text":"增加",            "type":"menu",            "state":{                "selected":true            }        },{            "id": 19,            "parent": 2,            "text":"编辑",            "type":"menu",            "state":{                "selected":true            }        }]';    }

然后需要在js文件中引入jstree并且使用ajax传递数据

 前端页面,空标签用来接收

 由于我的有问题,无法实现

来源地址:https://blog.csdn.net/qq_53457276/article/details/128296510

--结束END--

本文标题: 12月13日:跟着猫叔写代码,fastadmin中Api相关只是

本文链接: https://lsjlt.com/news/394785.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作