**基于`ThinkPHP3.2`加载`SDK`的方法**
--
在项目中使用`SDK`时,建议配置文件从数据库中读取,数据表结构如下:
```
--- 创建微信配置管理表 - SQL语句
CREATE TABLE `wechat_config` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`qrc_img` varchar(100) DEFAULT NULL COMMENT '公众号二维码',
`token` varchar(100) DEFAULT NULL COMMENT '接口token',
`appid` varchar(100) DEFAULT NULL COMMENT '公众号 app id',
`encodingaeskey` varchar(100) DEFAULT NULL COMMENT '加密key',
`appsecret` varchar(100) DEFAULT NULL COMMENT '公众号 密钥',
`mch_id` varchar(100) DEFAULT NULL COMMENT '商户身份标识',
`partnerkey` varchar(100) DEFAULT NULL COMMENT '商户权限密钥',
`ssl_cer` varchar(500) DEFAULT NULL COMMENT '商户证书CER',
`ssl_key` varchar(500) DEFAULT NULL COMMENT '商户证书KEY',
`create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10000 DEFAULT CHARSET=utf8;
```
针对于`ThinkPHP3.2`版本,我们建议在`Common/function.php`增加一个 `load_wechat`函数,我们需要对`SDK`进入加载注入。
* `SDK`加载注入,将`SDK`下载之后,放入到`Vendor`目录下,如 `Vendor/Wechat`。
* 扩展助手加载函数代码如下:针对`v1.2.3`及以上版本
```
/**
* 获取微信操作对象
* @staticvar array $wechat
* @param type $type
* @return WechatReceive
*/
function & load_wechat($type = '') {
!class_exists('Wechat\Loader', FALSE) && Vendor('Wechat.Loader');
static $wechat = array();
$index = md5(strtolower($type));
if (!isset($wechat[$index])) {
// 从数据库查询配置参数
$config = M('WechatConfig')->field('token,appid,appsecret,encodingaeskey,mch_id,partnerkey,ssl_cer,ssl_key,qrc_img')->find();
// 设置SDK的缓存路径
$config['cachepath'] = CACHE_PATH . 'Data/';
$wechat[$index] = \Wechat\Loader::get_instance($type, $config);
}
return $wechat[$index];
}
```
* 至此,就可以在项目任何地方使用`load_wechat`的函数了。
* 其它操作请阅读`SDK`详细操作手册。
- 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 微信扫码支付