這篇文章主要介紹了微信公眾號(hào)實(shí)現(xiàn)會(huì)員卡領(lǐng)取功能的相關(guān)資料,需要的朋友可以參考下
1、會(huì)員卡的領(lǐng)取也需要js-sdk接口(可以參考獲取微信公眾號(hào)取得使用者的地理位置資訊)(借鏡網(wǎng)址:http://gaoboy.com/article/25.html)
2、 比取得使用者地理位置資訊多了一個(gè)是需要單獨(dú)取得簽章包,簽章方式也和取得使用者地理位置的不同(這裡再說一次取得簽章包的方式)
????? 取得js-sdk簽章包:
#?????????? 1、目前的url、時(shí)間戳記、隨機(jī)字串、jsapiticket進(jìn)行組合????????????????
#1212212>
##
//調(diào)用js-sdk的簽名包 public function getSignPackage() { $jsapiTicket = $this->getJsApiTicket(); // 注意 URL 一定要?jiǎng)討B(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]"; //時(shí)間戳 $timestamp = time(); //隨機(jī)字符串獲取 $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; }詳細(xì)程式碼說明:???? HTML頁面:?????????
#
//使用會(huì)員卡領(lǐng)取的簽名包 public function getHuiYuanSignPackage() { $apiTicket = $this->getApiTicket(); // 注意 URL 一定要?jiǎng)討B(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]"; //時(shí)間戳 $timestamp = time(); //隨機(jī)字符串獲取 // $nonceStr = $this->createNonceStr(); // 這里參數(shù)的順序要按照 key 值 ASCII 碼升序排序 $string = $timestamp.$apiTicket."pVYA_t3RCVF_yhNcO6QCeAmb-1UI"; //生成字符串是用來簽名用的 $signature = sha1($string); $signPackage = array( "timestamp" => $timestamp, "signature" => $signature, ); return $signPackage; }1控制器中的程式碼:
//引入微信js文件 <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> <script type="text/JavaScript"> //配置信息驗(yàn)證接口(填寫的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 都要加到這個(gè)列表中 'addCard' ] }); wx.ready(function(){ //添加卡券 document.querySelector('#addCard').onclick = function () { wx.addCard({ cardList: [ { cardId: "",//微信公眾號(hào)內(nèi)創(chuàng)建的會(huì)員卡的id cardExt: '{"timestamp":"<?php echo $huiyuanPackage['timestamp'] ?>","signature":"<?php echo $huiyuanPackage['signature'] ?>"}'//會(huì)員卡的簽名包 } ], //成功之后的回調(diào)的函數(shù)(通過回調(diào)函數(shù)該表數(shù)據(jù)庫是否領(lǐng)取會(huì)員卡的狀態(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("我的會(huì)員卡"); } }) } }); }; }); </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();獲取會(huì)員卡簽名包 //獲取用戶信息 $user = M('user')->where(array('user_id' => $user_id))->find(); //產(chǎn)品收藏?cái)?shù)量統(tǒng)計(jì) $goods_count = M('goods_shoucang')->where(array('user_id' => $user_id))->count(); //門店收藏?cái)?shù)量統(tǒng)計(jì) $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)品收藏?cái)?shù)量統(tǒng)計(jì) $goods_count = M('goods_shoucang')->where(array('user_id' => $rst['user_id']))->count(); //門店收藏?cái)?shù)量統(tǒng)計(jì) $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)品收藏?cái)?shù)量統(tǒng)計(jì) $goods_count = M('goods_shoucang')->where(array('user_id' => $id))->count(); //門店收藏?cái)?shù)量統(tǒng)計(jì) $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(); }
以上是分享微信公眾號(hào)實(shí)現(xiàn)會(huì)員卡領(lǐng)取的功能的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費(fèi)脫衣圖片

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

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的程式碼編輯器

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

禪工作室 13.0.1
強(qiáng)大的PHP整合開發(fā)環(huán)境

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

SublimeText3 Mac版
神級(jí)程式碼編輯軟體(SublimeText3)

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

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

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

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

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

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

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

2025b安最新官網(wǎng)入口地址:https://www.marketwebb.co/zh-CN/join?ref=507720986&type=wenzi;幣安(Binance)交易所是一家全球性的加密貨幣交易所,服務(wù)包括北美、歐洲、臺(tái)灣、中東、香港、馬來西亞在內(nèi)的180個(gè)國家地區(qū),提供超過600種加密貨幣,在全球擁有2.7億註冊(cè)用戶。
