我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录