fastAdmin API方法解析,如何深入掌握?

2026-04-02 03:321阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计785个文字,预计阅读时间需要4分钟。

fastAdmin API方法解析,如何深入掌握?

准备工作:

1.fastAdmin伪静态设置:参考ThinkPHP URL重写配置,访问链接:[https://www.kancloud.cn/manual/thinkphp5/177576](https://www.kancloud.cn/manual/thinkphp5/177576)

2.Nginx配置虚拟主机:编辑`/conf/vhosts/hostname.conf`

3.安装FeHelper插件:参考Web开发者助手FeHelper,访问链接:[https://www.baidufe.com](https://www.baidufe.com)

准备工作:

1.fastAdmin伪静态设置

参考:ThinkPHP URL重写: www.kancloud.cn/manual/thinkphp5/177576

Nginx:/conf/vhosts/hostname.conf

2.FeHelper插件安装

参考:Web开发者助手 FeHelper:www.baidufe.com/fehelper/index/index.html


一、api方法解析

1.api/controller/Demo.php中,可以使用基类中的接口方法,来获取想要的参数或数据:

public function test2() { // $this->success('返回成功', ['action' => 'test2']); // $this->success('返回成功', $this->auth->id); // $this->success('返回成功', $this->auth->islogin()); // $this->success('返回成功', $this->auth->getUser()); // $this->success('返回成功', $this->auth->getToken()); // $this->success('返回成功', $this->auth->getUserinfo()); $this->success('返回成功', $this->auth->getRequestUri()); }

基类:

common/controller/API.php

common/library/Auth.php

更多接口方法,可以在基类中查找。


二、api自动注册登录及退出

1.引入DB类及cookie类

use think\Db; use think\Cookie;

2.测试小程序用户自动注册及登陆功能

fastAdmin API方法解析,如何深入掌握?

在数据表user中新增小程序openid字段。

public function test1() { $openid = "ceshi1144"; $username = "wxcs1144"; $search_res = Db::name("user")->whereOr("username", $username)->whereOr("openid", $openid)->find(); if ($search_res) { $loginRes = $this->auth->direct($search_res['id']); if ($loginRes) { Cookie::set('uid', $this->auth->id); Cookie::set('token', $this->auth->getToken()); $this->success('登录成功', $loginRes); } else { $this->success('登录失败,未找到用户', $loginRes); } } else { $registerRes = $this->auth->register($username, $username, '', '', [ 'openid' => $openid ]); // 登录,写入当前id用户的cookie信息 // Cookie::set('uid', $this->auth->id); // Cookie::set('token', $this->auth->getToken()); $this->auth->logout(); // 注销 Cookie::delete('uid'); Cookie::delete('token'); $this->success("执行注册", $registerRes); } }

三、api登录后token使用方法和简单分析

目地:同时只能在同一个地方登陆,在另一个地方登陆时,销毁前面的token,创建新的token。

demo/test1和demo/test2两个接口说明:

test1接口不需要登录可以直接访问,执行注册或登陆行为;

test2接口是需要登陆后才可以访问的接口,所以需要先执行test1后拿到当前token,在请求test2接口时,在head头信息中,加上token信息,就可以实现登陆,就可以访问test2接口了。

具体代码如下:

/** * 无需登录的接口 * */ public function test1() { $openid = "ceshi1144"; $username = "wxcs1144"; $search_res = Db::name("user")->whereOr("username", $username)->whereOr("openid", $openid)->find(); if ($search_res) { //清除当前用户的token Token::clear($search_res["id"]); $loginRes = $this->auth->direct($search_res['id']); if ($loginRes) { //登录成功,获取新的token $token = $this->auth->getToken(); //将token写入浏览器 Cookie::set('uid', $this->auth->id); Cookie::set('token', $token); $this->success('登录成功',["token"=>$token]); } else { $this->success('登录失败,未找到用户', $loginRes); } } else { $registerRes = $this->auth->register($username, $username, '', '', [ 'openid' => $openid ]); // 登录,写入当前id用户的cookie信息 // Cookie::set('uid', $this->auth->id); // Cookie::set('token', $this->auth->getToken()); $this->auth->logout(); // 注销 Cookie::delete('uid'); Cookie::delete('token'); $this->success("执行注册", $registerRes); } }

/** * 需要登录的接口 * */ public function test2() { $this->success('返回成功', ['dataType' => 'user', 'dataValue' => $this->auth->getUserinfo()]); }

本文共计785个文字,预计阅读时间需要4分钟。

fastAdmin API方法解析,如何深入掌握?

准备工作:

1.fastAdmin伪静态设置:参考ThinkPHP URL重写配置,访问链接:[https://www.kancloud.cn/manual/thinkphp5/177576](https://www.kancloud.cn/manual/thinkphp5/177576)

2.Nginx配置虚拟主机:编辑`/conf/vhosts/hostname.conf`

3.安装FeHelper插件:参考Web开发者助手FeHelper,访问链接:[https://www.baidufe.com](https://www.baidufe.com)

准备工作:

1.fastAdmin伪静态设置

参考:ThinkPHP URL重写: www.kancloud.cn/manual/thinkphp5/177576

Nginx:/conf/vhosts/hostname.conf

2.FeHelper插件安装

参考:Web开发者助手 FeHelper:www.baidufe.com/fehelper/index/index.html


一、api方法解析

1.api/controller/Demo.php中,可以使用基类中的接口方法,来获取想要的参数或数据:

public function test2() { // $this->success('返回成功', ['action' => 'test2']); // $this->success('返回成功', $this->auth->id); // $this->success('返回成功', $this->auth->islogin()); // $this->success('返回成功', $this->auth->getUser()); // $this->success('返回成功', $this->auth->getToken()); // $this->success('返回成功', $this->auth->getUserinfo()); $this->success('返回成功', $this->auth->getRequestUri()); }

基类:

common/controller/API.php

common/library/Auth.php

更多接口方法,可以在基类中查找。


二、api自动注册登录及退出

1.引入DB类及cookie类

use think\Db; use think\Cookie;

2.测试小程序用户自动注册及登陆功能

fastAdmin API方法解析,如何深入掌握?

在数据表user中新增小程序openid字段。

public function test1() { $openid = "ceshi1144"; $username = "wxcs1144"; $search_res = Db::name("user")->whereOr("username", $username)->whereOr("openid", $openid)->find(); if ($search_res) { $loginRes = $this->auth->direct($search_res['id']); if ($loginRes) { Cookie::set('uid', $this->auth->id); Cookie::set('token', $this->auth->getToken()); $this->success('登录成功', $loginRes); } else { $this->success('登录失败,未找到用户', $loginRes); } } else { $registerRes = $this->auth->register($username, $username, '', '', [ 'openid' => $openid ]); // 登录,写入当前id用户的cookie信息 // Cookie::set('uid', $this->auth->id); // Cookie::set('token', $this->auth->getToken()); $this->auth->logout(); // 注销 Cookie::delete('uid'); Cookie::delete('token'); $this->success("执行注册", $registerRes); } }

三、api登录后token使用方法和简单分析

目地:同时只能在同一个地方登陆,在另一个地方登陆时,销毁前面的token,创建新的token。

demo/test1和demo/test2两个接口说明:

test1接口不需要登录可以直接访问,执行注册或登陆行为;

test2接口是需要登陆后才可以访问的接口,所以需要先执行test1后拿到当前token,在请求test2接口时,在head头信息中,加上token信息,就可以实现登陆,就可以访问test2接口了。

具体代码如下:

/** * 无需登录的接口 * */ public function test1() { $openid = "ceshi1144"; $username = "wxcs1144"; $search_res = Db::name("user")->whereOr("username", $username)->whereOr("openid", $openid)->find(); if ($search_res) { //清除当前用户的token Token::clear($search_res["id"]); $loginRes = $this->auth->direct($search_res['id']); if ($loginRes) { //登录成功,获取新的token $token = $this->auth->getToken(); //将token写入浏览器 Cookie::set('uid', $this->auth->id); Cookie::set('token', $token); $this->success('登录成功',["token"=>$token]); } else { $this->success('登录失败,未找到用户', $loginRes); } } else { $registerRes = $this->auth->register($username, $username, '', '', [ 'openid' => $openid ]); // 登录,写入当前id用户的cookie信息 // Cookie::set('uid', $this->auth->id); // Cookie::set('token', $this->auth->getToken()); $this->auth->logout(); // 注销 Cookie::delete('uid'); Cookie::delete('token'); $this->success("执行注册", $registerRes); } }

/** * 需要登录的接口 * */ public function test2() { $this->success('返回成功', ['dataType' => 'user', 'dataValue' => $this->auth->getUserinfo()]); }