jsapi签名
This commit is contained in:
@@ -109,7 +109,7 @@ class Feishu
|
||||
*/
|
||||
public function tenantAccessToken()
|
||||
{
|
||||
$tenantAccessToken = Cache::get($this->abbr.'-tenantAccessToken');
|
||||
$tenantAccessToken = Cache::get($this->appId.'-tenantAccessToken');
|
||||
if (!$tenantAccessToken) {
|
||||
$this->options["json"] = [
|
||||
"app_id" => $this->appId,
|
||||
@@ -118,7 +118,7 @@ class Feishu
|
||||
$rst = $this->requestResult('auth/v3/tenant_access_token/internal', 'POST');
|
||||
if ($rst) {
|
||||
$tenantAccessToken = $rst['tenant_access_token'];
|
||||
Cache::set($this->abbr.'-tenantAccessToken', $tenantAccessToken, $rst['expire']);
|
||||
Cache::set($this->appId.'-tenantAccessToken', $tenantAccessToken, $rst['expire']);
|
||||
} else {
|
||||
throw new BusinessException('tenant_access_token 获取失败');
|
||||
}
|
||||
@@ -209,6 +209,31 @@ class Feishu
|
||||
return $this->requestResult('authen/v1/user_info', "GET");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取 jsapi_ticket
|
||||
*/
|
||||
public function jsapiTicket()
|
||||
{
|
||||
$jsapiTicket = Cache::get($this->appId.'-jsapiTicket');
|
||||
if (!$jsapiTicket) {
|
||||
$this->options["headers"] = [
|
||||
"Authorization" => "Bearer " . $this->tenantAccessToken(),
|
||||
"Content-Type" => "application/json; charset=utf-8"
|
||||
];
|
||||
// 清除 json 选项,确保 GET 请求不发送 body
|
||||
unset($this->options["json"]);
|
||||
$rst = $this->requestResult('jssdk/ticket/get', 'GET');
|
||||
if ($rst && isset($rst['data']['ticket'])) {
|
||||
$jsapiTicket = $rst['data']['ticket'];
|
||||
$expire = $rst['data']['expire_in'] ?? 7200;
|
||||
Cache::set($this->appId.'-jsapiTicket', $jsapiTicket, $expire);
|
||||
} else {
|
||||
throw new BusinessException('jsapi_ticket 获取失败');
|
||||
}
|
||||
}
|
||||
return $jsapiTicket;
|
||||
}
|
||||
|
||||
// public function user_access_token($code = "")
|
||||
// {
|
||||
// $url = "";
|
||||
|
||||
Reference in New Issue
Block a user