博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Laravel 5 微信小程序扩展
阅读量:5021 次
发布时间:2019-06-12

本文共 2010 字,大约阅读时间需要 6 分钟。

小程序官方的加解密 SDK 已经非常清楚了,只不过改成 Laravel 风格而已,仅仅相当于搬砖工。至于重复造轮子,我发现其他人的扩展解密用户信息的时候代码出错了,并且需要安装一个 Laravel 的 Curl 扩展,没有提示用户去安装。只好自己去根据他们的源码自己写一个0.0 ,不依赖其他扩展,直接安装使用即可。

百牛信息技术bainiu.ltd整理发布于博客园

小程序API接口

  • 用户登录:wx.login
  • 获取用户信息:wx.getUserInfo

安装

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

composer require iwanli/wxxcx

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

"iwanli/wxxcx": "^1.0",

然后注册服务提供者到 Laravel中 具体位置:/config/app.php 中的 providers 数组:

Iwanli\Wxxcx\WxxcxServiceProvider::class,

发布配置文件:

php artisan vendor:publish --tag=wxxcx

命令完成后,会添加一个wxxcx.php配置文件到您的配置文件夹 如 : /config/wxxcx.php

生成配置文件后,将小程序的 AppID 和 AppSecret 填写到 /config/wxxcx.php 文件中

在Laravel 5控制器中使用 (示例)

...use Iwanli\Wxxcx\Wxxcx;class WxxcxController extends Controller { protected $wxxcx; function __construct(Wxxcx $wxxcx) { $this->wxxcx = $wxxcx; } /** * 小程序登录获取用户信息 * @author 晚黎 * @date 2017-05-27T14:37:08+0800 * @return [type] [description] */ public function getWxUserInfo() { //code 在小程序端使用 wx.login 获取 $code = request('code', ''); //encryptedData 和 iv 在小程序端使用 wx.getUserInfo 获取 $encryptedData = request('encryptedData', ''); $iv = request('iv', ''); //根据 code 获取用户 session_key 等信息, 返回用户openid 和 session_key $userInfo = $this->wxxcx->getLoginInfo($code); //获取解密后的用户信息 return $this->wxxcx->getUserInfo($encryptedData, $iv); } }

用户信息返回格式:

{    "openId": "xxxx",    "nickName": "晚黎",    "gender": 1, "language": "zh_CN", "city": "", "province": "Shanghai", "country": "CN", "avatarUrl": "http://wx.qlogo.cn/mmopen/xxxx", "watermark": { "timestamp": 1495867603, "appid": "your appid" } }

小程序端获取 code、iv、encryptedData 向服务端发送请求示例代码:

//调用登录接口wx.login({    success: function (response) { var code = response.code wx.getUserInfo({ success: function (resp) { wx.request({ url: 'your domain', data: { code: code, iv: resp.iv, encryptedData: resp.encryptedData }, success: function (res) { console.log(res.data) } }) } }) }, fail:function(){ ... } })

github地址:https://github.com/lanceWan/wxxcx

packagist地址: https://packagist.org/packages/iwanli/wxxcx

转载于:https://www.cnblogs.com/bainiu/p/7541925.html

你可能感兴趣的文章
T-SQL 类型转换
查看>>
在eclipse中设计BPMN 2.0工作流定义的根本步骤
查看>>
Json对象与Json字符串互转(4种转换方式)
查看>>
PAT甲级1002 链表实现方法
查看>>
查看Linux信息
查看>>
Python中sys模块sys.argv取值并判断
查看>>
【详记MySql问题大全集】四、设置MySql大小写敏感(踩坑血泪史)
查看>>
并查集
查看>>
ubuntu 11.04下android开发环境的搭建!
查看>>
Bzoj 3343: 教主的魔法
查看>>
括号序列(栈)
查看>>
一件趣事
查看>>
DevExpress控件TExtLookupComboBox实现多列模糊匹配输入的方法
查看>>
atom 调用g++编译cpp文件
查看>>
H3C HDLC协议特点
查看>>
iptables 网址转译 (Network address translation,NAT)
查看>>
ios __block typeof 编译错误解决
查看>>
android 插件形式运行未安装apk
查看>>
ios开发之 manage the concurrency with NSOperation
查看>>
Android权限 uses-permission
查看>>