Home/
/**
* 判断是否是微信浏览器
* @return string
*/
function is_weixin()
{
if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false ) {
return true;
}
return false;
}
/*
*微信静默授权登录
**/
function silent(){
$appid='***';
$url_c = urlencode(curPageURL());
$redirect_uri = 'http://www.yuming.com'.U('Wei/getopenid',array('u'=>$url_c));
$redirect_uri = urlencode ($redirect_uri);
$url ="https://open.weixin.qq.com/connect/oauth2/authorize?appid=$appid&redirect_uri={$redirect_uri}&response_type=code&scope=snsapi_base&state=1#wechat_redirect";
header("Location:".$url);
}
Wei/
public function getopenid(){
$appid='***';
$secret = "***";
$code = $_GET["code"];
$u = curPageURL();
$url_q = explode('/u/',$u);
$url_h = explode('?',$url_q[1]);
$url_h[0] = str_replace('.html','',urldecode(urldecode($url_h[0])));
$oauth2Url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$secret&code=$code&grant_type=authorization_code";
$oauth2 = $this->getJson($oauth2Url);
$re = $this->checkopenid($oauth2['opendid']);
if($re){
redirect (U('Home/entrance'));
}else{
session('openid',$oauth2);
redirect('{$url_h[]}');
}
}
public function checkopenid($openid){
$user = M('UcenterMember');
$info = $user->where(array("wx_unionid"=>$openid))->find();
if(empty($info)){
return true;
}else{
return false;
}
}
转载于:https://my.oschina.net/nebulamo/blog/1377167