- 广场
-
- 搜索中...
- 本文档内搜索
zxf/tools 使用手册
自定义调用和请求
少数情况使用本文档,一般情况下根据微信公众号
、微信小程序
、企业微信
、微信支付
里面的操作示例进行操作
实例化
默认实例化微信公众号和微信小程序(两者通用)
$instance = zxf\Facade\Wechat::defaultScene($driver);
实例化企业微信
$instance = zxf\Facade\Wechat::workScene($driver);
实例化服务端推送(收/发)消息
$instance = zxf\Facade\Wechat::receiveScene($driver);
发送Http请求
$url
可以是完整的url
,也可以是url
的一部分
以微信此文档为例:获取用户基本信息(UnionID机制)
$url
使用完整URL:https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
$url
使用不含前缀和token的URL:「在发送Http请求的过程中会自动处理token和请求前缀等参数」cgi-bin/user/info/batchget
Post请求
/**
* @param string $url 请求地址 eg:cgi-bin/user/info/batchget
* @param array|string $data 请求的body参数 eg:['limit'=>10]
* @param array $urlParams 拼接在url中的参数 eg:['user_id'=>1]
*/
$instance->post(string $url = "", array|string $data = [], array $urlParams = []);
Post(取消json格式)请求
$instance->url($url)->post($data,false);
Get请求
/**
* @param string $url 请求地址 eg:cgi-bin/user/info/batchget
* @param array|string $data 请求的body参数 eg:['limit'=>10]
* @param array $urlParams 拼接在url中的参数 eg:['user_id'=>1]
*/
$instance->url($url)->get(string $url = "", array|string $data = [], array $urlParams = []);
操作 AccessToken
获取token
// $refreshToken : 是否强制刷新token
$instance->getAccessToken(bool $refreshToken = false);
手动设置token
$instance->setAccessToken(```string $accessToken = "", int $expiresIn = 7100);
清理删除 AccessToken
$instance->delAccessToken();
扩展
如果需要包含请求头Wechatpay-Serial
$instance->withHeaderSerial(true);
Download文件
$instance->download($url = "", $savePath = "", array $params = []);
直接调用http上传文件
$instance->httpUpload(string $url = "", string $filePath = '', ?array $urlParams = []);
自定义调用操作
$instance->customCallback(function($wechat){
// eg:发送自定义的http 请求
// @see: http://www.0l0.net/docs/doc/2_14
$wechat->http->setParams($data, 'json')->patch($url);
// eg:自定义缓存
// @see: http://www.0l0.net/docs/doc/2_33
$wechat->cache->get('cache_name',$default);
})
添加需要重新获取token请求的状态码
sdk
中内置了几个判断token过期需要重新获取token的状态码,但是难免有其他需要重新刷新token的状态码需要手动添加进去
// eg:$code = ['40014','40001'];
$instance->addTryAgainCode(array $code = []);