這篇文章主要介紹了微信公眾號實現(xiàn)會員卡領(lǐng)取功能的相關(guān)資料,需要的朋友可以參考下
1、會員卡的領(lǐng)取也需要js-sdk接口(可以參考獲取微信公眾號獲取用戶的地理位置信息)(借鑒網(wǎng)址:http://gaoboy.com/article/25.html)
2、 比獲取用戶地理位置信息多了一個是需要單獨獲取簽名包,簽名方式也和獲取用戶地理位置的不同(這里再說一下獲取簽名包的方式)
????? 獲取js-sdk簽名包:
?????????? 1、當(dāng)前的url、時間戳、隨機字符串、jsapiticket進行組合????????????????
//調(diào)用js-sdk的簽名包 public function getSignPackage() { $jsapiTicket = $this->getJsApiTicket(); // 注意 URL 一定要動態(tài)獲取,不能 hardcode.(獲取當(dāng)前網(wǎng)頁的url) $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://"; $url = "$protocol$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; //時間戳 $timestamp = time(); //隨機字符串獲取 $nonceStr = $this->createNonceStr(); // 這里參數(shù)的順序要按照 key 值 ASCII 碼升序排序 $string = "jsapi_ticket=$jsapiTicket&noncestr=$nonceStr×tamp=$timestamp&url=$url"; //生成字符串是用來簽名用的 $signature = sha1($string); $signPackage = array( "appId" => $this->appid, "nonceStr" => $nonceStr, "timestamp" => $timestamp, "url" => $url, "signature" => $signature, "rawString" => $string ); return $signPackage; }
獲取會員卡簽名包:
//使用會員卡領(lǐng)取的簽名包 public function getHuiYuanSignPackage() { $apiTicket = $this->getApiTicket(); // 注意 URL 一定要動態(tài)獲取,不能 hardcode.(獲取當(dāng)前網(wǎng)頁的url) $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://"; $url = "$protocol$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; //時間戳 $timestamp = time(); //隨機字符串獲取 // $nonceStr = $this->createNonceStr(); // 這里參數(shù)的順序要按照 key 值 ASCII 碼升序排序 $string = $timestamp.$apiTicket."pVYA_t3RCVF_yhNcO6QCeAmb-1UI"; //生成字符串是用來簽名用的 $signature = sha1($string); $signPackage = array( "timestamp" => $timestamp, "signature" => $signature, ); return $signPackage; }
詳細代碼說明:
HTML頁面:
//引入微信js文件 <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> <script type="text/JavaScript"> //配置信息驗證接口(填寫的js-sdk獲取的簽名包的參數(shù)) wx.config({ debug: false, appId: '<?PHP echo $signPackage["appId"];?>', timestamp: '<?php echo $signPackage["timestamp"];?>', nonceStr: '<?php echo $signPackage["nonceStr"];?>', signature: '<?php echo $signPackage["signature"];?>', jsApiList: [ // 所有要調(diào)用的 API 都要加到這個列表中 'addCard' ] }); wx.ready(function(){ //添加卡券 document.querySelector('#addCard').onclick = function () { wx.addCard({ cardList: [ { cardId: "",//微信公眾號內(nèi)創(chuàng)建的會員卡的id cardExt: '{"timestamp":"<?php echo $huiyuanPackage['timestamp'] ?>","signature":"<?php echo $huiyuanPackage['signature'] ?>"}'//會員卡的簽名包 } ], //成功之后的回調(diào)的函數(shù)(通過回調(diào)函數(shù)該表數(shù)據(jù)庫是否領(lǐng)取會員卡的狀態(tài)) success: function (res) { $.ajax({ url: '__CONTROLLER__/editHuiYuan', type: 'post', dataType: 'json', data: {is_LingQu: '1',user_id:"<?php echo $user['user_id'] ?>"}, success:function(){ $("#addCard").html("我的會員卡"); } }) } }); }; }); </script>
控制器中的代碼:
類庫:http://www.jb51.net/article/115732.htm
public function index(){ $user_id = session('user_id'); if($user_id){ $jssdk = new \Home\Model\WechatModel(); $signPackage = $jssdk->GetSignPackage();//獲取js-sdk簽名包 $huiyuanPackage = $jssdk->getHuiYuanSignPackage();獲取會員卡簽名包 //獲取用戶信息 $user = M('user')->where(array('user_id' => $user_id))->find(); //產(chǎn)品收藏數(shù)量統(tǒng)計 $goods_count = M('goods_shoucang')->where(array('user_id' => $user_id))->count(); //門店收藏數(shù)量統(tǒng)計 $shop_count = M('shop_shoucang')->where(array('user_id' => $user_id))->count(); }else{ //判斷該用戶是否存在 $model = new \Home\Model\WechatModel(); $openid_accesstoken = $model->openId(); $rst = M('user')->where(array('user_openid' => $openid_accesstoken['openid']))->find(); if($rst){ session('openid',$openid_accesstoken['openid']); session('user_id', $rst['user_id']); $jssdk = new \Home\Model\WechatModel(); $signPackage = $jssdk->GetSignPackage(); $huiyuanPackage = $jssdk->getHuiYuanSignPackage(); //獲取用戶信息 $user = M('user')->where(array('user_id' => $rst['user_id']))->find(); //產(chǎn)品收藏數(shù)量統(tǒng)計 $goods_count = M('goods_shoucang')->where(array('user_id' => $rst['user_id']))->count(); //門店收藏數(shù)量統(tǒng)計 $shop_count = M('shop_shoucang')->where(array('user_id' => $rst['user_id']))->count(); }else{ $userInfo = $model->getOpenId($openid_accesstoken['openid'],$openid_accesstoken['access_token']); $data = array( 'user_img' => $userInfo['headimgurl'], 'user_openid' => $userInfo['openid'], 'user_name' => filter($userInfo['nickname']), 'user_register_time' => time(), 'city' => $userInfo['province'].'-'.$userInfo['city'], ); $id = M('user')->add($data); session('openid', $userInfo['openid']); session('user_id',$id); $jssdk = new \Home\Model\WechatModel(); $signPackage = $jssdk->GetSignPackage(); $huiyuanPackage = $jssdk->getHuiYuanSignPackage(); //獲取用戶信息 $user = M('user')->where(array('user_id' => $id))->find(); //產(chǎn)品收藏數(shù)量統(tǒng)計 $goods_count = M('goods_shoucang')->where(array('user_id' => $id))->count(); //門店收藏數(shù)量統(tǒng)計 $shop_count = M('shop_shoucang')->where(array('user_id' => $id))->count(); } } $this->assign('signPackage', $signPackage); $this->assign('huiyuanPackage', $huiyuanPackage); $this->assign('user', $user); $this->assign('shop_count', $shop_count); $this->assign('goods_count', $goods_count); $this->display(); }
以上是分享微信公眾號實現(xiàn)會員卡領(lǐng)取的功能的詳細內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費脫衣服圖片

Undresser.AI Undress
人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover
用于從照片中去除衣服的在線人工智能工具。

Clothoff.io
AI脫衣機

Video Face Swap
使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的代碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級代碼編輯軟件(SublimeText3)

抖音網(wǎng)頁版的登錄入口是https://www.douyin.com/。登錄步驟包括:1.打開瀏覽器;2.輸入網(wǎng)址https://www.douyin.com/;3.點擊“登錄”按鈕并選擇登錄方式;4.輸入賬號密碼;5.完成登錄。網(wǎng)頁版提供了瀏覽、搜索、互動、上傳視頻和個人主頁管理等功能,具有大屏幕體驗、多任務(wù)處理、便捷的賬號管理和數(shù)據(jù)統(tǒng)計等優(yōu)勢。

幣安C2C交易讓用戶直接買賣加密貨幣,需注意交易對手、支付和價格波動風(fēng)險,選擇高信用度用戶和安全支付方式可降低風(fēng)險。

拷貝漫畫無疑是一個不容錯過的寶藏。在這里,你可以找到各種風(fēng)格的籃球漫畫,從熱血勵志的競技故事,到輕松幽默的日常喜劇,應(yīng)有盡有。無論是想重溫經(jīng)典,還是想發(fā)掘新作,拷貝漫畫都能滿足你的需求。通過拷貝漫畫提供的正版在線閱讀入口,你將告別盜版資源的困擾,享受高清流暢的閱讀體驗,更能支持你喜愛的漫畫作者,為正版漫畫的發(fā)展貢獻一份力量。

選擇UC瀏覽器還是QQ瀏覽器取決于你的需求:1.UC瀏覽器適合追求快速加載和豐富娛樂功能的用戶;2.QQ瀏覽器適合需要穩(wěn)定性和與騰訊產(chǎn)品無縫連接的用戶。

結(jié)合 2025 年最新行業(yè)動態(tài)與多維度評測數(shù)據(jù),以下為綜合排名前十的 AI 寫作軟件推薦,涵蓋通用創(chuàng)作、學(xué)術(shù)研究、商業(yè)營銷等主流場景,同時兼顧中文優(yōu)化與本地化服務(wù):

奈斯漫畫,一個致力于為漫畫愛好者打造的沉浸式閱讀體驗平臺,匯聚了海量國內(nèi)外優(yōu)質(zhì)漫畫資源。它不僅僅是一個漫畫閱讀平臺,更是一個連接漫畫家與讀者、分享漫畫文化的社區(qū)。通過簡潔直觀的界面設(shè)計和強大的搜索功能,奈斯漫畫讓你能夠輕松找到心儀的作品,享受流暢舒適的閱讀體驗。告別漫長的等待和繁瑣的操作,即刻進入奈斯漫畫的世界,開啟你的漫畫之旅吧!

蛙漫漫畫,憑借其豐富多元的漫畫資源和便捷流暢的在線閱讀體驗,已成為眾多漫畫愛好者的首選。它就像一個充滿活力的池塘,源源不斷地涌現(xiàn)出新鮮有趣的故事,等待著你去發(fā)現(xiàn)和探索。蛙漫漫畫涵蓋了各種題材,從熱血冒險到甜蜜戀愛,從奇幻科幻到懸疑推理,無論你喜歡哪種類型,都能在這里找到心儀的作品。其簡潔直觀的界面設(shè)計,更讓你能夠輕松上手,快速找到想看的漫畫,沉浸在精彩紛呈的漫畫世界中。

在這里,您可以盡情暢游于浩瀚的漫畫海洋,探索各種題材和風(fēng)格的作品,從熱血激昂的少年漫,到細膩動人的少女漫,從懸疑燒腦的推理漫,到輕松搞笑的日常漫,應(yīng)有盡有,總有一款能夠觸動您的心弦。我們不僅擁有海量的正版漫畫資源,還不斷引進和更新最新的作品,確保您能夠第一時間閱讀到您喜愛的漫畫。
