Wallogit.com
2017 © Pedro Peláez
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();