public?function?index()?{
$token?=?D("wx_token")->field("add_ip",?true)->select();
foreach?($token?as?$key?=>?$v)?{
if?($v['expire_time']?-?300?<?time())?{
$url?=?"/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?;
}
}
再創建個數據表,保存就好了,整個定時任務,定時去獲取比較好。