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

uniapp 配置请求代理+请求封装

uniapp官网提供了三种方式:什么是跨域 | uni-app官网

1. 通过uniapp自带浏览器 打开项目是不存在跨域的

·

第二种方式: 

"h5" : {"template" : "static/index.html","devServer": {"proxy": {"/api": {"target": "http://192.168.31.162:8288","changeOrigin": true}}},"router" : {"mode" : "hash", // 路由模式"base" : "./"},"sdkConfigs" : {"maps" : {"amap" : {"key" : "ca8cde9d6d4d6658826713d31d3df9c2","securityJsCode" : "","serviceHost" : ""}}}}

uniapp 请求封装

import store from '@/store'
import config from '@/config'
import { getToken } from '@/utils/auth'
import errorCode from '@/utils/errorCode'
import { toast, showConfirm, tansParams } from '@/utils/common'let timeout = 10000
const baseUrl = config.baseUrlconst request = config => {// 是否需要设置 tokenconst isToken = (config.headers || {}).isToken === falseconfig.header = config.header || {}if (getToken() && !isToken) {config.header['Authorization'] = 'Bearer ' + getToken()}// get请求映射params参数if (config.params) {let url = config.url + '?' + tansParams(config.params)url = url.slice(0, -1)config.url = url}return new Promise((resolve, reject) => {uni.request({method: config.method || 'get',timeout: config.timeout ||  timeout,url: config.baseUrl || baseUrl + config.url,data: config.data,header: config.header,dataType: 'json'}).then(response => {let [error, res] = responseif (error) {toast('后端接口连接异常')reject('后端接口连接异常')return}const code = res.data.code || 200const msg = errorCode[code] || res.data.msg || errorCode['default']if (code === 401) {showConfirm('登录状态已过期,您可以继续留在该页面,或者重新登录?').then(res => {if (res.confirm) {store.dispatch('LogOut').then(res => {uni.reLaunch({ url: '/pages/login' })})}})reject('无效的会话,或者会话已过期,请重新登录。')} else if (code === 500) {toast(msg)reject('500')} else if (code !== 200) {toast(msg)reject(code)}resolve(res.data)}).catch(error => {let { message } = errorif (message === 'Network Error') {message = '后端接口连接异常'} else if (message.includes('timeout')) {message = '系统接口请求超时'} else if (message.includes('Request failed with status code')) {message = '系统接口' + message.substr(message.length - 3) + '异常'}toast(message)reject(error)})})
}export default request

http://www.lryc.cn/news/349598.html

相关文章:

  • 代码随想录算法训练营第二十八天|​216.组合总和III​、17.电话号码的字母组合
  • 大模型prompt实例:知识库信息质量校验模块
  • 正则表达式和lambda表达式
  • pyenv 之 python 多版本管理(win11)
  • nodemon运行ts文件
  • 内网渗透瑞士军刀-impacket工具解析(二)
  • huggingface 笔记:pipeline
  • 玩转Matlab-Simscape(初级)-01-从一个简单模型开始学习之旅
  • 电脑录屏软件有哪些?这3款神器必须要知道
  • 如何在华企盾DSC防泄密系统中设置文件自动加密?
  • 【DevOps】Dockerfile详解,做自己的docker镜像
  • CSRF 攻击实验:Token 不存在绕过验证
  • c#教程——索引器
  • 麒麟服务器上执行可执行脚本报错:bash: ./xx: Permission denied(完整版)
  • 触觉美学:移动端UI设计的视觉盛宴
  • 前端起dev从110秒减少到7秒, 开发体验大幅提升
  • Flink CDC 原理
  • Axure网上超市用户端APP原型 (O2O生鲜电商/买菜到家/数字零售/京东到家/抖音超市领域)
  • 外包公司中能学到技术的都是那些人?
  • JavaEE初阶-多线程进阶2
  • B/S和C/S框架
  • 机器学习中常用的几种距离——欧式、余弦等
  • 2024 Google I/O Android 相关内容汇总
  • # 从浅入深 学习 SpringCloud 微服务架构(十八)
  • 在SQL Server中使用临时表与普通表的性能差异分析
  • 数据中台管理系统原型
  • 数据库练习
  • Rust学习笔记(上)
  • 【SRC实战】文件名回显导致反射型XSS,URL重定向
  • mysql高版本导入低版本Unknown collation: utf8mb4_0900_ai_ci