/** * 领取卡券,入口 */ public function index() { //获取会员卡 $jsSign = new WxJsSign(Config::APP_ID, Config::API_SECRET); $signPackage = $jsSign->GetSignPackage(); $data = array( 'appId' => $signPackage['appId'], 'timestamp' => $signPackage['timestamp'], 'nonceStr' => $signPackage['nonceStr'], //随机字符串 'signature' => $signPackage['signature'], ); //查看用户code $code = $this->_model->getCodeByOpenid($this->_openid); //添加用户到测试白名单,上线后删除此段 //CARD_STATUS_VERIFY_OK 审核通过后去掉此段 $whiteData = array('openid' => array($this->_openid), 'username' => array()); $this->_admin_model->addUserToWhite($whiteData); $this->assign('code', $code); $this->assign('card_id', $this->_card_id); $this->assign('data', $data); $this->display('Index.index'); }
/** * 卡券新版签名 (使用 apiTicket 能兼容老版) * * 该接口性能不如 _cardOldSign,因为需要获得 AccessToken 与 ApiTicket 仅作为兼容模式使用 */ private function _cardSign($cardId, $code = '', $openId = '') { $appId = C('APP_ID'); $appSecret = C('APP_SECRET'); $jsSign = new WxJsSign($appId, $appSecret); $apiTicket = $jsSign->getJsApiTicket('wx_card'); return $this->_cardOldSign($cardId, $code, $openId, $apiTicket); }
private function _Signature($data) { $appId = C('APP_ID'); $appSecret = C('APP_SECRET'); $jsSign = new WxJsSign($appId, $appSecret); $apiTicket = $jsSign->getJsApiTicket('wx_card'); $apiTicket = empty($apiTicket) ? $data['app_secret'] : $apiTicket; include_once LIB_PATH . '/Common/WXCard/CardPacket.class.php'; $signature = new Signature(); $signature->add_data($apiTicket); $signature->add_data($data['card_id']); $signature->add_data($data['code']); $signature->add_data($data['time']); $signature->add_data($this->_openId); $sign = $signature->get_signature(); return $sign; }
/** * 激活成功返回页面 */ public function activateSuccess() { $jsSign = new WxJsSign(Config::APP_ID, Config::API_SECRET); $signPackage = $jsSign->GetSignPackage(); //JSAPI KEY $data = array( 'appId' => $signPackage['appId'], 'timestamp' => $signPackage['timestamp'], 'nonceStr' => $signPackage['nonceStr'], //随机字符串 'signature' => $signPackage['signature'], ); $this->assign('data', $data); $this->display('Index.activateSuccess'); }