e421083458 / wxxcx by e421083458

A WeChat applet plugins for Laravel.
982
39
3
Package Data
Maintainer Username: e421083458
Maintainer Contact: e421083458@163.com (Richard Neil)
Package Create Date: 2017-02-10
Package Last Update: 2017-07-20
Language: PHP
License: MIT
Last Refreshed: 2024-04-24 03:03:21
Package Statistics
Total Downloads: 982
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 39
Total Watchers: 3
Total Forks: 15
Total Open Issues: 3

[laravel-wxxcx] package

Laravel 5 微信小程序插件

备注

Api | 说明 | 对应方法 ---|---|--- wx.login | 登录 | $obj->getLoginInfo wx.getUserInfo | 获取用户信息 | $obj->getUserInfo($encryptedData,$iv); reference:https://mp.weixin.qq.com/debug/wxadoc/dev/api/

安装

执行以下命令安装最新稳定版本:

composer require e421083458/wxxcx

或者添加如下信息到你的 composer.json 文件中 :

"e421083458/wxxcx": "1.*"

然后注册服务提供者到 Laravel中 :

E421083458\Wxxcx\WxxcxServiceProvider::class,

发布所需的资源(样式、视图、配置文件等):

php artisan vendor:publish --provider="E421083458\Wxxcx\WxxcxServiceProvider"

Demo

共需要两步操作

  1. 调用getLoginInfo得到用户信息,里面会自动封装sessionKey信息
$xcx = App::make("wxxcx");
$loginInfo = $xcx->getLoginInfo($code); //code为用户登陆成功后获取到的
print_r($loginInfo);

reponse:

{
    "openid": "oxkfq0NMYybphA3O6ZvN585ZuJCI",
    "session_key": "RKt9WSMWs8ijJ6TVj4OBbQ=="
}
  1. 第一步操作成功后才能调用第二步, getUserInfo 会得到用户头像、昵称、等信息
$iv = "r7BXXKkLb8qrSNn05n0qiA==";
$encryptedData="CiyLU1Aw2KjvrjMdj8YKliAjtP4gsMZM
        QmRzooG2xrDcvSnxIMXFufNstNGTyaGS
        9uT5geRa0W4oTOb1WT7fJlAC+oNPdbB+
        3hVbJSRgv+4lGOETKUQz6OYStslQ142d
        NCuabNPGBzlooOmB231qMM85d2/fV6Ch
        evvXvQP8Hkue1poOFtnEtpyxVLW1zAo6
        /1Xx1COxFvrc2d7UL/lmHInNlxuacJXw
        u0fjpXfz/YqYzBIBzD6WUfTIF9GRHpOn
        /Hz7saL8xz+W//FRAUid1OksQaQx4CMs
        8LOddcQhULW4ucetDf96JcR3g0gfRK4P
        C7E/r7Z6xNrXd2UIeorGj5Ef7b1pJAYB
        6Y5anaHqZ9J6nKEBvB4DnNLIVWSgARns
        /8wR2SiRS7MNACwTyrGvt9ts8p12PKFd
        lqYTopNHR1Vf7XjfhQlVsAJdNiKdYmYV
        oKlaRv85IfVunYzO0IKXsyl7JCUjCpoG
        20f0a04COwfneQAGGwd5oa+T8yO5hzuy
        Db/XcxxmK01EpqOyuxINew==";
//为能演示demo,所以我需要手动设置一下sessionKey (ps:实际环境中调用getLoginInfo会自动获取到)
$xcx->setSessionKey("tiihtNczf5v6AKRyjwEUhQ==");
$userinfo = $xcx->getUserInfo($encryptedData,$iv);
print_r($userinfo);

reponse:

{
    "openId": "oGZUI0egBJY1zhBYw2KhdUfwVJJE",
    "nickName": "Band",
    "gender": 1,
    "language": "zh_CN",
    "city": "Guangzhou",
    "province": "Guangdong",
    "country": "CN",
    "avatarUrl": "http://wx.qlogo.cn/mmopen/vi_32/aSKcBBPpibyKNicHNTMM0qJVh8Kjgiak2AHWr8MHM4WgMEm7GFhsf8OYrySdbvAMvTsw3mo8ibKicsnfN5pRjl1p8HQ/0",
    "unionId": "ocMvos6NjeKLIBqg5Mr9QjxrP1FA",
    "watermark": {
        "timestamp": 1477314187,
        "appid": "wx4f4bc4dec97d474b"
    }
}