Skip to content

软件介绍

向军大叔每晚八点在 抖音bilibli 直播

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

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

获得帮助

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

作者

软件由向军大叔开发,大叔每天晚上 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\JsJSSDK 处理
Houdunwang\WeChat\Material素材管理
Houdunwang\WeChat\Oauth网页授权
Houdunwang\WeChat\Pay微信支付
Houdunwang\WeChat\Qrcode二维码
Houdunwang\WeChat\Shorturl短链接
Houdunwang\WeChat\User粉丝管理