**基于`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 微信掃碼支付