当前位置: 首页 > news >正文

uniapp 如何判断发的请求是网络异常uni.request

如何判断发的请求是网络异常uni.request

代码:

// 统一处理网络错误UI
function handleNetworkError(err) {// let message = '网络异常,请重试';let message = '';const errMsg = err.errMsg || '';if (errMsg.includes('timeout')) {message = '请求超时,请检查网络或稍后重试';} else if (errMsg.includes('fail') || errMsg.includes('Error')) {message = '网络连接失败,请检查网络设置';}if(message){uni.showToast({title: message,icon: 'none',duration: 3000});}
}

所有代码:

import config from './config.js'
const header = {'content-type': "application/json",'Cache-Control': 'no-cache'
}export default function https(options) {let realUrl = ''if (config.env == 'dev') {realUrl = '/api' + options.url;}// let ip = uni.getStorageSync('ip')// let port = options.url.indexOf('/apk') === -1 ? ':5001' : '';// realUrl = `http://${ip}${port}${options.url}`;return new Promise((resolve, reject) => {uni.request({url: realUrl,data: options.data,header: header,method: options.method,success: (res) => {if (res.statusCode === 200) {switch (res.data.code) {case 0:resolve(res.data)break;case 1:reject(res.data)break;case 403:console.log("request异常")uni.showToast({icon: 'none',title: '登录已失效'});uni.navigateTo({url: '/pages/login/index'});break;default:reject(res.data)}} else {switch (res.statusCode) {case 404:uni.showToast({icon: 'none',title: '资源加载不到'});break;default:uni.$u.toast('服务器连不上啦')}}},fail: (err) => {console.log("执行失败:", err)// uni.$u.toast('请检查网络!')// reject('err')handleNetworkError(err);reject(err)},})})
}// 统一处理网络错误UI
function handleNetworkError(err) {// let message = '网络异常,请重试';let message = '';const errMsg = err.errMsg || '';if (errMsg.includes('timeout')) {message = '请求超时,请检查网络或稍后重试';} else if (errMsg.includes('fail') || errMsg.includes('Error')) {message = '网络连接失败,请检查网络设置';}if(message){uni.showToast({title: message,icon: 'none',duration: 3000});}
}

http://www.dtcms.com/a/393612.html

相关文章:

  • 学习:uniapp全栈微信小程序vue3后台 (25)
  • 23种设计模式之【原型模式】-核心原理与 Java实践
  • Netty 重放解码器ReplayingDecoder揭秘:重写轻量异常机制 和 ConstantPool
  • getgeo 生物信息 R语言 表型信息表”“样本信息表”或“临床信息表 phenodata phenotype data
  • OceanBase备租户创建(二):通过BACKUP DATABASE PLUS ARCHIVELOG
  • Linux文件打包压缩与软件安装管理完全指南
  • KingbaseES数据备份操作详解(图文教程)
  • 中断屏蔽实现方法-ARM内核
  • Kotlin 协程之 SharedFlow 与 StateFlow 深度解析
  • python爬虫(请求+解析+案例)
  • 111-Christopher-Dall_Arm-Timers-and-Fire:Arm架构计时器与半虚拟化时间
  • switch缺少break出现bug
  • 【自然语言处理】(3) --RNN循环神经网络
  • C# 中的 ReferenceEquals 方法
  • BERT:用于语言理解的深度双向Transformer预训练【简单分析】
  • 力扣hot100:两数相加(模拟竖式加法详解)(2)
  • Zotero + Word 插件管理参考文献的引用
  • 用Python一键整理文件:自动分类DOCX与PDF,告别文件夹杂乱
  • Ubuntu部署Elasticsearch教程
  • 61.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--新增功能--提取金额
  • 一款基于 .NET 开源、免费、命令行式的哔哩哔哩视频内容下载工具
  • Win Semi宣布推出线性优化的GaN工艺
  • 考研408计算机网络2025年第38题真题解析
  • C++编写的经典贪吃蛇游戏
  • 风险预测模型原理
  • PS练习5:利用翻转制作图像倒影
  • 平替Jenkins,推荐一款国产开源免费的CICD工具 - Arbess
  • aws 实战小bug
  • NumPy 系列(一):numpy 数组基础
  • VSCode 的 launch.json 配置