我是這樣設計的:在后臺定義2個方法,create_card()--用戶創建卡券,回傳創建的卡券id,send_card()--用戶jssdk投放領取卡券,在send_card()中呼叫create_card()獲取卡券id
function create_card()
{
...
return $card_id;
}
function send_card()
{
...
$this->create_card();
return array(
'url'=> $url,
'jsapi_ticket' =>$jsapi_ticket,
'timestamp'=> $timestamp,
'nonceStr'=> $noncestr,
'signature' => $signature,
'sign_card' => $sign_card,
'card_id'=> $cardId,
'api_ticket' => $api_ticket
);
}
在前端js中:頁面加載后首先post請求create_card,然后注入到wx.config中,然后再通過按鈕點擊事件執行wx.addCard
$(document).ready(function() {
$.post('create_card','url:url',function(res){
wx.config({
...
jsApiList: [
'addCard','scanQRCode'
]
})
})
})
卡券可以生成,領取也正常,只領取一次沒有問題,但是我是想把這個領取的操作放在一個抽獎頁面中,用戶可以通過抽獎多次領取卡券,那么問題就來了,第二次領取的時候就顯示卡券已領取,只能重新加載一次頁面,也就是再次執行下send_card才能多次領取,而且如果卡券id快取起來也不行,必須重新生成,這樣難道每次都要重新創建卡券嗎?請大佬指點。。。
uj5u.com熱心網友回復:
我自己回答吧,,,我把創建卡券的介面放在中獎后點擊領取時執行,再把config注入也放到這個點擊事件中,這樣每次就不用重繪頁面了。。。但是新的問題又出現了,每次投放卡券的時候如果新創建卡券,新創建的卡券立即投放時不時會出現未通過審核的情況,如果事先快取起來,那么卡券有效期怎么處理?轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/132673.html
標籤:微信開發
