/** * 请求拦截 * @param {Object} http */ module.exports = (vm) => { uni.$u.http.interceptors.request.use((config) => { // 查询当前有没有网络 uni.getNetworkType({ success: (res) => { if (res.networkType == 'none') { uni.showToast({ title: '暂无网络连接,请检查您的网络', icon: 'none' }) return; } } }); // 自定义参数 const custom = config?.custom // 如果都需要loading效果的接口 if (custom.loading !== false) { uni.showLoading({ title: '加载中', mask: true, }) wx.showNavigationBarLoading(); } // 初始化请求拦截器时,会执行此方法,此时data为undefined,赋予默认{} config.data = config.data || {} // 可以在此通过vm引用vuex中的变量,具体值在vm.$store.state中 // console.log(vm.$store.state); return config }, (config) => // 可使用async await 做异步操作 Promise.reject(config)) }