QQ/微信授權登入js
阿新 • • 發佈:2019-02-06
http://blog.csdn.net/weixin_36050378/article/details/52435241(可以看這個連結,基本上講全了)
本頁面只做微信/QQ的授權登入
這個靜態頁面就沒什麼好說的了
授權登入的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,希望能夠幫助到需要的人,如果有不正確的地方希望多多包涵和歡迎隨時提出來,一起進步)