uniapp 封装请求

新建request文件夹 下新建index.js 和index.js 

或者创建units文件放入index.js 和api文件夹放入index.js(api.js)//看公司规范

1. index.js

// 全局请求封装
// const base_url = 'http://localhost:8080/devapi'
var base_url = process.env.NODE_ENV === 'development' ? 'http://localhost:8080/devapi' : 'http://localhost:8080/devapi'
//这个基本地址可替换成你需要的地址// 请求超出时间
const timeout = 5000// 需要修改token,和根据实际修改请求头
export default (params) => {let url = params.url;let method = params.method || "get";let data = params.data || {};let header = {// 'Blade-Auth': uni.getStorageSync('token') || '',// 'Content-Type': 'application/json;charset=UTF-8',// 'Authorization': 'Basic c2FiZXI6c2FiZXJfc2VjcmV0',// 'Tenant-Id': uni.getStorageSync('tenantId') || 'xxx', // avue配置相关// ...params.header}if (method == "post") {header = {'Content-Type': 'application/json'};}return new Promise((resolve, reject) => {uni.request({url: base_url + url,method: method,header: header,data: data,timeout,success(response) {const res = response// 根据返回的状态码做出对应的操作//获取成功// console.log(res.statusCode);if (res.statusCode == 200) {resolve(res.data);} else {uni.clearStorageSync()switch (res.statusCode) {case 401:uni.showModal({title: "提示",content: "请登录",showCancel: false,success() {setTimeout(() => {uni.navigateTo({url: "/pages/login/index",})}, 1000);},});break;case 404:uni.showToast({title: '请求地址不存在...',duration: 2000,})break;default:uni.showToast({title: '请重试...',duration: 2000,})break;}}},fail(err) {console.log(err)if (err.errMsg.indexOf('request:fail') !== -1) {uni.showToast({title: '网络异常',icon: "error",duration: 2000})} else {uni.showToast({title: '未知异常',duration: 2000})}reject(err);},complete() {// 不管成功还是失败都会执行uni.hideLoading();uni.hideToast();}});}).catch(() => {});
};

base_url也可创建文件定义

  • .env:默认的配置文件,所有环境都会加载这个文件(如果它存在的话)。
  • .env.development:仅在开发环境(当NODE_ENV被设置为development时)加载的配置文件。
  • .env.test:仅在测试环境(当NODE_ENV被设置为test时)加载的配置文件。
  • .env.production:仅在生产环境(当NODE_ENV被设置为production时)加载的配置文件。

2. api.js

// 引入 request 文件
import request from './index.js'// 获取所有用户列表
export const getUserListApi = () => {return request({url: '/user/list',method: 'get',header: {} // 自定义})
}

3. 使用

	//引入import {getUserListApi} from '@/request/api.js'onLoad() {getUserListApi().then(res => {console.log(res, 'res');}).catch(err => {})},

下篇会解释如何处理跨域问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/40995.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

可用于多个微信管理的神器

以下仅是多微信聚合聊天管理界面: 可以在一个页面上同时收发多个微信的消息,可以添加好友,通过好友请求。 可以修改昵称,不受字数限制。 可以将常用图片,文件等放入素材库,方便聊天时查找和发送。 可以设置…

搜索旋转数组

题目链接 搜索旋转数组 题目描述 注意点 数组已被旋转过很多次数组元素原先是按升序排列的若有多个相同元素,返回索引值最小的一个 解答思路 首先需要知道的是,本题数组中的旋转多次只是将头部的某些元素移动到尾部,所以不论怎么旋转&am…

Pycharm python解释器 unsupported python 3.1 解决

Pycharm 环境 unsupported python 3.1解决 1. 问题重现2. 原因分析3. 解决方法 1. 问题重现 之前使用Pycharm 2024.1.1的时候,环境配置的Python 3.11.9,现在改成使用Pycharm 2020.2.2,结果Python解释器显示“unsupported python 3.1”&#…

陈志泊主编《数据库原理及应用教程第4版微课版》的实验题目参考答案实验2

实验目的 1.掌握在SQL Server中使用对象资源管理器和SQL命令创建数据库与修改数据库的方法。 2.掌握在SQL Server中使用对象资源管理器或者SQL命令创建数据表和修改数据表的方 法(以SQL命令为重点)。 实验设备 操作系统:Win11…

使用Source Insight 4.0

一、使用书签 二、添加文件 三、Search 3.1 替换所有变量 四、右键查询 4.1 查看被调用的地方

GRPC使用之HelloWorld

使用grpc的好处是提供高效的序列化能力,能够跨语言进行调用。这一节我们来学习grpc的入门应用,整篇文章分成3部分: 接口定义,使用grpc的IDL,创建proto文件,编译/生成grpc文件服务端开发,处理客户端请求&am…

计算云服务1

前言 一直以来,计算资源都是整个企业业务系统发展所需的大动脉,没有计算资源,企业业务就无法正常运行。在云计算的时代里,计算服务也是云服务中的第一大类服务,计算资源的重要性由此可见。本章,我们将带领…

C++之do-while陈述

回圈是用来进行进行重复性的工作,典型的回圈会进行下列三项基本任务 1.控制变数初始设定2. 回圈结束条件测试3. 调整控制变数的值 关键字(keyword) do与while构成C 中回圈的一种,常用于后测式的回圈,意思是回圈会先进行第一轮,然后…

017-GeoGebra基础篇-微积分函数求解圆弧面积问题

基础篇慢慢的走进尾声,今天给大家带来一个小项目,是关于高中数学微积分部分的展示,这个项目主要包含了函数的介绍、函数与图形绘制的区别、区域函数图像的绘制、积分函数的应用、动态文本的调用、嵌套滑动条的应用等等,以及其他常…

基于Transformer神经网络的锂离子电池剩余使用寿命估计MATLAB实现【NASA电池数据集】

Transformer神经网络 基于Transformer神经网络的锂离子电池剩余使用寿命估计是一种先进的方法,它利用了Transformer模型在处理序列数据方面的优势。 Transformer能够有效地捕捉时间序列中的长程依赖关系和非线性模式,相比传统的基于循环神经网络&…

Github:git提交代码到github

创建 GitHub 仓库 a. 登录到您的 GitHub 账户。 b. 点击右上角的 "" 图标,选择 "New repository"。 c. 填写仓库名称(例如 "Mitemer")。 d. 添加项目描述(可选)。 e. 选择仓库为 &…

第一天(点亮led灯+led灯闪烁)——Arduino uno R3 学习之旅

​ 常识: 一般智能手机的额定工作电流大约为200mA Arduino Uno板上I/0(输入/输出)引脚最大输出电流为40 mA Uno板控制器总的输出电流为200 mA 点亮LED灯 发光二极管介绍 发光二极管(Light Emitting Diode,简称LED)是一种能够将电能转化为光能的固态的半导体器件…

【论文解读】LivePortrait:具有拼接和重定向控制的高效肖像动画

📜 文献卡 英文题目: LivePortrait: Efficient Portrait Animation with Stitching and Retargeting Control;作者: Jianzhu Guo; Dingyun Zhang; Xiaoqiang Liu; Zhizhou Zhong; Yuan Zhang; Pengfei Wan; Di ZhangDOI: 10.48550/arXiv.2407.03168摘要翻译: *旨在…

【MySQL】表的操作{创建/查看/修改/删除}

文章目录 1.创建表1.1comment:注释信息1.2存储引擎 2.查看表3.修改表3.1add添加列,对原数据无影响3.2drop删除列3.3modify修改列类型3.4change修改列名3.5rename [to]修改表名 4.删除表5.总结 1.创建表 CREATE TABLE table_name (field1 datatype,field…

AI行业的非零和博弈:解读Mustafa Suleyman的观点

引言 在人工智能(AI)领域,微软AI公司的CEO Mustafa Suleyman最近在阿斯彭思想节上的访谈引起了广泛关注。与CNBC记者Andrew Ross Sorkin的对话中,Suleyman不仅分享了他对OpenAI人事变动的看法,还深入探讨了AI行业的现…

FRP反向隧道代理打CFS三层

目录 攻击机 查看服务端frps.ini配置文件 开启服务端frps 蚁剑打目标机 上传客户端frp到目标机 ​frpc.ini文件配置成 客户端打开代理frpc vps显示成功客户端frpc打开 访问成功192.168.22.22的第二层内网主机 省去前面漏洞利用的rce过程,直接蚁剑开搞隧道…

五、保存数据到Excel、sqlite(爬虫及数据可视化)

五、保存数据到Excel、sqlite(爬虫及数据可视化) 1,保存数据到excel1.1 保存九九乘法表到excel(1)代码testXwlt.py(2)excel保存结果 1.2 爬取电影详情并保存到excel(1)代…

MySQL表的增删改查(CRUD)

MySQL表的增删改查(CRUD) 文章目录 MySQL表的增删改查(CRUD)1. Create1.1 单行数据 全列插入1.2 多行数据 指定列插入1.3 插入否则更新1.4 替换 2. Retrieve2.1 SELECT 列2.1.1 全列查询2.1.2 指定列查询2.1.3 查询字段为表达式…

采用Java语言+开发工具 Idea+ scode数字化产科管理平台源码,产科管理新模式

采用Java语言开发工具 Idea scode数字化产科管理平台源码,产科管理新模式 数字化产科管理系统是现代医疗信息化建设的重要组成部分,它利用现代信息技术手段,对孕产妇的孕期管理、分娩过程及产后康复等各个环节进行数字化、智能化管理&#xf…

使用LoFTR模型进行图像配准、重叠区提取

LoFTR模型源自2021年CVPR提出的一篇论文LoFTR: Detector-Free Local Feature Matching with Transformers,其基于pytorch实现图像配准,与基于superpointsuperglue的方法不同, 是一个端到端的图像配准方法。与LoFTR官方库相关的有loftr2onnx库…