最近在一个项目中,微信公众号进入商城,用户登录后不能长时间保持登录。项目中设置的cookie周期是30天,手机端能够正常保持登录,微信公众号进入则不能,用的是同一套代码。 猜测原因是cookie丢失,但是没有好的解决办法。因项目的特殊性,不能使用微信的openid进行绑定用户,尝试过localstorage也不能保持。求大佬解答!!!
微信自带浏览器的缓存是不保证的.
这个不用纠结.它就是这样.
不说别的.微信的缓存是经常被清的.他自带的浏览器也是被清的目标.
还不如想想法把你的不能用openid的特殊性解决掉.
谢谢,回答。openid那个地方没法做,因为部分客户会有几个账号,用openid只能保持一个账号。
@帅气的贾某: 你用openid和他最后登录的账户关联不就好了.
你把openid当成cookie里的会话id就好了.
@吴瑞祥: 是一种方法,试试
按理说cookie 是可以保持很久的,我自己也弄过微信公众号,也是cookie保存,一般能管一周或者更久,如果清理手机内存,或者清理微信内存,那cookie就会丢失。不知道你是不是这操作
谢谢,回答,不是这个原因,因为我登陆后,在退出微信,然后马上进入,可以保持登录。但是过一会儿,时间不确定,有时候一个小时,有时候半个小时,就不行了。cookie的失效时间为一个月。
@Some_One: 10分钟就掉了,很烦
商场使用微信登陆,关联号微信,这样子,在微信内就可以做到静默自动登陆了。也就不会有丢失登陆信息的问题了。
微信的浏览器不保证cookie的有效存储。
谢谢回答,token的时效没记错的话是2个小时,openid因为项目的特殊性,不能使用。
不要存cookie存到localstorage就行,我做微信开发遇到过这个问题。解决请采纳
谢谢回答,试过存localstorage ,但是也没能解决。
微信浏览器存不了东西的,这个思路不用想了。
根据浏览器指纹外加用户经常登录的IP等等特征来综合判断。