hbuilder 第三方登录实例

2017-1-15 mubrand HTML5+

微信、QQ第三方登录的具体实现

之前的文章已经说了相关manifest参数配置,在开发环境中相关sdk第三方登录那里的配置appid可以先随便写,因为hbuilder内部已经封装好了。切记打包之前换成正式id。

manifest相关》》》

具体实现:


<a id="loginByWX">微信登录</a>

js处理:



var auths=null;
document.getElementById("loginByWX").addEventListener('tap', function() {
	plus.oauth.getServices( function(services){
		auths = services;
		
		for(var k in auths){
			console.log(auths[k].id)
		}
		//auths解释0QQ 1微信 2微博 3小米,但是不建议使用auths[1]类似的写法,因为各个设备排序不一样,比较坑爹
		//注意获取使用unionid,此id通用后期的微信端等它会用户共享,(openid完全唯一)
		//var s = auths[1];
		var s;
		for (var i = 0; i < auths.length; i++){
//用这样的写法指定第三方,参照:
//[LOG] : xiaomi
//[LOG] : qq
//[LOG] : sinaweibo
//[LOG] : weixin

			if (auths[i].id == 'weixin'){
			 s = auths[i];
			 break; 
			}
		}
		
		if(!s.authResult){
			s.login(function(e){
				// 获取登录操作结果
				s.getUserInfo( function(e){
					console.log( "获取用户信息成功:"+JSON.stringify(s.userInfo) );
					mui.toast('登录成功');
				}, function(e){
					console.log( "获取用户信息失败:"+e.message+" - "+e.code );
					mui.toast('获取用户信息失败');
				} );
				
			}, function(e){
				mui.toast('登录认证失败');
			});
		}else{
			//已经登录认证
			mui.toast('登录成功');
		}

	}, function(e){
		console.log( "获取登录失败:"+e.message+" - "+e.code );
		mui.toast('登录认证失败');
	});
});




标签: hbuilder 打包

评论:

rain
2018-03-08 22:47
您好,能发给我一份完整的demo嘛,第三方登录的
   1248824030@qq.com
momognu
2019-01-08 05:41
@rain:把代码写到plusready里面应该就行了吧http://www.html5plus.org/doc/zh_cn/oauth.html

发表评论:

联系我(QQ/PHONE/WX):18603469707 晋ICP备16009925号-1