uniapp 请求封装

 1.创建request.js文件

export default {config: {baseUrl: "http://192.168.1.1:0000", // 示例header: {'Content-Type': 'application/json;charset=UTF-8'// 'Content-Type': 'application/x-www-form-urlencoded', },data: {},method: "GET",dataType: "json",responseType: "text",success() {},fail() {},complete() {}},// 请求拦截器interceptor: {request: null,response: null},request(options) {if (!options) {options = {}}options.baseUrl = options.baseUrl || this.config.baseUrloptions.dataType = options.dataType || this.config.dataTypeoptions.url = options.baseUrl + options.urloptions.data = options.data || {}options.method = options.method || this.config.method// 基于 Promise 的网络请求return new Promise((resolve, reject) => {uni.showLoading()let _config = nulloptions.complete = (response) => {uni.hideLoading()// console.log(response, 'response.data',this);let {code,info} = response.dataif (info == "登录信息过期") {setTimeout(() => {uni.reLaunch({url: '/pages/login'})}, 1500)}if (code === 400) {uni.showToast({title: info,icon: "none",position: "center",duration: 2000})// reject(response)} else if (code === 200) {uni.showToast({title: info,icon: "none",position: "center",duration: 2000})resolve(response.data)} else if (code === 500) {uni.showToast({title: info,icon: "none",position: "center",duration: 2000})resolve(response.data)} else {resolve(response.data)}}_config = Object.assign({}, this.config, options)_config.requestId = new Date().getTime()if (this.interceptor.request) {this.interceptor.request(_config)}uni.request(_config);});},// url 为请求路径 data 为需要传递的值 options 进行封装// get请求get(url, data, options) {if (!options) {options = {}}options.url = urloptions.data = dataoptions.method = 'GET'return this.request(options)},// post请求post(url, data, options) {if (!options) {options = {}}options.url = urloptions.data = dataoptions.method = 'POST'return this.request(options)},// put请求put(url, data, options) {if (!options) {options = {}}options.url = urloptions.data = dataoptions.method = 'PUT'return this.request(options)},
}

2.在main.js中引入

import api from './request.js'Vue.prototype.$http = api

3.页面请求接口

async queryName() {const data = {name:''}const res = await this.$http.post("接口地址", data)console.log(res, 'res');},

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

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

相关文章

【Java开发实训】day01

目录 1.Java开发步骤 2.目录的三个表达方法 3.Java的三种注释方法 4.文档注释的作用 🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助。 💡本文由Filotimo__✍️原创,首发于CSDN&…

不要卷模型,要卷应用:大数据领域的深度探讨

引言 在2024年世界人工智能大会上,百度创始人李彦宏提出了“不要卷模型,要卷应用”的观点,这一观点引发了业内的广泛讨论。作为一个在计算机大数据行业深耕多年的专家,我深感这一观点的深刻内涵。本文将从大数据领域的专业视角&a…

Qt QSettings 使用详解:跨平台的配置管理

文章目录 Qt QSettings 使用详解:跨平台的配置管理一、QSettings 概述1. QSettings 的基本使用二、不同平台上的实现1. Windows 平台注册表存储INI 文件存储2. Linux 平台3. macOS 平台三、QSettings 高级用法1. 使用组管理设置2. 检查和移除设置3. 枚举键四、总结Qt QSetting…

运维锅总详解数据一致性

本文首先对数据一致性进行简要说明,然后画图分析展示9种数据一致性协议的工作流程,最后给出实现这9种协议的例子。希望对您理解数据一致性有所帮助! 一、数据一致性简介 数据一致性是数据库和分布式系统中的一个关键概念,它确保…

【Mac】Folder Icons for mac(文件夹个性化图标修改软件)软件介绍

软件介绍 Folder Icons for Mac 是一款专为 macOS 设计的应用程序,主要用于个性化和定制你的文件夹图标。以下是它的主要特点和使用方法: 主要特点: 个性化文件夹图标 Folder Icons for Mac 允许用户为 macOS 上的任何文件夹定制图标。你…

怎样优化 PostgreSQL 中对布尔类型数据的查询?

文章目录 一、索引的合理使用1. 常规 B-tree 索引2. 部分索引 二、查询编写技巧1. 避免不必要的类型转换2. 逻辑表达式的优化 三、表结构设计1. 避免过度细分的布尔列2. 规范化与反规范化 四、数据分布与分区1. 数据分布的考虑2. 表分区 五、数据库参数调整1. 相关配置参数2. 定…

融云入驻首个数字生态出海基地,加速构建数字经济出海创新生态

7 月 3 日,“2024 全球数字经济大会”重要专题论坛“2024 数字生态出海发展论坛”在北京国家会议中心举行。 论坛由全球数字经济大会组委会主办,北京市经济和信息化局、北京市政务服务和数据管理局、大兴区人民政府共同承办。来自阿联酋、日本、古巴、…

Chain-of-Verification Reduces Hallucination in Lagrge Language Models阅读笔记

来来来,继续读文章了,今天这个是meta的研究员们做的一个关于如何减少LLM得出幻觉信息的工作,23年底发表。文章链接:https://arxiv.org/abs/2309.11495 首先,这个工作所面向的LLM的问答任务,是list-based q…

静态网页基础知识

1、获取输入框的输入值 var x document.getElementById(userInput).value 赋值的话:document.getElementById(userInput).value 1 2、获取td的值、span的值等一个区域的值 var x document.getElementById(result).innerText 赋值:document.getEl…

动态粒子发射特效404网站HTML源码

源码介绍 动态粒子发射404网站HTML源码,粒子内容可以进行修改,默认是4,0数字还有一个页面不存在英文,可以自行修改,喜欢的朋友可以拿去使用,源码是html,记事本打开修改即可,鼠标双击…

线程池的合理使用

线程池的合理使用 一、简介二、为什么要使用线程池三、核心参数四、如何合理配置线程参数1.1 corePoolSize && maximumPoolSize1.2 Handler 拒绝策略1.2.1AbortPolicy:优势:劣势: 1.2.2 DiscardPolicy:优势:劣…

海外媒体发稿-全媒体百科

全球知名媒体机构 在全球范围内,有许多知名的新闻机构负责报道世界各地的新闻事件。以下是一些国外常见的媒体机构: AP(美联社)合众国际社(UPI)AFP(法新社)EFE(埃菲通讯社)Europa …

521. 最长特殊序列 Ⅰ

521. 最长特殊序列 Ⅰ 题目链接:521. 最长特殊序列 Ⅰ 代码如下: class Solution { public:int findLUSlength(string a, string b) {if(ab) {return -1;}return max(a.size(),b.size());} };

VUE + 小程序 关于前端循环上传附件页面卡死的问题

最开始我使用for循环,后端能正常保存,但是前端页面卡死了,开始代码是这么写的 wx.showLoading({title: 文件上传中...,mask: true // 是否显示透明蒙层,防止触摸穿透,默认:false});const {fileList} that.…

Nginx理论篇与相关网络协议

Nginx是什么? Nginx是一款由C语言编写的高性能、轻量级的web服务器,一个线程能处理多个请求,支持万级并发。 优势:I/O多路复用。 I/O是什么? I指的是输入(Input),O是指输出(Outp…

【HarmonyOS NEXT】鸿蒙线程安全容器集collections.ArrayBuffer

collections.ArrayBuffer ArkTS TypedArray的底层数据结构。 属性 系统能力: SystemCapability.Utils.Lang 元服务API: 从API version 12开始,该接口支持在元服务中使用。 名称类型只读可选说明byteLengthnumber是否buffer所占的字节数。…

【安全设备】日志审计

一、什么是日志审计 日志审计是一站式的日志数据管理平台,主要致力于提供事前预警、事后审计的安全能力, 通过对日志数据的全面采集、解析和深度的关联分析,及时发现各种安全威胁和异常行为事件。日志审计是指通过集中采集信息系统中的各类信…

解决:Android Studio 突然打不开!提示Failed to create JVM:error code -1

Android studio1.5 一直用得好好的,突然有一天打不开,并提示: 可是系统配置中,java的配置也是正常的。 解决方法: 修改安装目录下的studio64.exe.vmoptions 文件 直接将文件内容改成: -Xms128m -Xmx512m…

谷歌+火狐浏览器——实现生成二维码并实现拖动——js技能提升

最新遇到的问题:前两个二维码拖动不了,只有第三个一维码生成后,才可以拖拽 【问题】:出现在都是绝对定位,但是没有指定z-index导致的。 解决办法:在方法中添加一个变量 renderDrag(id) {var isDragging f…

2024.7.9总结

今天真的要气炸了。本来想安装个pycharm学学python的,谁知,家里的电脑被姐夫搬走了,然后,在自己的笔记本下载安装出现特别多问题,主要是启动失败,不知道是不是之前删了一些不该删的文件。然后那个DLL错误修…