业务流程是:工厂端分享一个邀请合做的二维码,商户这边用手机扫一扫后,关注微信公众号(已关注的老用户自动进入公众号)而后进入到公众号在面板上收到消息,合做邀请(图文字有点不对,请忽略!)web
接下来,在点击这个模板消息进入页面的时候须要判断一件事,当前的用户中心是否登录了帐号。chrome
第一直觉是直接去根据localStorage判断用户有没登录。可是实际上是拿不到的,经过面板的模板消息点击进入页面拿到的整个localStorage是{ }。而帐号确确实实是登录了的呀。浏览器
那么就说明这是两套体系,模板消息进入的页面与菜单跳转进入的页面不是共通的。上微信公众平台看了下微信
首先咱们把微信内置的第三方网页当作是在整个浏览器环境下的想法是错误的,微信这个算不上浏览器,它是用chrome改造作的一套WKwebView,概念上相似是一套组建。百度上也有不少人吐槽这个问题,cookie和session都解决。cookie
个人解决方法是在登录帐号的时候设置对应的cookie值,有效时间跟令牌或者token时间大体相同,最好是少一天。这样在外面模板消息点击进入页面时能够经过cookie来判断有没有登录。session
再提一个问题:如果原本没有登录的状况下,点击模板消息的合做邀请会跳转进入合做邀请的页面,可是我判断它当前未登录,因此就跳转到登录页面去,(这个流程须要在localStorage中设置标识字段),当用户登录后再跳转回合做邀请页面,而后确认合做。微信公众平台
这样一套流程走下来是没问题,但当用户第二次打开微信固然是点击用户中心菜单进去吧,这个时候尴尬了,由于以前的登录操做的入口是模板消息那边进去的,前面提过了,两套体系不一样,因此点击用户中心菜单进去的时候local根本是空的。spa
目前这个问题还没走下去,鉴于上门提到的cookie好像是共用的,因此暂时是想着用cookie去尝试着作。blog
用cookie总感受不是很靠谱,但愿你们多多指点一下更好的方法或者意见!token