Appearance
软件介绍
后盾人微信 SDK 基于 composer 构建,可以快速整合到主流框架中如 laravel。为微信开发提供了很大的便利,减少开发人员底层代码的构建,节省开发时间。
如果大家对微信开发不了解,后盾人已经推出了“后盾向军微信开发宝典" 请访问后盾人获取课程。
获得帮助
- 登录houdunren.com官网查看文章或交流讨论
- 微信官方文档
作者
软件由向军大叔开发,大叔每天晚上 8 点直播,欢迎大家来到直播间交流。
软件安装
使用 composer 命令进行安装或下载源代码使用。
composer require houdunwang/wechat
命名空间
组件使用的命名空间为 Houdunwang\WeChat
,为了文档清晰在使用类时就不写全命名空间了。下面是完整的写法
(new Houdunwang\WeChat\Message)->Content;
本手册文档中将省略掉命名空间
(new Message)->getMessage('Content');
组件配置
使用组件需要使用 init 方法进行初始化,初始化过程会进行以下任务。
- 缓存配置项
- 如果是微信绑定请求,对绑定进行自动处理
- 如果是用户发送的消息,提取消息内容
初始化非常简单,使用如下代码
use use Houdunwang\WeChat\WeChat;
...
(new WeChat)->init($config);
...
WeChat 是基础类,因为所有模块都继承了 WeChat 类,所以上面的代码也可以使用模块类来调用,如下
use use Houdunwang\WeChat\Message;
...
(new Message)->init($config);
...
上面的 $config 配置项内容如下,不是说所有配置项都需要设置,比如你公众号不需要支付,那有关支付的配置就不需要设置了。
//微信配置
$config = [
/*
|--------------------------------------------------------------------------
| token
|--------------------------------------------------------------------------
| 微信绑定验证时使用的token, 需要与微信公众号后台保持一致
| http://mp.weixin.qq.com/wiki/8/f9a0b8382e0b77d87b3bcc1ce6fbc104.html
*/
'token' => '808c2b8e93acdda22e',
/*
|--------------------------------------------------------------------------
| 缓存目录
|--------------------------------------------------------------------------
| 用于缓存ACCESS_TOKEN等数据
*/
'cache_path' => 'storage/houdunren/wechat',
/*
|--------------------------------------------------------------------------
| encodingaeskey
|--------------------------------------------------------------------------
| 需要与微信公众号后台保持一致
| http://mp.weixin.qq.com/wiki/8/f9a0b8382e0b77d87b3bcc1ce6fbc104.html
*/
'encodingaeskey' => '808c2b8e93acdda22e9ec7716515a5e0808c2b8e93a',
/*
|--------------------------------------------------------------------------
| 公众号身份标识
|--------------------------------------------------------------------------
| 填写公众号认证后腾讯官网发来的邮件中的appid
*/
'appid' => 'wxc47243ed572e273d',
/*
|--------------------------------------------------------------------------
| appsecret
|--------------------------------------------------------------------------
| 公众平台API的权限获取所需密钥Key
| 需要与微信公众号后台保持一致
*/
'appsecret' => '2c1d1d3a3b9f054bcd60983083da68a3',
/*
|--------------------------------------------------------------------------
| 支付商户号
|--------------------------------------------------------------------------
| 微信发来的邮件中的微信支付商户号
*/
'mch_id' => '',
/*
|--------------------------------------------------------------------------
| 商户支付密钥
|--------------------------------------------------------------------------
| 用于生成支付签名等使用
| 登录微信支付-商户平台 API安全中获取
| https://pay.weixin.qq.com/index.php/core/cert/api_cert
*/
'key' => '',
/*
|--------------------------------------------------------------------------
| 证书
|--------------------------------------------------------------------------
| 使用微信红包接口等功能时需要的证书
| 请登录微信支付后台下载,并保证文件目录正确
*/
'apiclient_cert' => 'cert/apiclient_cert.pem',
'apiclient_key' => 'cert/apiclient_key.pem',
'rootca' => 'cert/rootca.pem',
];
接入指南
第一步:填写服务器配置
登录微信公众平台官网后,在公众平台官网的开发-基本设置页面,勾选协议成为开发者,点击“修改配置”按钮,填写服务器地址(URL)、Token 和 EncodingAESKey,其中 URL 是开发者用来接收微信消息和事件的接口 URL。Token 可由开发者可以任意填写,用作生成签名(该 Token 会和接口 URL 中包含的 Token 进行比对,从而验证安全性)。EncodingAESKey 由开发者手动填写或随机生成,将用作消息体加解密密钥。
同时,开发者可选择消息加解密方式为明文模式。
第二步:绑定服务器
与微信官网通信绑定验证。将以下代码放在上面设置的 url 访问处理,可以放在类文件的构造函数__construct() 中。验证时需要将配置环境设置正确,请看前面章节。
(new WeChat)->init($config);
令牌
微信的大部分制作需要 access_token 才可以完成,但用户不需要关注令牌,组件会缓存令牌。
模块化
组件使用模块化管理,比如微信菜单、消息管理、红包管理都是独立模块,系统耦合度非常低。
直接使用模块入口类操作
$message = new Houdunwang\WeChat\Message;
$message->text('发送文本消息');
部分模块列表
模块 | 说明 |
---|---|
Houdunwang\WeChat\Message | 消息管理 |
Houdunwang\WeChat\Button | 微信按钮 |
Houdunwang\WeChat\Cash | 微信红包 |
Houdunwang\WeChat\Customservice | 客服接口 |
Houdunwang\WeChat\Js | JSSDK 处理 |
Houdunwang\WeChat\Material | 素材管理 |
Houdunwang\WeChat\Oauth | 网页授权 |
Houdunwang\WeChat\Pay | 微信支付 |
Houdunwang\WeChat\Qrcode | 二维码 |
Houdunwang\WeChat\Shorturl | 短链接 |
Houdunwang\WeChat\User | 粉丝管理 |