# 软件介绍

houdunren

houdunren.com (opens new window) @ 向军大叔

image-20200315144014793

后盾人微信SDK基于composer 构建,可以快速整合到主流框架中如laravel。为微信开发提供了很大的便利,减少开发人员底层代码的构建,节省开发时间。

如果大家对微信开发不了解,后盾人已经推出了“后盾向军微信开发宝典" 请访问后盾人 (opens new window)获取课程。

获得帮助

  1. 登录houdunren.com (opens new window)官网查看文章或交流讨论
  2. 微信官方文档 (opens new window)

联系方式

向军老师邮箱: 2300071698@qq.com

视频学习网站:https://www.houdunren.com (opens new window)

# 软件安装

使用 composer 命令进行安装或下载源代码使用。

composer require houdunwang/wechat

# 命名空间

组件使用的命名空间为 Houdunwang\WeChat ,为了文档清晰在使用类时就不写全命名空间了。 下面是完整的写法

(new Houdunwang\WeChat\Message)->Content;

本手册文档中将省略掉命名空间

(new Message)->getMessage('Content');

# 组件配置

使用组件需要使用init方法进行初始化,初始化过程会进行以下任务。

  1. 缓存配置项
  2. 如果是微信绑定请求,对绑定进行自动处理
  3. 如果是用户发送的消息,提取消息内容

初始化非常简单,使用如下代码

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由开发者手动填写或随机生成,将用作消息体加解密密钥。

同时,开发者可选择消息加解密方式为明文模式。

img

# 第二步:绑定服务器

与微信官网通信绑定验证。将以下代码放在上面设置的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 粉丝管理