/***************************/
/* Wechat 登录 /
/* by tiandi 2014.12.6 /
/***************************/
if (defined('WEBSITE') || defined('GETINFO'))
{
global $_LANG;
$_LANG['help']['APP_KEY'] = '在微信开发者平台申请的AppID';
$_LANG['help']['APP_SECRET'] = '在微信开发者平台申请的AppSecret';
$_LANG['APP_KEY'] = 'AppID';
$_LANG['APP_SECRET'] = 'AppSecret';
$i = isset($web) ? count($web) : 0;
// 类名
$web[$i]['name'] = 'wechat';
// 文件名,不包含后缀
$web[$i]['type'] = 'wechat';
$web[$i]['className'] = 'wechat';
// 作者信息
$web[$i]['author'] = 'tiandi';
// 作者QQ
$web[$i]['qq'] = '';
// 作者邮箱
$web[$i]['email'] = '';
// 申请网址
$web[$i]['website'] = 'http://open.weixin.qq.com';
// 版本号
$web[$i]['version'] = '1.0';
// 更新日期
$web[$i]['date'] = '2014-12-6';
// 配置信息
$web[$i]['config'] = array(
array('type'=>'text' , 'name'=>'APP_KEY', 'value'=>''),
array('type'=>'text' , 'name' => 'APP_SECRET' , 'value' => ''),
);
}
if (!defined('WEBSITE'))
{
include_once(dirname(__FILE__).'/oath2.class.php');
class website extends oath2
{
function website()
{
$this->app_key = APP_KEY;
$this->app_secret = APP_SECRET;
$this->scope = 'snsapi_login';
//by tiandi authorizeURL是用来PHP打开微信登录时用,JS调用则不用authorizeURL。
$this->authorizeURL = 'https://open.weixin.qq.com/connect/qrconnect';
$this->tokenURL = 'https://api.weixin.qq.com/sns/oauth2/access_token';
$this->refreshtokenURL = 'https://api.weixin.qq.com/sns/oauth2/refresh_token';
$this->userURL = 'https://api.weixin.qq.com/sns/userinfo';
$this->meth = 'GET';
}
function Code2Token($code)
{
$params = 'appid='.$this->app_key.'&secret='.$this->app_secret.'&code='.$code.
'&grant_type=authorization_code';
$tokenurl = $this->tokenURL."?". $params;
$token = $this->http($tokenurl, 'GET');
$token = json_decode($token , true);
return $token;
}
function GetRefreshToken($token)
{
$params = 'appid='.$this->app_key.'&grant_type=refresh_token&refresh_token='.$token;
$tokenurl = $this->refreshtokenURL."?". $params;
$token = $this->http($tokenurl, 'GET');
$token = json_decode($token , true);
return $token;
}
function Getinfo($token,$openid)
{
$params = 'access_token='.$token.'&openid='.$openid;
$userurl = $this->userURL."?". $params;
$userinfo = $this->http($userurl, 'GET');
return json_decode($userinfo , true);
}
}
}