Phone: 158 4018 8888 Email: 407593529@qq.com

控制器

2026-02-25 17:25:22 2

控制器

controller控制器是api接口的载体。控制器接收到api接口请求,调用services层中的具体功能实现模块,返回给api接口。

控制器的位置

app\adminapi\controller 管理端控制器
app\api\controller 前端控制器

core\base\BaseController 控制器基类

BaseController类按照端口,有以下子类

BaseAdminController、 BaseApiController
这几个类的文件都定义在 niucloud\core\base 文件夹中。
BaseController是所有控制器类的基类,对于可能在多个端口都会调用的控制器类,一般继承自他。
BaseAdminController是Admin管理端的控制器的基类
BaseApiController是前端的控制器的基类
 

后台管理会员的控制器继承实现如下

class User extends BaseAdminController
{
    public function lists(){
        $data = $this->request->params([
            ['username', ''],
            ['real_name', '']
        ]);

        $list = (new UserService())->getUserAdminPage($data);
        return success($list);
    }

    /**
     * 用户详情
     * @param $uid
     * @return Response
     */
    public function info($uid){
        return success((new UserService())->getUserAdminInfo($uid));
    }
}

通过继承BaseAdminController,自动实现了权限和路由的控制。调用Service方法直接返回给api接口。

前台会员控制器继承自BaseApiController, 实现了各种前台会员的api接口

namespace app\api\controller\member;

use app\service\api\login\AuthService;
use app\service\api\member\MemberLogService;
use app\service\api\member\MemberService;
use core\base\BaseApiController;
use think\Response;

class Member extends BaseApiController
{

    /**
     * 会员信息
     * @return Response
     */
    public function info(){
        return success((new MemberService())->getInfo());
    }

    /**
     * 会员中心
     * @return Response
     */
    public function center(){
        return success((new MemberService())->center());
    }

    /**
     * 修改会员
     * @param $member_id
     * @param $field
     * @return Response
     */
    public function modify($field){
        $data = $this->request->params([
            ['value', ''],
            ['field', $field],
        ]);
        $data[$field] = $data['value'];
        $this->validate($data, 'app\validate\member\Member.modify');
        (new MemberService())->modify($field, $data['value']);
        return success('MODIFY_SUCCESS');
    }

    /**
     * 编辑会员
     * @return Response
     */
    public function edit(){
        $data = $this->request->params([
            ['data', []],
        ]);
        (new MemberService())->edit($data['data']);
        return success('MODIFY_SUCCESS');
    }

    /**
     * 绑定手机号
     * @return void
     */
    public function mobile(){
        $data = $this->request->params([
            ['mobile',  ''],
            ['mobile_code', ''],
        ]);
        return success((new AuthService())->bindMobile($data['mobile'], $data['mobile_code']));
    }

    /**
     * 会员日志
     * @return Response
     */
    public function log(){
        $data = $this->request->params([
            ['route', ''],
            ['params', ''],
            ['pre_route', '']
        ]);
        (new MemberLogService())->log($data);
        return success('SUCCESS');
    }
}

选择样式

选择布局
选择颜色
选择背景
选择背景