微信小程序 for Laravel 5

[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/...

安装

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

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"
    }
}
本帖已被设为精华帖!
本帖由 Summer 于 7年前 加精
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 12

厉害了我的哥,

7年前 评论
Summer

厉害了我的哥,

7年前 评论

主要提供了哪些功能呢?

7年前 评论

这包名有点像骂人 :full_moon_with_face:

7年前 评论

哥 publish 的时候说找不到 WxxcxServiceProvider

6年前 评论

话说你 appid、appsecret 直接放代码里,好么

6年前 评论

由于扩展包用到了 "ixudra/curl": ">=6.3.0" ,因此配置文件 app.php 中的 'aliases'需要增加:

'Curl' => Ixudra\Curl\Facades\Curl::class,

以及 'providers' 中需要增加:

Ixudra\Curl\CurlServiceProvider::class,
6年前 评论
ThinkQ

厉害了,我的哥。

5年前 评论

The given payload is invalid. 这个怎么破大佬

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!