鍍金池/ 問答/HTML/ 微信顯示scope參數(shù)不能為空,因?yàn)槭菃雾撁鎽?yīng)用,有#號的問題?

微信顯示scope參數(shù)不能為空,因?yàn)槭菃雾撁鎽?yīng)用,有#號的問題?

問題描述

小弟愚鈍,剛開始接觸微信公眾號開發(fā)
因?yàn)椴捎玫氖荲UE單頁面應(yīng)用,所以地址欄內(nèi)有#號,
假設(shè)微信臨時(shí)公眾號配置的是www.abc.com
鑒權(quán)鏈接是https://open.weixin.qq.com/connect/oauth2/authorize?appid=xxxxxx&redirect_uri=http://www.abc.com/&response_type=code&scope=snsapi_userinfo
或者
https://open.weixin.qq.com/connect/oauth2/authorize?appid=xxxxxx&redirect_uri=http://www.abc.com/login/&response_type=code&scope=snsapi_userinfo
這種是沒有問題的,可以對用戶進(jìn)行鑒權(quán)
但是因?yàn)槭菃雾撁鎽?yīng)用,所以http://www.abc.com/#/login/會出現(xiàn)一個(gè)#號,導(dǎo)致提示scope為空,求解?。。?當(dāng)然將路由設(shè)為history模式就不存在#號了,但需要后臺支持,所以想求教有沒有在不改變路由模式的情況下解決這個(gè)問題,望不吝賜教


回答
編輯回答
筱饞貓

encodeURIComponent()轉(zhuǎn)碼

const uri = encodeURIComponent(window.location.href.split('?')[0]);
window.location.href = `${this.$store.state.appWechat.gateway}?redirect_uri=${uri}&state=wechat`;

答完才想起來我這個(gè)鑒權(quán)接口為了應(yīng)對多個(gè)域名鑒權(quán)所以是經(jīng)過后臺網(wǎng)關(guān)集中處理的,這個(gè)uri緩存在服務(wù)器端,并沒有直接發(fā)到微信的鑒權(quán)鏈接,并不確定是可行的。。。。

2017年9月16日 03:36