開發(fā)單頁應(yīng)用(SPA)時候遇到的微信支付授權(quán)目錄的坑

原文摘自:http://www.tuicool.com/articles/mQ7RRfb

? ? ? ?項目中要在微信底下開發(fā)單頁應(yīng)用(SPA),前端技術(shù)選型用的vuejs+vue-router怀浆,vue-router使用hashbang模式(使用hashbang也是為了避免微信jssdk的wx.config簽名的坑)。在調(diào)用微信支付的時候遇到提示“URL未注冊”扰路,這通常是因為沒有在微信支付后臺正確配置授權(quán)目錄的問題猾骡,但我所遇到的并非如此。

我們的應(yīng)用中有3個頁面用到微信支付:

http://example.com/#!/cart/index

http://example.com/#!/order/orderlist

http://example.com/#!/order/orderinfo

? ? ? ?微信支付允許配置3個目錄為授權(quán)目錄靶草,另外允許配置一個測試環(huán)境目錄担猛,授權(quán)目錄必須配置到最后一級目錄幕垦,配置在根目錄不行丢氢。到這里其實還都不是問題,問題是微信判斷當(dāng)前路徑的方式先改。

? ? ? ?我們先定義兩個名詞:首先把當(dāng)前頁面叫做“Current Page”疚察;當(dāng)我們從微信別的地方點擊鏈接呼出微信瀏覽器時所落在的頁面、或者點擊微信瀏覽器的刷新按鈕時所刷新的頁面仇奶,我們叫做“Landing Page”貌嫡。舉個例子,我們從任何地方點擊鏈接進(jìn)入頁面A该溯,然后依次瀏覽到B岛抄、C、D狈茉,那么Current Page就是D夫椭,而Landing Page是A,如果此時我們在D頁面點擊一下瀏覽器的刷新按鈕论皆,那么Landing Page就變成了D(以上均是在單頁應(yīng)用的環(huán)境下,即以hashbang模式通過js更改瀏覽器路徑猾漫,直接href跳轉(zhuǎn)的不算)点晴。

問題來了,在ios和安卓下呼出微信支付的時候悯周,微信支付判斷當(dāng)前路徑的規(guī)則分別是:

IOS:Landing Page

安卓:Current Page

? ? ? ?這個規(guī)則是我試了N次試出來的粒督,非常的坑,這就意味著禽翼,在ios環(huán)境下屠橄,任何一個頁面都有可能成為支付頁面(因為我無法預(yù)知和控制用戶在哪個頁面點微信瀏覽器的刷新按鈕,或是用戶通過哪個連接從外部進(jìn)入到系統(tǒng))闰挡。我在網(wǎng)上用了各種方式搜索這個問題的解決方案锐墙,都沒找到好的,有關(guān)這個問題的帖子都少之又少长酗,都只有吐槽它而沒有解決了的溪北。

? ? ? ?我把這個問題放了好幾天,雖然有一個解決方案夺脾,就是進(jìn)入到支付頁面的時候使用href跳轉(zhuǎn)的方式之拨,會造成頁面刷新,影響一些用戶體驗咧叭。就是因為這個方案不完美蚀乔,我就一直擱著,今天呢就又把這個問題拿出來鼓搗菲茬。

今天不知道怎么來了靈感吉挣,尋思我靠這個不對啊派撕,

http://example.com/#!/cart/index

這個頁面的目錄應(yīng)該是

http://example.com/

? ? ? ?井號“#”后面應(yīng)該都忽略才對。于是乎听想,我想了想腥刹,反正入口文件就是個靜態(tài)html,服務(wù)器端也不直接接收query汉买,于是就把鏈接改成了

http://example.com/?#!/cart/index

