ruoyi vue plus每次发布后,测试人员白屏幕的解决方案

背景:
每次前端发布或改动后,不刷新页面,切换路由可能白屏幕或切换不动。体验不好。

一般解决方案:

刷新页面,即可刷新本地路由。

根本解决方案:

通过版本号控制前端页面,提示用户刷新页面。

新建文件versionUpdate.ts

export const isNewVersion = async () => {
  const res = await fetch('/version.json?t=' + Date.now());
  const { version } = await res.json();
  const savedVersion = localStorage.getItem('appVersion');

  // console.log('new version');
  if (savedVersion && savedVersion !== version) {
    ElMessageBox.confirm('发现新版本,是否立即刷新?', '系统提示', {
      confirmButtonText: '确定',
      cancelButtonText: '取消',
      type: 'warning'
    }).then(() => {
      localStorage.setItem('appVersion', version);
      window.location.reload();
    }).catch(() => {
      // 取消的逻辑(如有需要可以留空)
    });
  } else {
    localStorage.setItem('appVersion', version);
  }
};

export default {
  isNewVersion
};

在permission.ts文件里面,处理路由

import versionTood from '@/utils/versionUpdate';

router.beforeEach(async (to, from, next) => {
  //原始其他代码,如进度加载开始
  //判断当前代码版本是否与服务器中代码版本一致,如不一致则刷新页面获取最新
  versionTood.isNewVersion();
  //原始其他代码
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值