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(); }
/** * 删除自定义菜单(所有的) 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; }