继承
控制器需要继承模块的基础控制器,基础控制器需要继承控制器基类。
以admin模块为例,控制器继承AdminController,文件位置:app/admin/controller/AdminController.php。可以通过$this->adminId获取管理员id,$this->adminInfo获取管理员信息
<?php
namespace app\admin\controller;
use tmcore\base\BaseController;
use think\App;
class AdminController extends BaseController
{
/**
* 管理员id
*/
protected $adminId = 0;
/**
* 管理员信息
*/
protected $adminInfo;
/**
* 初始化方法
* @return bool|mixed
*/
public function initialize()
{
if (isset($this->request->adminInfo) && $this->request->adminInfo) {
$this->adminInfo = $this->request->adminInfo;
$this->adminId = $this->request->adminInfo['id'];
}
}
}登陆验证
以admin模块为例,登陆经过中间件进行验证,路由关联中间件
// 权限验证中间件
app/admin/middleware/AuthMiddleware.php
// 登陆验证中间件
app/admin/middleware/LoginMiddleware.php
// 操作日志中间件
app/admin/middleware/OperationLog.php内置方法
继承了控制器基类的控制器,可以调用以下方法,统一使用$this->方法(参数...)调用
/**
* 成功返回的json数据
*/
protected function success($data = [], $msg = 'success', $code = 0, $header = [])
/**
* 失败返回的json数据
*/
protected function error($msg = '', $code = 10000, $data = [], $header = [])
/**
* 返回json数据
*/
protected function data($data = [],$header = [])
/**
* URL重定向
*/
protected function redirect($url, $code = 302, $with = [])
/**
* 获取get请求数据
*/
protected function getData($params = [], $suffix = false)
/**
* 获取post请求数据
*/
protected function postData($params = [], $suffix = false)
/**
* 获取delete请求数据
*/
protected function deleteData($params = [], $suffix = false)
/**
* 获取param请求数据
*/
protected function paramData($params = [], $suffix = false)控制器调用方法
<?php
namespace app\admin\controller;
use think\response\Json;
class Index extends AdminController
public function test()
{
return $this->success();//返回成功
return $this->error('请求错误'); //返回失败
return $this->data($data); //返回数据
return $this->redirect($url); //重定向
$params = $this->getData(['id']); //获取get请求数据
$params = $this->postData([['name', ''],['age', 18]]); //获取post请求数据
$params = $this->deleteData(); //获取delete请求数据
$params = $this->paramData(); //获取param请求数据
}
}返回值
统一接口返回值的格式和说明
{
"code": 0,
"data": {
"lists": [],
"page_limit": 15,
"page_num": 1,
"page_total": 100,
},
"msg": "",
}| 字段 | 名称 | 类型 | 必显 | 说明 |
|---|---|---|---|---|
| code | 状态码 | int | 是 | 0-成功,非0-错误码 |
| data | 数据 | object | 是 | 业务数据 |
| - lists | 列表数据 | array | 否 | 数据列表数组内容 |
| - page_limit | 每页条数 | int | 否 | 当前每页条数 |
| - page_num | 页数 | int | 否 | 当前页数 |
| - page_total | 总数 | int | 否 | 数据列表总数 |
| msg | 提示信息 | string | 是 | success-成功,其他-错误信息 |
