提个建议,文档中小程序开发第三章有个错误


$rd_session = input('rd_session')应该放在调用父类parent::initialize()之前;
不然会报未定义或不存在rd_session
因为父类初始化中用到了rd_session,教程中先调用父类才接受的rd_session参数,导致父类拿不到rd_session的值
需要把代码顺序颠倒一下,先接受后调用
<?php
namespace miniapp\helloWorld\controller;


use app\common\controller\MiniappAddon;

class Api extends MiniappAddon
{
public $isCheckLogin = true;//开启登录验证

public function initialize()
{
parent::initialize();
$rd_session = input('rd_session');//key可自定:可以使用token、session_id,我在此使用rd_session
if ($rd_session) {
//如果存在赋值 $this->rd_session
$this->rd_session = $rd_session;
}
}

public function index()
{
//返回小程序
return json(['rd_session' => $this->rd_session,'userInfo' => $this->userinfo]);
}
}
已邀请:

geeson

赞同来自:

感谢你的反馈,其实这块地方的确是比较严格了,只要开启登录验证,那个整个控制所有的方法,都必须要求有
rd_session这个参数,验证登录是否合法,这也是为了更加安全考虑,说白了,只要开启了登录难,请求只要带上
rd_session就不会报未定义或不存在rd_session

要回复问题请先登录注册