Yii 使用EasyWechat 实现小程序获取用户的openID

41 篇文章 0 订阅
10 篇文章 1 订阅

一:安装EasyWechat

EasyWechat文档:https://www.easywechat.com/docs

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值