大体背景:目前后台管理系统是 标签页 形式;用户使用的时候会长期的保留几个正在使用的标签功能页;而且每一个都是keep-alive缓存的;切换的时候不会重新加载;导致的问题就是:如果用户就在A标签页进行操作;这个时候项目更新部署了新的代码;但是用户并没有刷新浏览器;所以他的页面依然是老的代码;就会出现不想要的结果
网上搜到的解决方法大体2类
- api请求拦截:在axios请求拦截器中走获取后端版本号的接口和当前项目内的版本号对比;如果不一致就给出提示;让用户手动刷新浏览器
- 在api请求的header中增加版本号字段;后端对携带的版本号和最新的版本号对比;不一致就告诉前端指定的code;前端作出提示(这个成本有点高;所有的接口都要加;不知道有没有网关这一说)
以上两种方式都需要后端的支持;想问问群里的朋友们;还有没有代价更小的方法做到此类事件?
或者大家遇到这样的情况都是这么处理的呢?
我之前用过的一个方案:
/version.txt