app直接官方教程通过跳转方式发送微信code
<?php
header ( "Content-type: text/html; charset=utf-8" );
function alert($msg){
exit("<script>alert('$msg');history.go(-1);</script>");
}
require_once 'config.php';//加载dz核心库和appkey
别的程序自己参考
if ($code==""){alert('授权失败,请重新登录');}
{
$GETtoken='https://api.weixin.qq.com/sns/oauth2/access_token?appid='.WXAppId.'&secret='.WXAppSecret.'&code='.$code.'&grant_type=authorization_code';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$GETtoken);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
//执行并获取HTML文档内容
$output = curl_exec($ch);
//释放curl句柄
curl_close($ch);
//打印获得的数据
//print_r($output);
$output_array = json_decode($output);
$optk=$output_array->access_token;
$opid=$output_array->openid;
$refresh_token=$output_array->refresh_token;
$expires_in=$output_array->expires_in;
$GETuserinfo='https://api.weixin.qq.com/sns/userinfo?access_token='.$optk.'&openid='.$opid;
$cha = curl_init();
//设置选项,
curl_setopt($cha, CURLOPT_URL,$GETuserinfo);
curl_setopt($cha, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cha, CURLOPT_HEADER, 0);
//执行并获取HTML文档内容
$outpt = curl_exec($cha);
//释放curl句柄
curl_close($cha);
//打印获得的数据
//print_r($outpt);
$outpt_array = json_decode($outpt);
$openid=$outpt_array->openid;
$access_token=$output_array->access_token;
$nickname=$outpt_array->nickname;
$sex=$outpt_array->sex;
$headimgurl= $outpt_array->headimgurl;
$unionid= $outpt_array->unionid;
//$fetch = C::t('#wechat#')->fetch_first($openid); //检查是否绑定
$fetch=DB::fetch_first("SELECT * FROM ".DB::table('common_member_wechat')." WHERE unionid='$unionid'");
//error_reporting(E_ALL);
//ini_set('display_errors', 1);
//$fetch['uid']=1;
if($fetch){
$uid=$fetch['uid'];
$user = getuserbyuid($uid, 1);
require_once libfile('function/member');
setloginstatus($user, 2592000);
header('location:../../');
}else{
$cookietime=2592000;
dsetcookie('unionid', $unionid, $cookietime, 1, true);
dsetcookie('appaccesstoken', $access_token, $cookietime, 1, true);
dsetcookie('headimgurl', $headimgurl, $cookietime, 1, true);
dsetcookie('appopenid', $openid, $cookietime, 1, true);
dsetcookie('nickname', $nickname, $cookietime, 1, true);
header('location:appweixinbind.php');我。//未注册用户绑定
}
//print_r($fetch);exit("SELECT * FROM ".DB::table('common_member_wechat')." WHERE unionid='$unionid'");
//echo '<br>输出openid@'.$openid;
//echo '<br>输出uniouid@'.$unioiud;
/* echo '<br>输出accesstoken@'.$access_token;
echo '<br>输出昵称@'.$nicknme;
echo '<br>输出性别@'.$sex;
echo '<br>输出头像@'.$headimgurl; */
}
?>
5 个回复
z***@qq.com (作者)
-..-
7***@qq.com
app直接官方教程通过跳转方式发送微信code
z***@qq.com (作者)
Σ( ° △ °|||)︴h5啊哥。。app我知道,小程序我也知道,之前H5是要用wxsdk的
2019-04-24 14:03
7***@qq.com
回复 z***@qq.com: 你是要打包的。 app是网站拉起微信登陆是吧?
2019-04-24 14:46
7***@qq.com
回复 z***@qq.com: h5不用jssdk也可以的吧判断微信浏览器环境通过js拼接请求
拼接网址取code回吊到我上面php代码就行了。
2019-04-24 15:15
z***@qq.com (作者)
这个应该可以解决:http://ask.dcloud.net.cn/article/35380
7***@qq.com
不是太明白你意思
你是直接打包网站
让网站通过微信公众号登陆
微信小程序登陆
安卓app拉起登陆是吧
h5代码不知道怎么写对吧
2019-04-24 14:49
z***@qq.com (作者)
回复 7***@qq.com: 这个连接是我想要的,跟app和小程序没有任何关系的,因为我之前是用vue-cli打包的微信h5里面用的是微信sdk,但是用这个uni-app打包的之前是不知道,看了这个连接以后就明白了,和vue-cli是一样的,引入一个sdk模块就可以了,多谢
2019-04-24 14:52
7***@qq.com
回复 z***@qq.com: 你是要微信公众号登陆和分享啊
2019-04-24 14:59
7***@qq.com
2019-04-24 15:01
7***@qq.com
我的网站就是直接打包网址的
2019-04-24 15:07
7***@qq.com
微信QQ授权登陆
前端代码
请在需要登陆的模板页面设登陆button #wxlogin'
live可以换成onclink
点击微信登陆会拉起app授权登陆
'dcloudapi/oauth/weixin.php?code='+e.code;
会带上code参数跳转到我上面后台php文件处完成授权登陆,
如果你的app是单纯的。h5没有后台的
官方文可以直接获取到用户资料
微信里授权登陆不是用这个方式
1***@qq.com
你可以了吗,可以教教我不,uni-app做微信H5网页 网页微信登入怎么弄呢 就是网页授权