public function sign($url, $corp_id, $type, $cardId)
{
$data['jsapi_ticket'] = $this->getJsApiTicket($type);
$data['noncestr'] = self::createNonceStr();
$data['timestamp'] = time();
$data['url'] = $url;
$data['card_id'] = $cardId;
$str = self::formatQueryParaMap($data);
$sign = sha1($str);
// unset($data['jsapi_ticket']);
// unset($data['url']);
$data['signature'] = $sign;
$data['appId'] = $corp_id;
return $data;
}
上面是在生成簽名的代碼 在領券卡券的時候,會傳入card_id
但是在調用掃碼的時候,並不會傳入card_id,於是後臺在爲了不重複請求微信服務器的情況下,把獲取的ticket保存起來
於是就造成了第一次領券可以,但是掃碼不可以,或者掃碼可以,但是領券不成功
最後是把兩個ticket分別保存起來。