**关于微信SDK文件描述**
--
所有微信接口源文件都位于`Wechat`目录之下,可自行查看源代码。
* `WechatCard.php` 微信卡券接口
* `WechatCustom.php` 微信多客服接口
* `WechatDevice.php` 微信周边设备接口
* `WechatExtends.php` 微信其它工具接口
* `WechatMedia.php` 微信媒体素材接口
* `WechatMenu.php` 微信菜单操作接口
* `WechatOauth.php` 微信网页授权接口
* `WechatPay.php` 微信支付相关接口
* `WechatPoi.php` 微信门店相关接口
* `WechatReceive.php` 微信被动消息处理SDK
* `WechatScript.php` 微信网页脚本工具
* `WechatUser.php` 微信粉丝操作接口
**微信SDK文档中的举例说明**
--
* 文档的举例均使用了 `load_wechat` 函数来加载实例,我也建议在项目中放置一个这样的函数
* 下面是`load_wechat`助手函数标准代码,请根据自己项目的情况动态读取微信配置参数
```
/**
* 获取微信操作对象(单例模式)
* @staticvar array $wechat 静态对象缓存对象
* @param type $type 接口名称 ( Card|Custom|Device|Extend|Media|Oauth|Pay|Receive|Script|User )
* @return \Wehcat\WechatReceive 返回接口对接
*/
function & load_wechat($type = '') {
static $wechat = array();
$index = md5(strtolower($type));
if (!isset($wechat[$index])) {
// 定义微信公众号配置参数(这里是可以从数据库读取的哦)
$options = array(
'token' => '', // 填写你设定的key
'appid' => '', // 填写高级调用功能的app id, 请在微信开发模式后台查询
'appsecret' => '', // 填写高级调用功能的密钥
'encodingaeskey' => '', // 填写加密用的EncodingAESKey(可选,接口传输选择加密时必需)
'mch_id' => '', // 微信支付,商户ID(可选)
'partnerkey' => '', // 微信支付,密钥(可选)
'ssl_cer' => '', // 微信支付,双向证书(可选,操作退款或打款时必需)
'ssl_key' => '', // 微信支付,双向证书(可选,操作退款或打款时必需)
'cachepath' => '', // 设置SDK缓存目录(可选,默认位置在Wechat/Cache下,请保证写权限)
);
\Wechat\Loader::config($options);
$wechat[$index] = \Wechat\Loader::get($type);
}
return $wechat[$index];
}
```
* 其实代码只是个人爱好,完全看你们如何来控制玩转文件加载加载机制。
* SDK内部也提供了一种单例加载的方式,也就是` \Wechat\Loader::get('Pay',$options)`方式,但是通过这种方式去加载SDK对象,仍旧需要每次都提供微信的配置参数,因此我们也极力推荐使用助手函数来实现,也就是上面的举例。
* 当然SDK中所有的类都是可以直接实例的,如:`$pay = new \Wechat\WechatPay($options)`。
* 这里所涉及到的`$options`参数就得自己去准备了,参数字段如下:
```
$options = array(
'token' => '', // 填写你设定的key
'appid' => '', // 填写高级调用功能的app id, 请在微信开发模式后台查询
'appsecret' => '', // 填写高级调用功能的密钥
'encodingaeskey' => '', // 填写加密用的EncodingAESKey(可选,接口传输选择加密时必需)
'mch_id' => '', // 微信支付,商户ID(可选)
'partnerkey' => '', // 微信支付,密钥(可选)
'ssl_cer' => '', // 微信支付,证书cert的路径(可选,操作退款或打款时必需)
'ssl_key' => '', // 微信支付,证书key的路径(可选,操作退款或打款时必需)
'cachepath' => '', // 设置SDK缓存目录(可选,默认位置在./src/Cache下,请保证写权限)
);
```
- 0.1 关于微信SDK的介绍
- 0.2 微信SDK下载与安装使用
- 0.3 微信SDK源文件结构与介绍
- 1.0 微信API验证与事件推送回复
- 1.1 微信自定义菜单及个性化菜单
- 1.2 微信粉丝用户及粉丝标签管理
- 1.3 微信网页JSSDK签名包生成
- 1.4 微信红包和JSAPI支付及扫码支付
- 1.4.0 微信支付状态通知处理
- 1.4.1 微信扫码支付(模式一)
- 1.4.2 微信扫码支付(模式二)
- 1.4.3 微信发起JSAPI支付
- 1.4.4 微信支付统一下单接口
- 1.5 微信各种素材管理及图文推送
- 1.6 微信各种卡券及微信门店管理
- 1.7 微信设备管理
- 1.9 微信OAuth授权及用户资料获取
- 2.1 用数据库管理微信SDK所需参数
- 2.2 自定微信SDK缓存设置方式
- 3.1 第三方平台配置参数及实例
- 3.2 第三方平台AccessToken获取
- 3.3 第三方平台Ticket推送处理
- 3.4 第三方平台代发起网页授权
- 4.1 案例之 CodeIgniter 3 集成方法
- 4.2 案例之 ThinkPHP 3.2 集成方法
- 4.3 案例之 ThinkPHP 5.0 集成方法
- 4.4 案例之 ThinkPHP 5.0 微信扫码支付