axios.js 文件中,根据状态码判断是否离线,如何在js文件操作各个页面的组件的显示

发布于 2022-09-12 01:07:18 字数 941 浏览 10 评论 0

1.axios.js 是个单独抽离出来的文件,里面都是通讯请求的,我使用了axios的请求拦截器,当status code 是504的时候,我就当做是断网处理

2.当断网了那么别的页面就会出现一个刷新的按钮,并且提示用户当前是离线的状态

问题:请问我要怎么在axios.js文件中中去触发各个页面展示的刷新按钮和弹框提醒呢

    error => {
        if (error.response) {
            switch (error.response.status) {
                case 401:
                    // 这里写清除token的代码
                    // localStorage.removeItem('token')
                    router.replace({
                        path: '/',
                        query: {
                            redirect: router.currentRoute.fullPath
                        } //登录成功后跳入浏览的当前页面
                    });
                case 504:
                    // this.$toast('未连接到网络,请检查网络设置哦!')
                    // 这里怎么操作让别的页面的刷新按钮出现????
            }
        }
        return Promise.reject(error)
    });

当断网的时候就出现这个属性按钮
image.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

夜无邪 2022-09-19 01:07:18

如果你的应用里面已经有vuex
store的实例是可以在任何地方使用的

// store.js
const store = new Vuex.Store({});
exprot store

// axios 中
import store from './store的目录'
store.commit() 
store.dispath()
朱染 2022-09-19 01:07:18

全局事件总线

怪异←思 2022-09-19 01:07:18

这个断网状态应该是一个全局的状态,放在全局状态管理中会方便些,看你问题里面有 vue,可以把这个全局状态使用 vuex 管理。

你又不是我 2022-09-19 01:07:18

监听 document.body 对象的 onlineoffline 事件,在回调函数里 commit

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文