實際開發中,后端返回給前端的參數往往都是這樣的。

所以我們需要對參數返回形式做個統一的處理
在app目錄下的common.php中定義的方法全局都可調用,所以在這個文件中定義此方法。
```
<?php
use think\Response;
// 應用公共文件
// 統一返回數據格式
function result($data = [], string $msg = 'error', int $code = 200, string $type = 'json'):Response {
$result = [
"code" => $code,
"msg" => $msg,
"data" => $data
];
// 調用Response的create方法,指定code可以改變請求的返回狀態碼
return Response::create($result, $type)->code($code);
}
```
*app/middleware/CheckToken.php*
```
<?php
namespace app\middleware;
use thans\jwt\facade\JWTAuth;
use thans\jwt\exception\JWTException;
class CheckToken
{
public function handle($request, \Closure $next)
{
// OPTIONS請求直接返回
if ($request->isOptions()) {
return response();
}
try {
JWTAuth::auth();
}catch (JWTException $e) {
return result(null, $e->getMessage(), 401);
}
return $next($request);
}
}
```
- 空白目錄
- 使用thinkphp6搭建后端api接口流程
- tp6 uniapp vue 前后端跨域解決方案
- 操作記錄
- api00
- 你看看有沒有用
- 6666
- Docker安裝LNMP環境的詳細過程(可部署TP項目)
- LNMP部署thinkphp
- 玩客云Armbian 安裝LNMP環境 Docker
- ThinkPHP6項目基操(16.實戰部分 redis+token登錄)
- ThinkPHP6項目基操(11.實戰部分 部署后臺靜態頁面模板及后臺登錄頁面)
- ThinkPHP6項目基操(13.實戰部分 項目中的自定義異常處理總結 錯誤頁面API錯誤)
- ThinkPHP6項目基操(14.實戰部分 中間件處理登錄流程)
- ThinkPHP6項目基操(12.實戰部分 驗證碼)
- ThinkPHP6項目基操(18.實戰部分 表單令牌Token 防CSRF)
- ThinkPHP6項目基操(19.實戰部分 Mysql模型事務操作)
- ThinkPHP6項目基操(20.實戰部分 數據庫操作返回值總結)
- 瀏覽器端判斷當前設備的運行環境
- api
- api異常捕捉
- 寫一個中間件
- 統一的參數返回形式
- ThinkPHP6調用模型的方法
- thinkphp6控制器、驗證器、模型、service,各層寫的內容