*/ namespace app\controller\api; use app\BaseController; use app\util\ReturnCode; use think\facade\Env; use think\Response; class Base extends BaseController { private $debug = []; protected $userInfo = []; public function _initialize() { // $this->userInfo = ''; 这部分初始化用户信息可以参考admin模块下的Base去自行处理 } public function buildSuccess(array $data = [], string $msg = '操作成功', int $code = ReturnCode::SUCCESS): Response { $return = [ 'code' => $code, 'msg' => $msg, 'data' => $data ]; if (Env::get('APP_DEBUG') && $this->debug) { $return['debug'] = $this->debug; } return json($return); } public function buildFailed(int $code, string $msg = '操作失败', array $data = []): Response { $return = ['code' => $code, 'msg' => $msg, 'data' => $data]; if (Env::get('APP_DEBUG') && $this->debug) { $return['debug'] = $this->debug; } // 根据 code 映射 HTTP 状态码 $httpCode = match($code) { ReturnCode::AUTH_ERROR => 401, ReturnCode::ACCESS_TOKEN_TIMEOUT => 401, ReturnCode::INVALID => 404, //ReturnCode::NO_PERMISSION => 403, default => 400, }; return json($return, $httpCode); } protected function debug($data): void { if ($data) { $this->debug[] = $data; } } }