Field('id,card_id')->where($where)->find(); return $cardinfo; } Public function _initialize() { //定义全局门店id /*$this->diemsg('商家会员卡权限未开启,请联系商家');*/ $storeid = I('get.primaryid'); $storeids = session('primaryid'); //存储商户id if(!empty($storeid)){ if(!empty($_SESSION['sqmode']) && session('wxuser')['primaryid']!=$storeid){ session('sqmode',null); } session('primaryid',$storeid); }else if(empty($storeids)){ $this->diemsg(0,'未知的门店信息'); exit; } //判断当前门店是否有使用会员卡的权限 $info = D('Plug')->getAccess(!empty($storeid)?$storeid:$storeids,'vip'); if(!$info){ $this->diemsg(0,'商家会员卡权限未开启,请联系商家'); exit; } self::$SET = $_SESSION['SET'] = $this->checkSet(); self::$_cardinfo = $this->storeCardInfo(); $appset = self::$SET; /*dump($appset); exit;*/ if($appset['type']==1){ //用户自定义配置微信公众号 self::$_wxappid = self::$SET['appid']; self::$_wxappsecret = self::$SET['appsercet']; if (!$_SESSION['sqmode']) { if (strpos($_SERVER["HTTP_USER_AGENT"], "MicroMessenger")) { //判断code是否存在 if ($_GET['code']) { $_url = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; if ($_GET['code'] != 'authdeny') { //用户授权 $options['appid'] = self::$_wxappid; $options['appsecret'] = self::$_wxappsecret; $wx = new \Util\Wx\Wechat($options); $re = $wx->getOauthAccessToken($_GET['code']);//获取access_token和openid $access_token = $re['access_token']; $openid = $re['openid']; $user = $wx->getOauthUserinfo($access_token, $openid); $user['primaryid'] = session('primaryid'); if ($re) { $_SESSION['sqmode'] = 'wecha'; $_SESSION['sqopenid'] = $openid; $_SESSION['wxuser'] = $user; } //正常处理完成,返回原链接 $rurl = $_SESSION['oaurl']; $this->redirect($rurl); } else { $this->diemsg(0, '本应用需要您的授权才可以使用!'); } }else{ $_url = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; $options['appid'] = self::$_wxappid; $options['appsecret'] = self::$_wxappsecret; $wx = new \Util\Wx\Wechat($options); $squrl = $wx->getOauthRedirect($_url, '1', 'snsapi_base'); header("Location:" . $squrl); exit; } }else{ $this->diemsg(0, '请使用微信浏览器访问本应用!'); } } }else if($appset['type']==2){ //第三方授权微信公众号 $appinfo = M('appweixin')->where('id = 1')->find(); $options['appid'] = self::$SET['authorizer_appid']; if (!$_SESSION['sqmode']) { if (strpos($_SERVER["HTTP_USER_AGENT"], "MicroMessenger")) { //判断code是否存在 if ($_GET['code']) { $_url = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; if ($_GET['code'] != 'authdeny') { //用户授权 $wx = new \Util\Wx\Wechat($options); $token = get_acc_token(); $re = $wx->getOauthAccessTokens($_GET['code'],$appinfo['appid'],$token);//获取access_token和openid $access_token = $re['access_token']; $openid = $re['openid']; $user = $wx->getOauthUserinfos($access_token, $openid,$options['appid']); if ($re) { $_SESSION['sqmode'] = 'wecha'; $_SESSION['sqopenid'] = $openid; $_SESSION['wxuser'] = $user; } //正常处理完成,返回原链接 $rurl = $_SESSION['oaurl']; $this->redirect($rurl); } else { $this->diemsg(0, '本应用需要您的授权才可以使用!'); } }else{ $_url = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; $wx = new \Util\Wx\Wechat($options); $squrl = $wx->getOauthRedirects($_url, '1', 'snsapi_base',$appinfo['appid']); header("Location:" . $squrl); exit; } }else{ $this->diemsg(0, '请使用微信浏览器访问本应用!'); } } } //主店id 会员卡id $primaryid = I('get.primaryid')?I('get.primaryid'):session('primaryid'); session('primaryid',$primaryid); //查找用户是否激活会员卡 $map['openid'] = $_SESSION['sqopenid']; session('openid',$_SESSION['sqopenid']); $map['primaryid'] = session('primaryid'); $userinfo = M('vip')->where($map)->find(); } public function index(){ //$url = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']."?openid=".session('openid'); $map['storeid'] = session('primaryid'); $wechat = M('wxconfig')->where($map)->find(); if($wechat['type']==1){ $jssdk = new Jssdk($wechat['appid'],self::$_wxappsecret); }else if($wechat['type']==2){ $access_token = get_authorizer_access_token($map['storeid']); $jssdk = new Jssdks($wechat['authorizer_appid'],$access_token); }else{ $this->error('微信配置参数有误'); } $signPackage = $jssdk->GetSignPackage(); $this->assign('signPackage',$signPackage); $openid = session('openid'); $this->assign('openid',$openid); $this->display(); } //设置全局变量 全局缓存SET public function checkSet() { $storeid = session('primaryid'); $set = M('wxconfig')->where('storeid = "'.$storeid.'"')->find(); //print_r(session('wxuser')); return $set ? $set : $this->error('系统全局设置未定义!'); } //禁止不动的失败提示的信息 public function diemsg($status, $msg) { //成功为1,失败为0 $this->error($msg); //$tpl = $this->fetch(''); $this->display('Base_diemsg'); die(); } }