public function wx()
 {
     $wx_oauth_conf = C('WEIXIN');
     $wechat = new \Common\Lib\Wechat($wx_oauth_conf);
     //$_COOKIE['wxopenid'] = '2oeHfxwAIkN6fPscPnZRLssOtQsXw';
     if (!$_COOKIE['wxopenid']) {
         $req_path = explode('?', $_SERVER['REQUEST_URI']);
         $referrerUri = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
         $state = base64_encode($referrerUri);
         $redirectUri = 'http://wechat.vtshow.top/admin/data/login';
         $authorizeUrl = $wechat->getOauthRedirect($redirectUri, $state, 'snsapi_base');
         header('Location: ' . $authorizeUrl);
         exit;
     } elseif (isset($_COOKIE['wxopenid']) && $_COOKIE['wxopenid']) {
         $uid = $_COOKIE['wxopenid'];
         session('thirdparty_uid', $uid);
         session('thirdparty_type', 'wechat');
         //session('unionid', $_COOKIE['unionid']);
     }
 }
 public function login()
 {
     $wechat = new \Common\Lib\Wechat(C('WX_OAUTH'));
     $token = $wechat->getOauthAccessToken();
     if (!(isset($token['access_token']) && $token['access_token'])) {
         exit('登录失败');
     }
     $wechat = array('token' => $token);
     session('wechat', $wechat);
     //signpackage 写入redis
     $wxConfig = C('WX_OAUTH');
     $jssdk = new \Common\Lib\Jssdk($wxConfig['appid'], $wxConfig['appsecret']);
     $signPackage = $jssdk->GetSignPackage();
     session('signpackage', $signPackage);
     $redis = new \Redis();
     $redisConfig = C('REDIS_CONFIG');
     $redis->connect($redisConfig['host'], $redisConfig['port']);
     $redis->select($redisConfig['db']);
     $redis->set('wx_signpackage_' . $token['openid'], json_encode($signPackage));
     $redis->set('wx_oauth_code_' . $token['openid'], $_GET['code']);
     $redis->set('wx_oauth_state_' . $token['openid'], $_GET['state']);
     //已写入redis
     setcookie('wxopenid', $wechat['token']['openid'], time() + 600, '/', 'wdwd.com');
     $_COOKIE['wxopenid'] = $wechat['token']['openid'];
     //$_GET['state'] = base64_encode('http://wdwd.com/aaa/bbb');
     if ($_GET['state']) {
         $url = base64_decode($_GET['state']);
         $url_arr = explode('?', $url);
         $token = "token=" . $token['access_token'];
         if (count($url_arr) > 1) {
             $new_url = $url . '&' . $token;
         } else {
             $new_url = $url . '?' . $token;
         }
         header('Location: ' . $new_url);
         exit;
     }
 }
 public function login()
 {
     $wechat = new \Common\Lib\Wechat(C('WEIXIN'));
     $token = $wechat->getOauthAccessToken();
     if (!$token) {
         exit('登录失败');
     }
     $wechat = array('token' => $token);
     setcookie('wxopenid', $wechat['token']['openid'], 0, '/', 'vtshow.top');
     $_COOKIE['wxopenid'] = $wechat['token']['openid'];
     /*
             setcookie('nickname', $wechat['token']['nickname'], 0, '/', 'shopflow.cn');
             $_COOKIE['nickname'] = $wechat['token']['nickname'];
     
             setcookie('unionid', $wechat['token']['unionid'], 0, '/', 'shopflow.cn');
             $_COOKIE['unionid'] = $wechat['token']['unionid'];
     */
     if ($_GET['state']) {
         $url = base64_decode($_GET['state']);
         header('Location: ' . $url);
         exit;
     }
 }
 public function menu()
 {
     $menuMdl = D('Menu');
     $wxin_info_check = false;
     if ($this->weixin['appid'] != '' && $this->weixin['appsecret'] != '') {
         $wechat = new \Common\Lib\Wechat();
         $access_token = $wechat->checkAuth($this->weixin['appid'], $this->weixin['appsecret']);
         if ($access_token) {
             $wxin_info_check = true;
         }
     }
     $list = $menuMdl->getList(0);
     $count = count($list);
     if ($count > 0) {
         foreach ($list as $key => $val) {
             $list[$key]['msg_data'] = unserialize(@$val['msg_data']);
             $sec_list = $menuMdl->getList($val['id']);
             if ($sec_list) {
                 foreach ($sec_list as $s_k => $s_v) {
                     $sec_list[$s_k]['msg_data'] = unserialize($s_v['msg_data']);
                 }
             }
             $list[$key]['sec'] = $sec_list;
         }
     }
     $this->assign('menus', $list);
     $this->assign('count', $count);
     $this->assign('wxin', $this->weixin);
     $this->assign('k', 'menu');
     $this->assign('wxin_info_check', $wxin_info_check);
     $this->display();
 }
Example #5
0
 /**
  * 删除自定义菜单(所有的) get
  * $info 服务号的appid,appsecret
  */
 function deleteMenu($info)
 {
     // https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=ACCESS_TOKEN
     $weixinApi = new \Common\Lib\Wechat();
     $weixinApi->checkAuth($info['appid'], $info['appsecret']);
     $res = $weixinApi->deleteMenu();
     if ($res) {
         $return = array('status' => 'success');
     } else {
         $return = array('status' => 'error', 'msg' => $weixinApi->errMsg);
     }
     return $return;
 }