就加了一個問號衔峰,于是微信瀏覽器妥妥的把井號“#”后面的內(nèi)容給去掉了,這個困擾了好幾天的問題蛙粘,最后用一個問號解決了垫卤。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市出牧,隨后出現(xiàn)的幾起案子穴肘,更是在濱河造成了極大的恐慌,老刑警劉巖舔痕,帶你破解...
    沈念sama閱讀 221,273評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件评抚,死亡現(xiàn)場離奇詭異,居然都是意外死亡伯复,警方通過查閱死者的電腦和手機(jī)慨代,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來啸如,“玉大人侍匙,你說我怎么就攤上這事《vǎ” “怎么了想暗?”我有些...
    開封第一講書人閱讀 167,709評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長帘不。 經(jīng)常有香客問我说莫,道長,這世上最難降的妖魔是什么寞焙? 我笑而不...
    開封第一講書人閱讀 59,520評論 1 296
  • 正文 為了忘掉前任唬滑,我火速辦了婚禮,結(jié)果婚禮上棺弊,老公的妹妹穿的比我還像新娘晶密。我一直安慰自己,他們只是感情好模她,可當(dāng)我...
    茶點故事閱讀 68,515評論 6 397
  • 文/花漫 我一把揭開白布稻艰。 她就那樣靜靜地躺著,像睡著了一般侈净。 火紅的嫁衣襯著肌膚如雪尊勿。 梳的紋絲不亂的頭發(fā)上僧凤,一...
    開封第一講書人閱讀 52,158評論 1 308
  • 那天,我揣著相機(jī)與錄音元扔,去河邊找鬼躯保。 笑死,一個胖子當(dāng)著我的面吹牛澎语,可吹牛的內(nèi)容都是我干的途事。 我是一名探鬼主播,決...
    沈念sama閱讀 40,755評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼擅羞,長吁一口氣:“原來是場噩夢啊……” “哼尸变!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起减俏,我...
    開封第一講書人閱讀 39,660評論 0 276
  • 序言:老撾萬榮一對情侶失蹤召烂,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后娃承,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體奏夫,經(jīng)...
    沈念sama閱讀 46,203評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,287評論 3 340
  • 正文 我和宋清朗相戀三年历筝,在試婚紗的時候發(fā)現(xiàn)自己被綠了酗昼。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,427評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡漫谷,死狀恐怖仔雷,靈堂內(nèi)的尸體忽然破棺而出蹂析,到底是詐尸還是另有隱情舔示,我是刑警寧澤,帶...
    沈念sama閱讀 36,122評論 5 349
  • 正文 年R本政府宣布电抚,位于F島的核電站惕稻,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蝙叛。R本人自食惡果不足惜俺祠,卻給世界環(huán)境...
    茶點故事閱讀 41,801評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望借帘。 院中可真熱鬧蜘渣,春花似錦、人聲如沸肺然。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽际起。三九已至拾碌,卻和暖如春吐葱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背校翔。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工弟跑, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人防症。 一個月前我還...
    沈念sama閱讀 48,808評論 3 376
  • 正文 我出身青樓孟辑,卻偏偏與公主長得像,于是被迫代替她去往敵國和親告希。 傳聞我的和親對象是個殘疾皇子扑浸,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,440評論 2 359

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,264評論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)燕偶,斷路器喝噪,智...
    卡卡羅2017閱讀 134,693評論 18 139
  • 是夜,西殿的宮室大多陷入了墨色指么,唯有一間酝惧,在濃墨中暈著些許亮光。 遙之立足那室門前伯诬,對內(nèi)輕喚了句“仙主”晚唇,在得到回...
    冷清持閱讀 1,348評論 21 25
  • 一、RunLoop和線程的關(guān)系 每條線程都有唯一的一個與之對應(yīng)的RunLoop對象,一個線程可以開啟多個Ru...
    Hing0000閱讀 6,258評論 5 11
  • 付費就是撿便宜盗似,乍一聽挺不可思議的哩陕,放眼看去,過著尋常日子的人們赫舒,多數(shù)是秉持著能省就省的觀念悍及,所以很多時候,耗費著...
    kathy亞峰閱讀 254評論 2 2