QQ互聯跳轉到指定的頁面【JS-SDK】
阿新 • • 發佈:2018-11-17
我互聯的目的是用來做 留言/評論 功能。那麼我就需要跳轉兩個頁面,一個是留言板頁面,一個是相關文章頁面(多個文章按照引數區別)
我的回撥地址
http://www.xdx97.com/#/messageboard;http://www.xdx97.com/#/single
最後做好的效果如下:點選登陸,使用者確認後跳到登陸前的頁面。
首先你要自己做好判斷 你是要跳轉到那一個頁面的,我這裡是根據一個引數來判斷的。
當我根據 sdk 上放置好了程式碼, F12 發現,那個形成的登陸按鈕就是一個點選事件,是一個 open 事件(也就是開啟一個新視窗的意思)
地址如下:
https://graph.qq.com/oauth2.0/authorize?client_id=101514038&response_type=token&scope=all&redirect_uri=http%3A%2F%2Fwww.xdx97.com%2F%23%2Fmessageboard', 'oauth2Login_10283' ,'height=525,width=585, toolbar=no, menubar=no, scrollbars=no, status=no, location=yes, resizable=yes'
在這個裡面我們可以找到之前配置的 appid 和 回撥地址 ,也就是說登陸成功了會按照上面這個字串的地址進行回跳。
那麼問題就簡單了,我們只要在這個地址上做做手腳就好了。
1、首先,我把它改成了一個在當前頁面開啟的事件,因為我發現開啟新的頁面怎麼都回不來,這個問題有興趣的可以自行去了解。
2、把那個按鈕改成一個點選方法(這就很簡單了吧?我還沒有美化,可以看看我的)
3、去寫這個aaa()方法,我們無非就是要改上面那個地址中的回撥地址
aaa(){ if(this.flagid == "538764e7-af76-40bd-819a-cb9fa0b43904"){ window.location.href='https://graph.qq.com/oauth2.0/authorize?client_id=101514038&response_type=token&scope=all&redirect_uri=http%3A%2F%2Fwww.xdx97.com%2F%23%2Fmessageboard', 'oauth2Login_10283' ,'height=525,width=585, toolbar=no, menubar=no, scrollbars=no, status=no, location=yes, resizable=yes'; }else{ window.location.href='https://graph.qq.com/oauth2.0/authorize?client_id=101514038&response_type=token&scope=all&redirect_uri=http%3A%2F%2Fwww.xdx97.com%2F%23%2Fsingle?bid='+this.flagid, 'oauth2Login_10283' ,'height=525,width=585, toolbar=no, menubar=no, scrollbars=no, status=no, location=yes, resizable=yes'; } }
說明:至於回顯的問題,就個人自己解決吧。
我這個用的是vue,回顯思路是,定義一個變數包含 地址和名稱,當登陸成功之後,就賦值進去,退出的時候,就把值清空。