api接口的公众号登录移植到cms应用

当cms应用中 也需要获取微信用户信息 我们可以将api生成的微信登录信息的代码直接拿过来

//微信授权获取用户openid 此处如果用户信息存储了openid 最好直接去读取 不用这种授权的形式(静默授权)
$url = $this->request->url(true);	//获取当前url地址 也就是授权重定向到改地址
$user = \utils\wechart\UserService::getUserInfo($url,$this->_data,'snsapi_base');	//获取用户信息


拿过来以后我们发现公众号在不停重复的在跳转 

原因是什么?

因为 在api里面  有一个

$this->_data 操作该操作获取微信回调时返回的code


而我们cms应用并没有这个属性 所以我们要改成如下

//微信授权获取用户openid 此处如果用户信息存储了openid 最好直接去读取 不用这种授权的形式(静默授权)
$url = $this->request->url(true);	//获取当前url地址 也就是授权重定向到改地址
$user =\utils\wechart\UserService::getUserInfo($url,$this->request->param(),'snsapi_base');//获取用户信息


需要注意该操作会请求两次第一个授权、第二次回调 回调会带上code参数  如果做业务逻辑请注意判断