js能够获取到用户信息成功,然而怎么写入服务器用户表呢?还是应该用PHP来获取openid再判断呢?
var auths=null;
$("body").on("click",".loginBtn",function(){
// 微信授权登录
if(navigator.userAgent.indexOf("Html5Plus") > -1){
plus.oauth.getServices( function(services){
auths = services;
authLogin();
}, function(e){
alert("获取分享服务列表失败:"+e.message+" - "+e.code);
} );
}
})
function authLogin(){
var s = auths[0];
if ( !s.authResult ) {
s.login( function(e){
// 获取登录操作结果
var result = e.target.authResult;
alert( "登录认证成功:"+JSON.stringify(result) );
authUserInfo()
}, function(e){
alert("登录认证失败!");
}, {} );
}
}
function authUserInfo(){
var s = auths[0];
if ( !s.authResult ) {
alert("未登录授权!");
} else {
s.getUserInfo( function(e){
alert( "获取用户信息成功:"+JSON.stringify(s.userInfo) );
//拿到用户信息,进行相关处理,ajax传用户数据到服务器等
var prame = JSON.stringify(s.userInfo);
}, function(e){
alert( "获取用户信息失败:"+e.message+" - "+e.code );
} );
}
}
function authLogout(){
for ( var i in auths ) {
var s = auths[i];
if ( s.authResult ) {
s.logout(function(e){
alert( "注销登录认证成功!" );
}, function(e){
alert( "注销登录认证失败!" );
});
}
}
}
s***@163.com
我贴出来你看,在网上找到的,直接吧代码放在登录页面。真机可以测试获得数据,后面我就不会了
<script type="text/javascript">
var auths = null;
// 监听plusready事件
document.addEventListener("plusready", function() {
// 扩展API加载完毕,现在可以正常调用扩展API
plus.oauth.getServices(function(services) {
auths = services;
}, function(e) {
alert("获取分享服务列表失败:" + e.message + " - " + e.code);
});
}, false);
// 登录操作
function authLogin() {
var s = auths[0];
if(!s.authResult) {
s.login(function(e) {
alert("登录认证成功!");
}, function(e) {
alert("登录认证失败!");
});
} else {
alert("已经登录认证!");
}
}
// 获取登录用户信息操作
function authUserInfo() {
var s = auths[0];
if(!s.authResult) {
alert("未授权登录!");
} else {
s.getUserInfo(function(e) {
alert("获取用户信息成功:" + JSON.stringify(s.userInfo));
//我不知道怎么传递参数
//window.location.href="{:url('index/wx_login/wechatlogin?getuserinfo=JSON.stringify(s.userInfo)')}";
}, function(e) {
alert("获取用户信息失败:" + e.message + " - " + e.code);
});
}
}
</script>
2020-12-22 10:13