...接口类文件,遇一个问题,GET获取到的token,如何将这个变量传递到实例...
发布网友
发布时间:2024-10-13 14:16
我来回答
共2个回答
热心网友
时间:2024-10-13 14:31
class IndexAction extends Action {
public function index() {
$token = D("wx_token")->field("add_ip", true)->select();
foreach ($token as $key => $v) {
if ($v['expire_time'] - 300 < time()) {
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$v['appid']}&secret={$v['secret']}";
$res = file_get_contents($url, false);
$this->getAccessToken($v['id'], $res);
}else{
$date = date("Y-m-d H:i:s") ;
echo "{$date}_____no expire\r\n" ;
}
}
}
private function getAccessToken($token, $res) {
$sign = false ;
$json = json_decode($res);
$data['id'] = $token;
$data['access_token'] = $json->access_token;
$data['expire_time'] = time() + 7200;
$data['add_time'] = time();
$data['add_ip'] = '127.0.0.1' ;
$db = D("wx_token");
$db->startTrans();
if ( $db->save($data)){
$db->commit() ;
$sign = true ;
}else{
$db->rollback() ;
$sign = false ;
}
return $sign ;
}
}
再创建个数据表,保存就好了,整个定时任务,定时去获取比较好。
热心网友
时间:2024-10-13 14:33
写成一个配置文件就可以了,或者单独用一个文件来存储