thinkPHP微信分享接口JSSDK用法實(shí)例
本文實(shí)例講述了thinkPHP微信分享接口JSSDK用法。分享給大家供大家參考,具體如下:
首先在數(shù)據(jù)庫中添加access_token表:
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for access_token -- ---------------------------- DROP TABLE IF EXISTS `access_token`; CREATE TABLE `access_token` ( `id` int(11) NOT NULL AUTO_INCREMENT, `access_token` char(64) NOT NULL COMMENT '令牌-唯一標(biāo)識(shí)', `expires_time` varchar(64) DEFAULT NULL COMMENT '過期時(shí)間', `ticket` char(64) NOT NULL COMMENT '臨時(shí)票據(jù)', `ticket_expires_time` varchar(64) DEFAULT NULL COMMENT '過期的票據(jù)時(shí)間', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8 COMMENT='token緩存表';
/**
* 添加微信分享接口
* 第一步:access token
*/
public function getAccessToken(){
$appid = '你的appid'; //獲取用戶唯一憑證
$secret = '你的secret'; //用戶唯一憑證密鑰
$time = time()+7000; //當(dāng)前時(shí)間+2小時(shí)等于過期時(shí)間
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存儲(chǔ)到數(shù)據(jù)庫中
if($token){
$data = array(
'access_token' => $token,
'expires_time' => $time
);
$data = $model->add($data); //把獲得的token存儲(chǔ)到數(shù)據(jù)庫中
}
}
return $token;
}
/**
* 添加微信分享接口
* 第二步:用第一步拿到的access_token 采用http GET方式請求獲得jsapi_ticket
*/
public function getJsapiTicket(){
$time = time()+7000; //當(dāng)前時(shí)間+2小時(shí)等于過期時(shí)間
$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不能頻繁的訪問接口來獲取,在每次獲取后,我們把它保存到數(shù)據(jù)庫中。
$model = D('access_token'); //把獲取的ticket存儲(chǔ)到數(shù)據(jù)庫中
if($ticket){
$data = array(
'access_token' => $token,
'expires_time' => $time,
'ticket' => $ticket,
'ticket_expires_time' => $time
);
$data = $model->add($data); //把獲得的token存儲(chǔ)到數(shù)據(jù)庫中
}
$result['result'] = $ticket; //沒查詢到符合條件的
jsonpReturn($result);
}
}
更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP微信開發(fā)技巧匯總》、《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。
- 微信小程序開發(fā)之獲取用戶手機(jī)號碼(php接口解密)
- ThinkPHP框架實(shí)現(xiàn)的微信支付接口開發(fā)完整示例
- php獲取微信基礎(chǔ)接口憑證Access_token
- PHP封裝的微信公眾平臺(tái)接口開發(fā)操作類完整示例
- 詳解使用php調(diào)用微信接口上傳永久素材
- PHP實(shí)現(xiàn)微信JS-SDK接口選擇相冊及拍照并上傳的方法
- php微信高級接口調(diào)用方法(自定義菜單接口、客服接口、二維碼)
- PHP配合微信小程序?qū)崿F(xiàn)獲取手機(jī)號碼詳解
- 微信小程序結(jié)合ThinkPHP5授權(quán)登陸后獲取手機(jī)號
- PHP請求微信接口獲取用戶電話號功能示例
相關(guān)文章
基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法詳解
本篇文章是對AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
修改Laravel自帶的認(rèn)證系統(tǒng)的User類的命名空間的步驟
今天小編就為大家分享一篇修改Laravel自帶的認(rèn)證系統(tǒng)的User類的命名空間的步驟,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10
用 Composer構(gòu)建自己的 PHP 框架之基礎(chǔ)準(zhǔn)備
這篇文章主要介紹了用 Composer構(gòu)建自己的 PHP 框架的基礎(chǔ)準(zhǔn)備工作,其實(shí)就是各種基礎(chǔ)知識(shí),想自己搭建php框架的童鞋可要看仔細(xì)了2014-10-10
php 算法之實(shí)現(xiàn)相對路徑的實(shí)例
這篇文章主要介紹了php 算法之實(shí)現(xiàn)相對路徑的實(shí)例的相關(guān)資料,希望通過本文能幫助到大家,讓大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下2017-10-10
php下載遠(yuǎn)程大文件(獲取遠(yuǎn)程文件大小)的實(shí)例
下面小編就為大家?guī)硪黄猵hp下載遠(yuǎn)程大文件(獲取遠(yuǎn)程文件大小)的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06
你可能不知道PHP get_meta_tags()函數(shù)
這篇文章主要介紹了你可能不知道PHP get_meta_tags()函數(shù),比較實(shí)用的一個(gè)函數(shù)了,小編也是第一次看到它,需要的朋友可以參考下2014-05-05
PHP讓數(shù)組中有相同值的組成新的數(shù)組實(shí)例
下面小編就為大家分享一篇PHP讓數(shù)組中有相同值的組成新的數(shù)組實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12
php檢測網(wǎng)頁是否被百度收錄的函數(shù)代碼
下面給出一段php函數(shù),功能是檢測一個(gè)網(wǎng)頁是否被百度收錄,直接給出代碼2013-10-10

