- update service wechat

v6
Chaim 4 years ago
parent ef6161c4de
commit 13584d8052

@ -205,16 +205,33 @@ class WebApps extends Service
*/
public function share()
{
$accessToken = cache($this->app_id . '_access_token', '');
if (empty($accessToken)) {
// 文件名
$file = "{$this->app->getRootPath()}runtime/{$this->app_id}_access_token.json";
// 获取数据
$accessToken = file_exists($file) ? json_decode(file_get_contents($file), true) : [];
if (empty($accessToken) || !is_array($accessToken)) $accessToken = [
'access_token' => '',
'expires_in' => '',
'expires_time' => '',
];
if (empty($accessToken['expires_time'])) {
$accessToken_res = HttpService::instance()
->url("{$this->api_url}cgi-bin/token/grant_type?grant_type={$this->grant_type}&appid={$this->app_id}&secret={$this->app_secret}")
->toArray();
cache($this->app_id . '_access_token', $accessToken_res['access_token'], 6000);
$accessToken = $accessToken_res['access_token'];
$accessToken_res['expires_time'] = time() + 6000;
file_put_contents($file, json_encode($accessToken_res, JSON_UNESCAPED_UNICODE));
$accessToken = $accessToken_res;
} else if ($accessToken['expires_time'] <= time()) {
$accessToken_res = HttpService::instance()
->url("{$this->api_url}cgi-bin/token/grant_type?grant_type={$this->grant_type}&appid={$this->app_id}&secret={$this->app_secret}")
->toArray();
$accessToken_res['expires_time'] = time() + 6000;
file_put_contents($file, json_encode($accessToken_res, JSON_UNESCAPED_UNICODE));
$accessToken = $accessToken_res;
}
$res = HttpService::instance()
->url("{$this->api_url}cgi-bin/ticket/getticket?access_token={$accessToken}&type=jsapi")
->url("{$this->api_url}cgi-bin/ticket/getticket?access_token={$accessToken['expires_time']}&type=jsapi")
->toArray();
dump($res);
if (!empty($res['errcode'])) throw new WeChatException('accessToken已过期');

Loading…
Cancel
Save