var auths={};
// 登录认证
function login(id){
outSet("----- 登录认证 -----");
var auth=auths[id];
console.log("------"+id+"------"+JSON.stringify(auths));
//------qq------{"sinaweibo":{"id":"sinaweibo","description":"新浪微博","authResult":null,"userInfo":null},"qq":{"id":"qq","description":"QQ","authResult":{"ret":0,"pay_token":"40675145B348A7CA10B2A2665E9867D1","pf":"desktop_m_qq-10000144-android-","query_authority_cost":330,"authority_cost":3821,"openid":"B99ED4D8763567CCFC01718A3A58C48C","expires_in":7776000,"pfkey":"87a232e8a319b181e5530786efbf9436","msg":"","access_token":"36B858F3C339DF76FE55E4A29A835075","login_cost":2363},"userInfo":{"is_yellow_year_vip":"0","ret":0,"figureurl_qq_1":"http://q.qlogo.cn/qqapp/1104455702/B99ED4D8763567CCFC01718A3A58C48C/40","figureurl_qq_2":"http://q.qlogo.cn/qqapp/1104455702/B99ED4D8763567CCFC01718A3A58C48C/100","nickname":"skywalker","yellow_vip_level":"0","is_lost":0,"msg":"","city":"株洲","figureurl_1":"http://qzapp.qlogo.cn/qzapp/1104455702/B99ED4D8763567CCFC01718A3A58C48C/50","vip":"0","level":"0","figureurl_2":"http://qzapp.qlogo.cn/qzapp/1104455702/B99ED4D8763567CCFC01718A3A58C48C/100","province":"湖南","is_yellow_vip":"0","gender":"男","figureurl":"http://qzapp.qlogo.cn/qzapp/1104455702/B99ED4D8763567CCFC01718A3A58C48C/30"}},"weixin":{"id":"weixin","description":"微信","authResult":null,"userInfo":null}} at plus/oauth.html:42
if(auth){
var w=plus.nativeUI.showWaiting();
document.addEventListener("pause",function(){
setTimeout(function(){
w&&w.close();w=null;
},2000);
}, false );
auth.login(function(){
w&&w.close();w=null;
outLine("登录认证成功:");
outLine(JSON.stringify(auth.authResult));
userinfo(auth);
},function(e){
w&&w.close();w=null;
outLine("登录认证失败:");
outLine("["+e.code+"]:"+e.message);
plus.nativeUI.alert("详情错误信息请参考授权登录(OAuth)规范文档:http://www.html5plus.org/#specification#/specification/OAuth.html",null,"登录失败["+e.code+"]:"+e.message);
});
}else{
outLine("无效的登录认证通道!");
plus.nativeUI.alert("无效的登录认证通道!",null,"登录");
}
}
// 获取用户信息
function userinfo(a){
outLine("----- 获取用户信息 -----");
a.getUserInfo(function(){
outLine("获取用户信息成功:");
outLine(JSON.stringify(a.userInfo));
var nickname=a.userInfo.nickname||a.userInfo.name;
plus.nativeUI.alert("欢迎“"+nickname+"”登录!");
},function(e){
outLine("获取用户信息失败:");
outLine("["+e.code+"]:"+e.message);
plus.nativeUI.alert("获取用户信息失败!",null,"登录");
});
}
这段代码网上的demo好像有啊。你只要在manifest文件中填写对应的key就行了。
7 个回复
sunnidy - 984603
你是说按照微信公众平台开发?不用吧。只要在微信开放平台添加你的应用就可以了
悸动D (作者)
先谢谢你百忙之中回复我!是我表达的不够清楚,我的意思是后台开发必须按照微信开放平台资源中心--移动应用开发--微信登录功能中移动应用微信登录开发指南来开发吗?可以不借助接入原生SDK来进行开发吗?
sunnidy - 984603
这段代码网上的demo好像有啊。你只要在manifest文件中填写对应的key就行了。
sunnidy - 984603
这个是html代码
sunnidy - 984603
没有后台,微信和qq登录不需要后台,有我上面的两段代码就可以了。不需要后台的sdk。新浪没弄通,搞了几次都没让我申请通过,
悸动D (作者)
额,那你后台开发用到开放平台提供的终端SDK了么?
sunnidy
微信开发获取用户信息其实就是一个url地址,搞清楚流程没多大问题。QQ的后台还没弄过。
2015-09-29 17:53
悸动D (作者)
方便留下QQ吗?因为我刚开始做这个,很多问题不清楚,可能很多地方需要麻烦一下你,谢谢!
2015-09-29 18:03
悸动D (作者)
哦,好的!谢谢你了