業務流程是:工廠端分享一個邀請合做的二維碼,商戶這邊用手機掃一掃後,關注微信公衆號(已關注的老用戶自動進入公衆號)而後進入到公衆號在面板上收到消息,合做邀請(圖文字有點不對,請忽略!)web
接下來,在點擊這個模板消息進入頁面的時候須要判斷一件事,當前的用戶中心是否登錄了帳號。chrome
第一直覺是直接去根據localStorage判斷用戶有沒登錄。可是實際上是拿不到的,經過面板的模板消息點擊進入頁面拿到的整個localStorage是{ }。而帳號確確實實是登錄了的呀。瀏覽器
那麼就說明這是兩套體系,模板消息進入的頁面與菜單跳轉進入的頁面不是共通的。上微信公衆平臺看了下微信
首先咱們把微信內置的第三方網頁當作是在整個瀏覽器環境下的想法是錯誤的,微信這個算不上瀏覽器,它是用chrome改造作的一套WKwebView,概念上相似是一套組建。百度上也有不少人吐槽這個問題,cookie和session都解決。cookie
個人解決方法是在登錄帳號的時候設置對應的cookie值,有效時間跟令牌或者token時間大體相同,最好是少一天。這樣在外面模板消息點擊進入頁面時能夠經過cookie來判斷有沒有登錄。session
再提一個問題:如果原本沒有登錄的狀況下,點擊模板消息的合做邀請會跳轉進入合做邀請的頁面,可是我判斷它當前未登錄,因此就跳轉到登錄頁面去,(這個流程須要在localStorage中設置標識字段),當用戶登錄後再跳轉回合做邀請頁面,而後確認合做。微信公衆平臺
這樣一套流程走下來是沒問題,但當用戶第二次打開微信固然是點擊用戶中心菜單進去吧,這個時候尷尬了,由於以前的登錄操做的入口是模板消息那邊進去的,前面提過了,兩套體系不一樣,因此點擊用戶中心菜單進去的時候local根本是空的。spa
目前這個問題還沒走下去,鑑於上門提到的cookie好像是共用的,因此暫時是想着用cookie去嘗試着作。blog
用cookie總感受不是很靠譜,但願你們多多指點一下更好的方法或者意見!token