vue admin php,thinkphp-vue-admin 后台接口 | 前后端分离解决方案

thinkphp-vue-admin 后台接口 | 前后端分离解决方案

它一套有thinkphp开发集成性后台接口,内置权限管理,api响应,psysh等多功能工具

推荐一个thinkphp 权限管理包:

他的作用

自带登录校验

快速完成数据格式校验

自带权限管理机制

支持权限管理自动生成节点

自带响应格式处理

支持后端的菜单控制

利用它

快速搭建基础的 前后端分离场景下的后台

账号: admin

密码: admin123

安装

git clone https://github.com/surest-sky/think-vue-admin-api.git

cd think-vue-admin-api

composer install

导入 目录下的 `permission.sql`

初始化权限节点

php think init_permission --action reset

有关应用

psysh

> php think psysh

\app\common\Example::psysh();

输出: 2

-> php think psysh

\app\common\Example::init_permission();

输出: 更新节点完成

自定义验证器 | validate

具体使用方法不详说, 大概如下

定义一个验证器, 继承 app\common\validate\BaseValidate

验证数据

$validate = (new CircleValidate())->goCheck();

$data = $validate->validatedData(); # 获取验证通过的数据

然后常用的正则和一些方法都可以写到 BaseValidate 中即可

例如常用验证 ids 格式如 1,2,3,4 的数据可以这样获取

# 校验ids

$validate = (new IdsValidate())->goCheck();

$ids = $validate->getIds();

响应方式

$this->successed();

{

"msg": "success",

"code": 200,

"data": {}

}

$this->internalError();

{

"msg": "服务器错误",

"code": 500,

"data": {}

}

$this->notFond();

{

"msg": "未找到",

"code": 404,

"data": {}

}

$this->frobidden();

{

"msg": "未授权",

"code": 401,

"data": {}

}

$this->failed();

{

"msg": "授权失败",

"code": 403,

"data": {}

}

在 BaseController 中

use ApiResponse;

继承 BaseController

使用响应的时候, 直接

$this->successed($list);

异常处理控制

在 app.php 中, 我们接管了异常, 响应格式替换为我们的 ApiResponse

具体见方法, app\common\exception\Handler

异常处理控制后, 可定制化异常处理

简单说明一下:

在handler.php通过传递当前抛出异常的 exception 和我们需要针对化处理的异常进行校验, 采用的也就是 instanceof 去判断来自于哪个异常

这样做的好处就是, 针对不用的异常进行监控, 并抛出指定的异常错误信息 或者 日志

自定义的异常处理 必须 继承 CustomExceptionInterface 接口, 通过 showMsg 来处理抛出异常

代码中, 我们会发现一个问题, 在 handler.php 中 异常信息是返回的, 官方文档中有介绍, **使用异常处理接管的函数必须返回一个 response 响应, 所以可以看到 在 BaseException 中

设置了 is_anomaly_andling_takeover 就是告诉 ApiResponse 需要返回一个response响应

交流群

QQ 交流群

1460000019851126?w=240&h=180

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值