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

