Ejemplo n.º 1
0
    /**
     * 领取卡券,入口
     */
    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');
    }
Ejemplo n.º 2
0
    /**
     * 卡券新版签名 (使用 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);
    }
Ejemplo n.º 3
0
    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;
    }
Ejemplo n.º 4
0
    /**
     * 激活成功返回页面
     */
    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');
    }