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程序设计有所帮助。