温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么在Yii中利用EasyWechat获取小程序用户的openID

发布时间:2021-01-26 14:48:05 来源:亿速云 阅读:296 作者:Leah 栏目:开发技术

怎么在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)    }   }  })

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI