PHP源码
public static function getwxtoken(){
$appid="wxb************d0";
$secu="6c************bdcb************e89a";
$nowtime = time();
$tk = Db::name('wxtoken')->where('id','1')->find();
if($tk){
if( ($tk['exptime']-10) >time() ){
return $tk['token'];
}
}
$url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$secu}";
$res = file_get_contents($url);
$r='';
if($res){
$arr = json_decode($res,true);
$up=['res'=>$res, 'gettime'=>date('Y-m-d H:i:s',$nowtime) ];
if($arr && $arr['access_token']){
$up['token'] = $arr['access_token'];
$up['exptime'] = $nowtime+$arr['expires_in'];
$r=$up['token'];
}
Db::name('wxtoken')->where('id','1')->update($up);
}
return $r;
}
数据库表
CREATE TABLE `fa_wxtoken` (
`id` int(11) NOT NULL,
`token` text NOT NULL,
`exptime` varchar(22) NOT NULL,
`gettime` varchar(22) NOT NULL,
`res` text NOT NULL COMMENT '返回'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='微信令牌';
ALTER TABLE `fa_wxtoken` ADD PRIMARY KEY (`id`);
在同一个控制器,别的方法中 直接使用
/ 有就直接从数据库返回, 没有就从官方提取
$ACCESS_TOKEN=$this->getwxtoken();
//
end!