关于Flutter中InAppWebView的H5页面localStorage的缓存问题

现象:

开发了一个flutter项目,使用InAppWebView,里面链接Vue的项目,vue项目也是从github上找了一个框架,然后二次开发,开发的时候使用浏览器测试都正常,但是打包app后安装测试就有问题了,在注销第一个用户,再登录第二个用户后,获取到的还是第一个用户的信息.

查找原因:

非常明显的是,flutter InAppWebView缓存的问题,但是对dart语言不太熟,不想改flutter的代码,经过一番测试,发现是 用的vue项目在使用localStorage时,在上面又封装了一层,是使用ES6的class语法,估计是这样造成了flutter InAppWebView默认缓存机制对这个封装对象进行了缓存.

解决:

方法很简单,不使用框架的封装,直接使用原生localStorage对象获取即可:

const {username} = JSON.parse(localStorage.getItem('app_account'))
posted @ 2025-10-31 10:43  dirgo  阅读(12)  评论(0)    收藏  举报