thinkPHP微信分享接口JSSDK用法实例
本文实例讲述了thinkPHP微信分享接口JSSDK用法。分享给大家供大家参考,具体如下:
首先在数据库中添加access_token表:
SETFOREIGN_KEY_CHECKS=0; ------------------------------ --Tablestructureforaccess_token ------------------------------ DROPTABLEIFEXISTS`access_token`; CREATETABLE`access_token`( `id`int(11)NOTNULLAUTO_INCREMENT, `access_token`char(64)NOTNULLCOMMENT'令牌-唯一标识', `expires_time`varchar(64)DEFAULTNULLCOMMENT'过期时间', `ticket`char(64)NOTNULLCOMMENT'临时票据', `ticket_expires_time`varchar(64)DEFAULTNULLCOMMENT'过期的票据时间', PRIMARYKEY(`id`) )ENGINE=InnoDBAUTO_INCREMENT=8DEFAULTCHARSET=utf8COMMENT='token缓存表';
/**
*添加微信分享接口
*第一步:accesstoken
*/
publicfunctiongetAccessToken(){
$appid='你的appid';//获取用户唯一凭证
$secret='你的secret';//用户唯一凭证密钥
$time=time()+7000;//当前时间+2小时等于过期时间
if(!$token){
$res=file_get_contents('https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$appid.'&secret='.$secret);
$res=json_decode($res,true);
$token=$res['access_token'];
$model=D('access_token');//把获取的token存储到数据库中
if($token){
$data=array(
'access_token'=>$token,
'expires_time'=>$time
);
$data=$model->add($data);//把获得的token存储到数据库中
}
}
return$token;
}
/**
*添加微信分享接口
*第二步:用第一步拿到的access_token采用httpGET方式请求获得jsapi_ticket
*/
publicfunctiongetJsapiTicket(){
$time=time()+7000;//当前时间+2小时等于过期时间
$map['ticket_expires_time']=array('gt',time());
$res=D('access_token')->where('ticket_expires_time')->field('ticket')->find();
if($res){
$ticket=$res['ticket'];
$result['result']=$ticket;//没查询到符合条件的
jsonpReturn($result);
}else{
$token=$this->getAccessToken();
$res=file_get_contents("https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=".$token."&type=jsapi");
$res=json_decode($res,true);
$ticket=$res['ticket'];
//ticket不能频繁的访问接口来获取,在每次获取后,我们把它保存到数据库中。
$model=D('access_token');//把获取的ticket存储到数据库中
if($ticket){
$data=array(
'access_token'=>$token,
'expires_time'=>$time,
'ticket'=>$ticket,
'ticket_expires_time'=>$time
);
$data=$model->add($data);//把获得的token存储到数据库中
}
$result['result']=$ticket;//没查询到符合条件的
jsonpReturn($result);
}
}
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《PHP微信开发技巧汇总》、《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《ZendFrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。