重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
怎么在Yii中利用EasyWechat获取小程序用户的openID?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
创新互联公司专注于永康企业网站建设,成都响应式网站建设公司,购物商城网站建设。永康网站建设公司,为永康等地区提供建站服务。全流程按需搭建网站,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务一:安装EasyWechat
在Yii使用EasyWechat,有两个拓展可以使用,分别为jianyan74/yii2-easy-wechat 适用于 EasyWeChat 4.x,max-wen/yii2-easy-wechat 适用于 EasyWeChat 3.x,这里我是用的是jianyan74/yii2-easy-wechat拓展
composer require jianyan74/yii2-easy-wechat
二:配置EasyWechat
1:在config/main.php 的 component中添加
'wechat' => [ 'class' => 'jianyan\easywechat\Wechat', 'userOptions' => [], // 用户身份类参数 'sessionParam' => 'wechatUser', // 微信用户信息将存储在会话在这个密钥 'returnUrlParam' => '_wechatReturnUrl', // returnUrl 存储在会话中 'rebinds' => [ // 自定义服务模块 ] ],
2:在config/params.php文件中添加(这里我只进行小程序的配置.其他配置可参考EasyWechat官网)
// 微信小程序配置 'wechatMiniProgramConfig' => \[ 'app\_id' => 'XXXX', 'secret' => 'XXXX', // 下面为可选项 // 指定 API 调用返回结果的类型:array(default)/collection/object/raw/自定义类名 'response\_type' => 'array', //日志配置 'log' => \[ 'level' => 'debug', 'file' => dirname(dirname(\_\_DIR\_\_)) . '/api/runtime/wechat.log', \], \],
三:根据前端传来的code获取用户的openID
$request = Yii::$app->getRequest(); $miniProgram = Yii::$app->wechat->miniProgram; $code2Session = $miniProgram->auth->session($request->post('code', '')); $openID = $code2Session\['openid'\];//用户的openID $sessionKey = $code2Session\['session\_key'\];//session\_key
四:小程序端的code值获取
在小程序端可以使用wx.login方法来获取code值
wx.login({ success (res) { if (res.code) { //获取code console.log(res.code) }) } else { console.log('登录失败!' + res.errMsg) } } })
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联网站建设公司,的支持。