TokenManager 和 ApiClient是最重要的两个类。
TokenManager 调度cache缓存access_token。 另外从微信公众号获得access_token。
ApiClient 包装GuzzleHttp/Client, xmlProcessor, jsonProcessor三个类。
一部分调用微信公众号接口,另一部分是处理response返回的xml和json内容为array数组。, (*1)
guzzle http middleware 可以设置中间件,通过中间件记录日志
推荐:, (*2)
https://github.com/gmponos/guzzle-log-middleware, (*3)
https://github.com/namshi/cuzzle, (*4)
下列表写(否)的接口代码不是微信提供的api接口,而是微信请求我方服务器接口。需要我方根据自身业务进行开发。, (*5)
- 微信卡券 - 微信门店 - 微信小店 - 智能接口 - 微信设备功能 - 新版客服功能 - 对话能力(原导购助手) - 微信“一物一码” - 微信发票 - 微信非税缴费
$redis = RedisFactory::create(); $redisCache = new RedisCache($redis); $config = [ 'app_id' => '', 'secret' => '', 'redirect_uri' => '', ]; $tokenManager = new TokenManager($config, $redisCache); $token = $tokenManager->getAccessToken(); $api = new ApiClient(); $ipRequest = (new Ips)->getIps($token); $response = $api->send($ipRequest);
// facade $redis = RedisFactory::create(); $redisCache = new RedisCache($redis); $config = [ 'app_id' => '', 'secret' => '', 'redirect_uri' => '', ]; $tokenManager = new TokenManager($config, $redisCache); $token = $tokenManager->getAccessToken(); $api = new ApiClient(); $facade = new WechatFacade($tokenManager, $api); $ips = $facade->getIps();