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

2020-11-02 15:22:20 浏览数 (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拓展

代码语言:javascript复制
composer require jianyan74/yii2-easy-wechat

二:配置EasyWechat

1:在config/main.php 的 component中添加

代码语言:javascript复制
'wechat' =  [ 
  'class' =  'jianyaneasywechatWechat', 
  'userOptions' =  [], // 用户身份类参数 
  'sessionParam' =  'wechatUser', // 微信用户信息将存储在会话在这个密钥 
  'returnUrlParam' =  '_wechatReturnUrl', // returnUrl 存储在会话中 
  'rebinds' =  [ // 自定义服务模块 
  ] 
], 

2:在config/params.php文件中添加(这里我只进行小程序的配置.其他配置可参考EasyWechat官网)

代码语言:javascript复制
// 微信小程序配置 
'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

代码语言:javascript复制
$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值

代码语言:javascript复制
wx.login({ 
 success (res) { 
  if (res.code) { 
   //获取code 
   console.log(res.code) 
   }) 
  } else { 
   console.log('登录失败!'   res.errMsg) 
  } 
 } 
})

到此这篇关于Yii使用EasyWechat实现小程序获取用户的openID的方法的文章就介绍到这了,更多相关Yii 小程序获取用户的openID内容请搜索ZaLou.Cn以前的文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn!

0 人点赞