# 软件介绍

houdunren

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

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

获得帮助

  1. 登录houdunren.com官网查看文章或交流讨论
  2. 加入QQ群: 248767393
  3. 微信官方文档

联系方式

邮箱: 2300071698@qq.com

QQ : 2300071698

视频学习网站:https://www.houdunren.com

# 软件安装

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

composer require houdunwang/wechat

# Laravel框架配置

执行以下命令发布微信配置项到项目中,如果使用动态加载配置项,下面这步是可以省略的。

php artisan vendor:publish

# 命名空间

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

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

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

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

# 基本配置

//微信配置
$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',
];

~~~
(new WeChat)->config($config);
~~~

不是说所有配置项都需要设置,比如你公众号不需要支付,那有关支持的配置就不需要设置了。

# 接入指南

# 第一步:填写服务器配置

登录微信公众平台官网后,在公众平台官网的开发-基本设置页面,勾选协议成为开发者,点击“修改配置”按钮,填写服务器地址(URL)、Token和EncodingAESKey,其中URL是开发者用来接收微信消息和事件的接口URL。Token可由开发者可以任意填写,用作生成签名(该Token会和接口URL中包含的Token进行比对,从而验证安全性)。EncodingAESKey由开发者手动填写或随机生成,将用作消息体加解密密钥。

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

img

# 第二步:验证消息的确来自微信服务器

与微信官网通信绑定验证。将以下代码放在上面设置的url访问处理,可以放在类文件的构造函数__construct() 中。 验证时需要将配置环境设置正确,请看前面章节。

(new WeChat)->valid();

有时绑定失败需要登录公众平台,停止,重起一下开发者模式 必须带入口文件 index.php 形式

以下设置以下代码后,需要在微信后台进行绑定。

img

# 获取令牌

微信的大部分制作需要access_token才可以完成,但用户不需要操作令牌,组件会自动处理。

强制获取

令牌系统会自动获取并进行缓存,但如果我们在微信后台更改了apid或AppSecret将造成缓存的令牌已经无效,这时我们需要强制重新获取令牌。

下面的代码是强制重新从微信服务器获取令牌。

(new WeChat)->getAccessToken(true);

# 模块化

组件使用模块化管理,比如微信菜单、消息管理、红包管理都是独立模块,系统耦合度非常低。

直接使用模块入口类操作

$message = new Houdunwang\WeChat\Build\Message\Message;
$message->text('发送文本消息');

部分模块列表

模块 说明
Houdunwang\WeChat\Build\Message\Message 消息管理
Houdunwang\WeChat\Build\Button\Button 微信按钮
Houdunwang\WeChat\Build\Cash\Cash 微信红包
Houdunwang\WeChat\Build\Customservice\Customservice 客服接口
Houdunwang\WeChat\Build\Js\Js JSSDK处理
Houdunwang\WeChat\Build\Material\Material 素材管理
Houdunwang\WeChat\Build\Oauth\Oauth 网页授权
Houdunwang\WeChat\Build\Pay\Pay 微信支付
Houdunwang\WeChat\Build\Qrcode\Qrcode 二维码
Houdunwang\WeChat\Build\Shorturl\Shorturl 短链接
Houdunwang\WeChat\Build\User\User 粉丝管理