api接口当设置token认证时请求接口出现参数错误

我们直接以api接口 账号密码登录生成为例子说明  接口生成设置如下

5de8e4f84d711.png


生成的代码如下 

/**
	* @api {post} /Member/login 01、账号密码登录
	* @apiGroup Member
	* @apiVersion 1.0.0
	* @apiDescription  账号密码登录
	
	* @apiParam (输入参数:) {string}     		username 登录用户名
	* @apiParam (输入参数:) {string}     		password 登录密码

	* @apiParam (失败返回参数:) {object}     	array 返回结果集
	* @apiParam (失败返回参数:) {string}     	array.status 返回错误码 201
	* @apiParam (失败返回参数:) {string}     	array.msg 返回错误消息
	* @apiParam (成功返回参数:) {string}     	array 返回结果集
	* @apiParam (成功返回参数:) {string}     	array.status 返回错误码 200
	* @apiParam (成功返回参数:) {string}     	array.msg 返回成功消息
	* @apiSuccessExample {json} 01 成功示例
	* {"status":"200","msg":"操作成功"}
	* @apiErrorExample {json} 02 失败示例
	* {"status":"201","msg":"操作失败"}
	*/
	function login(){
		$data = $this->request->post();
		if(empty($data['username']) || empty($data['password'])) return json(['status'=>$this->errorCode,'msg'=>'账号或者密码不能为空']);
		try{
			$res = MemberService::login($data);
		}catch(\Exception $e){
			Log::error('错误:'.print_r($e->getMessage(),true));
			return json(['status'=>$this->errorCode,'msg'=>$e->getMessage()]);
		}
		if($res){
			$ret = ['status'=>$this->successCode,'data'=>$res,'token'=>$this->setToken($res['member_id'])];
		}else{
			$ret = ['status'=>$this->errorCode,'msg'=>'登录失败'];
		}
		Log::info('接口返回:'.print_r($ret,true));
		return json($ret);
	}

正常的看代码生成的没问题 登陆请求也没问题   但是例如查看会员信息时总是提示参数错误

为什么会这样???


如果跟着代码走 会发现token解码出来的 uid为空 因为我们登陆的时候 并没有返回用户id  也没有将用户id编码到token里面去 所以 token解码还原用户id的时候 就无法还原出来


我们只需要设置用户id字段 设置为可录入 然后勾选上重新生成即可

5de8e7b29f665.png