QQ/微信授权登录js

http://blog.csdn.net/weixin_36050378/article/details/52435241(可以看这个链接,基本上讲全了)

本页面只做微信/QQ的授权登录

QQ/微信授权登录js_第1张图片


这个静态页面就没什么好说的了

授权登录的js方面,之前找过h5的微信授权代码,其实思路是差不多的,但是那个代码打包出来到app上面一直不行,只能真机调试

于是后来就换了另外一种方法,其实逻辑是一样的,但是这个代码可以打包使用

                (function($, doc) { 
$.plusReady(function() {
app.setState(null);
//第三方登录(因为直接写一个登陆一直只能获取到QQ的授权,所以就干脆定义了两个变量)
var authbth = ['qq'];//qq登录 
var authBtns = ['weixin']; //配置业务支持的第三方登录
var auths = {};
//获取登录服务
plus.oauth.getServices(function(services) {
for (var i in services) {
var service = services[i];
auths[service.id] = service;
if (~authBtns.indexOf(service.id)) {
var btn = document.getElementById('wechat');
//如果微信未安装,则为不启用状态
btn.authId = service.id;
}else if(~authbth.indexOf(service.id)){
var btns=document.getElementById('qq');
btns.authId = service.id;
}
}
//微信登录
$('.other').on('tap','#wechat', function() {
var auth = auths[this.authId];
var waiting = plus.nativeUI.showWaiting();
auth.login(function() {
// waiting.close();
// plus.nativeUI.toast("登录认证成功");
auth.getUserInfo(function() {
// plus.nativeUI.toast("获取用户信息成功");
/*alert(JSON.stringify(auth.userInfo));*/
console.log(JSON.stringify(auth.userInfo));
// //获取信息想执行的方法,比如缓存openid
quickLogin();
}, function(e) {
plus.nativeUI.toast("获取用户信息失败:" + e.message);
plus.nativeUI.closeWaiting();
});
}, function(e) {
waiting.close();
plus.nativeUI.toast("登录认证失败:" + e.message); 
plus.nativeUI.closeWaiting();
});
});
// qq登录
$('.other').on('tap','#qq', function(){
var auth = auths[this.authId];
auth.login(function() {
// plus.nativeUI.toast("登录认证成功");
auth.getUserInfo(function() {
quickLogin();
}, function(e) {
plus.nativeUI.toast("获取用户信息失败:" + e.message);
plus.nativeUI.closeWaiting();
});
}, function(e) {
plus.nativeUI.toast("登录认证失败:" + e.message);
});
});
}, function(e) {
plus.nativeUI.toast("获取登录认证失败:" + e.message);
});


});
}(mui, document));



//快速登录
function quickLogin() {
$.ajax({
url: ‘’,
type: 'POST',
dataType: 'json',
data: { //传值 
},
success: function(data) {
// //成功执行的方法放这里
},
error: function(e) {
console.log(e)
}
})
}
// 绑定快速登录
function bindUser() {
$.ajax({
url: ‘’,
type: 'POST',
dataType: 'json',
headers: {
   },
data: {
},
success: function(data) {
// 
},
error: function(e) {
console.log(e)
}
})
}

(本博主只是一个初学的菜鸟--Anguler,希望能够帮助到需要的人,如果有不正确的地方希望多多包涵和欢迎随时提出来,一起进步)

你可能感兴趣的:(App)