Home > php教程 > php手册 > 微信公众平台页面授权处理方法(单一方法处理)

微信公众平台页面授权处理方法(单一方法处理)

WBOY
Release: 2016-06-07 11:35:05
Original
1709 people have browsed it

在使用微信公众平台进行第三方开发的过程中,我们经常会遇到需要调用微信页面授权、从而获取用户信息。但是单一的使用微信页面授权的方式进入页面,总会存在跳转到微信页面进行授权的问题,这样就会增加用户进入页面所费时间,从而影响用户体验。
所以我们需要一种方式,借助其他机制等,不必要使得用户每次均要跳转到微信页面授权位置。这样在用户不是第一次进入页面的过程中,即可以不用跳转微信页面授权,从而减少用户进入页面时间,提升用户体验。
这样的使用方式,可以借助服务器session机制,利用if判断,进行判断。
示例代码如下:public function OAuth() {<br>             header('Content-type: text/html; charset=utf-8');<br>             //首先获取微信配置信息<br>             $m_sssmall_conf_weixin = M('sssmall_conf_weixin');<br>             $conf = $m_sssmall_conf_weixin->where('id=1')->find();<br>             //将appid、appsecret设为超全局变量,便于调用。<br>             $appid = $conf['appid'];<br>             $appsecret = $conf['appsecret'];<br>             //$access_token = getApiToken();<br>             dump($_SESSION['oauth']);<br>             //条件判断(假如session不存在,进行页面授权,并设置session)<br>             if (empty($_SESSION['oauth']) && empty($_GET['code'])) {<br>                 $redirect_uri = $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; //此即为本页面地址<br>                 $redirect_uri = urlencode($redirect_uri);<br>                 $getCodeUrl = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' . $appid . '&redirect_uri=' . $redirect_uri . '&response_type=code&scope=snsapi_userinfo&state=oauth#wechat_redirect';<br>                 redirect($getCodeUrl, 0);<br>             } elseif (!empty($_GET['code']) && empty($_SESSION['oauth'])) {<br>                 $getAccesstokenUrl = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=' . $appid . '&secret=' . $appsecret . '&code=' . $_GET['code'] . '&grant_type=authorization_code';<br>                 $res = WeChat_request($getAccesstokenUrl);<br>                 $openid = $res->openid;<br>                 $_SESSION['oauth'] = $openid;<br>                 dump($openid);<br>                 //获取用户信息存储<br>             } else {<br>                 dump('第二次进入');<br>                 dump($_SESSION['oauth']);<br>             }<br>             dump('看到我就证明成功啦');<br> }

AD:真正免费,域名+虚机+企业邮箱=0元

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template