微信公开课
微信公开课小程序热门讨论关于「()大家怎么保存登录态的实测setStorageSync似乎不可靠」的小程序开发问题
补充:()大家怎么保存登录态的实测setStorageSync似乎不可靠,提了问题一天后,问题解决了不是setStorageSync的问题是我们自己后端的问题原因是我们用union_id进行用户的查找RubyonRails代码如
展开:提了问题一天后,问题解决了:不是setStorageSync的问题是我们自己后端的问题原因是我们用union_id进行用户的查找RubyonRails代码如下(片段):Userwhere(wechat_unionid:unionid)在用户没有关注公众号的情况下,unionid是拿不到的,出错了换成open_id后一切恢复正常没有关注公众号的新用户在使用小程序的时候也可以正常访问了非常感谢各位的热心帮助以下是原问题的描述登录态的定义:自己业务后端给出的JWTtoken,比如:eyJhbGciOiJIUzI1NiJ9eyJ1c2VyX2lkIjoiZ1hXTSIsImNyZWF0ZWRfYXQiOiIyMDE4LTExLTE0VDE2OjM4OjQ5KzA4OjAwIn0MmxhdbUOp3U5LA4azLeIj8nXikSWAa0gyD13NF3AXpQ重点这个问题的重点不是JWT,重点是用户登录态的存储方法(setDataglobalDatasetStorageSync)最早时我是用setStorageSync存储token,然后马上从登录页跳转到首页(备注:我们小程序里只用了微信登录,完全没用手机号+密码登录或者邮箱+密码登录等方法)另外,因为业务需求,我在首页加了登录检测,如果没登录就自动跳到登录页造成了什么问题在小部分情况下会造成无限跳转,永远困在登录页具体情况:登录页首页登录页首页登录页在我的开发者工具+真机上测不出来这样的问题但是每次审核的时候就通过不了,每次都是不同的机型报错:审核拒绝信息:问题排查在网上搜了一圈,看到了这篇文章:https:blogcsdnnetqq_41813695articledetails80812794试了一下,把getStorageSync从onLoad移动到onShow里,并没有解决问题最新这一次的审核还是失败了(提示iPhone5S用不了)是否有代码可以重现我在本地和真机都无法复现,都是审核的时候说过不了所以我觉得提供代码应该没啥帮助就是很简单的setStorageSync然后getStorageSync我的APPIDwx3e98618e26700e1b我想问的问题是大家都是怎么存储登录态的(setDataglobalDatasetStorageSync其他方法)我的计划(换成globalData,因为setStorageSync实在不可靠,连续2次都无法过审)即速小程序:我跟后端对接了这么多个小程序的登录态,我们项目也是用token,也是跟你一样做页面登录检测,没有登录会提醒用户登录或跳转登录页面,或者其他方法也有用setStorageSync存储token的但是都没遇到你这种问题的我觉得,你的请求登录接口及成功后保存数据没有做回调后的操作,导致同步执行的问题:好,感谢回复,会多排查,有结论了会贴出来到问题描述里帮助其他人:我也发现本地同步缓存有出错概率,不管是存还是取,所以用异步存wxsetStorage,用同步取wxgetStorageSync,暂时没问题还有,同一个key,存和取之间不能太快,因为存取有时间,否则取不出来:我以前也是用setStorageSyn来保存的openid的,直到发现getStorageSyn经常报错,回调失败,后来就全局保存了openid了:换成globalData就稳定正确了吗:我还没改成globalData方式,因为在一些微信群里和其他开发者聊天大家都觉得这是个很奇怪的事情而且我在开发者工具和真机用测试版中均无法复现这样的问题实在奇怪我给几个页面底部加了文字:版本170我再原样提交一次,看看情况如何如果有结果了我会回来更新的把解决方法说出来:哦哦直觉上感觉可能是异步的问题:token为什么要给到前端呢,是不是多次获取token导致前面保存的token失效呢:首先感谢回复1token给到前端,是为了之后每次http请求都带上,发给后端后端这样才知道是哪一个用户是为了鉴别用户身份2是不是多次获取token导致前面保存的token失效呢我再排查一次然后来说结果,稍等哈不排除是我自己脑残把代码写错了:区分用户可以通过token获取到的openID比较好一点吧,openId是用户身份的唯一标识:哦说明一下,我这里说的token指的是我们后端自己颁发的JWTtoken,并不是微信登录时所说的token我这里微信登录的逻辑是,拿code发给后端,后端最终拿到unionID,然后在数据库里对比,找得到就登录,找不到就新建用户总之最终一定是返回一个JWTtoken给微信小程序(再次感谢热心答复):自己真机测试连外网不开调试,流程应该没啥问题,官方能测出来先自己测试复现再查问题呗:好的感谢思路:我之前在另一个问题里特意问了小程序一共有几种保存数据的方法:https:developersweixinqqcomcommunitydevelopdoc000ca8be758d80cea6a7f166756800
更多有关「()大家怎么保存登录态的实测setStorageSync似乎不可靠」的讨论可以前往微信公开课小程序参与互动哦!了解更多
方法1:微信扫描微信公开课小程序码即可订阅热门讨论「()大家怎么保存登录态的实测setStorageSync似乎不可靠」
方法2:微信搜索微信公开课小程序名称进入,即可订阅热门讨论「()大家怎么保存登录态的实测setStorageSync似乎不可靠」
方法3:微信网页访问即速商店,长按识别微信公开课小程序码即可订阅热门讨论「()大家怎么保存登录态的实测setStorageSync似乎不可靠」
微信公开课小程序热门讨论「()大家怎么保存登录态的实测setStorageSync似乎不可靠」由微信公开课原创摘录于微信小程序商店shop.jisuapp.cn,转载请注明出处。
微信公开课热门讨论「()大家怎么保存登录态的实测setStorageSync似乎不可靠」由微信公开课开发者向微信用户提供,并对本服务内容、数据资料及其运营行为等真实性、合法性及有效性承担全部责任。