# 软件介绍

向军大叔每晚八点在 抖音 (opens new window)bilibli (opens new window) 直播

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

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

获得帮助

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

# 作者

软件由向军大叔开发,大叔每天晚上 8 点直播,欢迎大家来到直播间交流。

xj-small

# 软件安装

使用 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 粉丝管理