uni-app H5在浏览器上刷新后回登陆页
在uni-app 开发项目时,发见一个非常有意思的事情。本身是想 uni-app上加一个外部的配置文件,具体方法详见:
https://www.cnblogs.com/hailexuexi/p/16922509.html
当编译后,在www下运行是没有问题的,但如果用浏览器直接打开,偶尔就会出现读配置文件未定义的错误,可返回登陆页刷新几次偶尔就好用。
可是在www下运行就一点问题没有,困扰了很久一直没有找到根本的原因,最后只能用点浏览器后返回登陆页再是否已登陆,若已登陆过,再刷新一次,
来解决这个问题。下面记录下来解决方法。
index.vue 页中created()函数中判断如果 读配置文件 config.webSocketUrl 参数 出错 则回登陆页
created() { try{ var url= config.webSocketUrl; }catch(e){ console.log("读配置文件config.js 异常========" ); uni.navigateTo({ url:"/pages/login", animationType: "pop-in", animationDuration: 300 }) return; } finally{ console.log("--==1111 "+ config.webSocketUrl); this.initWebsocket(); // created函数中调用 this.tableDataList = tableData.data this.tableDataList2 = tableData2.data } },
login.vue页中的 onReady()函数中 判断 uni.getStorageSync('current_user_name') 是否为空,这个变量是登陆成功后赋的值
用它来判断是否已经登陆上了
onReady(){ let userName = uni.getStorageSync('current_user_name'); if(userName!=""){ uni.clearStorageSync();//清除所有缓存数据 location.reload();//刷新 } },
目的就是 当读配置文件出错后,重回 登陆页 重新读取 配置文件
注:在 index.vue 中的退出按钮中 就不能调用 清除缓存数据 的函数了
logout(){ //uni.clearStorageSync(); uni.navigateTo({ url:"/pages/login", animationType: "pop-in", animationDuration: 300 }) }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)