uniapp app无法获取最新token缓存的解决办法

在uniapp开发中遇到一个问题,即更新版本后首次运行时可能出现token异常,原因是token过期。为确保始终获取最新token,开发者将请求放入trycatch块,这样在异常发生时能自动更新token的缓存,从而解决了问题。
摘要由CSDN通过智能技术生成

在这里插入图片描述
在uniapp项目开发中,发现有时候本地存了token,但是在手动触发更新版本的时候,第一次会出现token异常的问题,通过排查,是token过期的问题,因此,为了能够保证每次获取的都是最新的token的缓存,把请求放到try catch中去,这样就解决了这个问题,因为try catch中的获取会自动更新缓存

如果UniApp的WebSocket无法直接携带Token,你可以考虑以下两解决方案: 1. 将Token作参数传递: 在创建WebSocket连接时,将Token为连接地址的一部分传。例如,将Token作为查询参数附加在WebSocket连接地址的末尾。 示例代码如下: ```javascript // 在需要使用WebSocket的页面或组件中 // 获取Token let token = uni.getStorageSync('token'); // 创建WebSocket连接 let socket = uni.connectSocket({ url: 'ws://your-websocket-url?token=' + token, success() { console.log('WebSocket连接成功'); }, fail() { console.log('WebSocket连接失败'); } }); // 其他监听事件... ``` 在上述代码中,将Token作为查询参数附加在WebSocket连接地址的末尾,通过`?token=`的方式传递。 2. 使用自定义协议: 在创建WebSocket连接时,通过自定义协议将Token发送到服务器端。你可以在服务端编写相应的代码来解析和验证Token。 示例代码如下(前端): ```javascript // 在需要使用WebSocket的页面或组件中 // 获取Token let token = uni.getStorageSync('token'); // 创建WebSocket连接 let socket = uni.connectSocket({ url: 'ws://your-websocket-url', success() { console.log('WebSocket连接成功'); // 发送Token socket.send({ data: JSON.stringify({ token: token }) }); }, fail() { console.log('WebSocket连接失败'); } }); // 其他监听事件... ``` 在上述代码中,创建WebSocket连接后,通过`socket.send()`方法将Token发送到服务器端。在服务端,你需要解析接收到的数据,并验证Token的有效性。 这些解决方案都是基于WebSocket的特性和UniApp框架的限制进行的。根据实际情况,你可以选择适合你项目的方式来携带Token
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值