uniapp封装统一请求(get和post)

 uniapp封装请求

request.js文件

import Vue from 'vue'
// 全局配置
import settings from './settings.js'
function computedBaseUrl(url) {// console.log(url);return (url.indexOf('http') === -1 ? settings.baseUrl : '') + url
}// 发送请求
export default (options) => {const {url = '',method = 'GET',data = {},header = {}} = optionsreturn new Promise((resolve, reject) => {try {if (options.headers.isToken == true) {uni.request({url: computedBaseUrl(url),method,data,header: {// "Content-Type": "multipart/form-data",// "Token": uni.getStorageSync('token'),"Authorization": uni.getStorageSync('token'),// "Authorization" : 'Bearer ' + JSON.parse(uni.getStorageSync('token')), // 让每个请求携带自定义token 请根据实际情况自行修改...header},success(e) {// console.log(e.data,'success');if (e.data.code == 401) {uni.reLaunch({url: '/pages/login/login',});}resolve(e.data)},fail(e) {// console.log(e,'fail');if (e && e.data && e.data.code == 401) {uni.reLaunch({url: '/pages/login/login',});}reject({...e,msg:e.errMsg||e.msg||'未知错误'})}})}else{uni.request({url: computedBaseUrl(url),method,data,header: {// "Content-Type": "multipart/form-data",// "Token": uni.getStorageSync('token'),// "Authorization": uni.getStorageSync('token'),// "Authorization" : 'Bearer ' + JSON.parse(uni.getStorageSync('token')), // 让每个请求携带自定义token 请根据实际情况自行修改...header},success(e) {if (e.data.code == 401) {uni.reLaunch({url: '/pages/login/index',});}resolve(e.data)},fail(e) {if (e.data.code == 401) {uni.reLaunch({url: '/pages/login/index',});}reject({...e,msg:e.errMsg||e.msg||'未知错误'})}})}} catch (err) {reject({...err,msg:err.errMsg||err.msg||'未知错误'})}}).then(data => data).catch(err => [err, null])
}

settings.js文件

export default {baseUrl:'http://127.0.0.1',uploadUrl:''
}

注意事项

setting中设置地址,方便进行统一管理,

settinngs.js和request.js文件是同级,放在一个文件夹中即可

使用方式

创建一个api文件夹

import request from "@/utils/request.js"// 接口模板
export function getLogin(data = {}) {return request({url: '/api/wx/wxLogin',method: 'post',data,headers: {isToken: false},})
}

注意小技巧

上面的headers中的isToken,方便对接口进行管理,因为微信小程序强制登录是不能通过审核的,所以有时候要后端放开接口,不需要token,也可哟访问,提高审核的通过率,这边就很方便管理!

结束语

欢迎指教

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

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

相关文章

初识C++类和对象(1)

1.定义类 我们使用class进行表示类,class后面的是类名rect,在类里面我们可以定义成员变量,这个题目我们是要去求长方形的周长和面积,我们定义长方形的长,和长方形的宽度; 我们定义了2个函数计算长方形的周…

数字化时代,企业数字化转型的突破口在哪里?

企业数字化转型的突破口在哪里? 从业TOB行业9年,根据我这些年的观察,我认为企业要想在数字化转型这件事上取得成绩,那么需要企业先从领导层培养数字化意识,然后从战略规划、文化转变、数据驱动、技术设施、人才培养等…

01-shell的自学课-基础变量学习

一、echo变量的一个坑 声明【临时变量】,然后打印出来;(拓展:env是linux的全局变量) [rootgong ~]# xinjizhiwashell [rootgong ~]# echo $xinjizhiwa shell [rootgong ~]# echo $xinjizhiwa-haha shell-haha [rootgo…

python基础之dynaconf配置参数,背景、示例、方法(根据环境动态配置参数)

python基础之ConfigParser配置参数,背景、示例、方法 dynaconf 目录结构 settings ├── __init__.py ├── constant.py ├── setting.py ├── settings.dev.toml └── settings.production.tomlsetting.py import os from dynaconf import Dynaconfsetti…

OpenCV学习笔记(五)——图片的缩放、旋转、平移、裁剪以及翻转操作

目录 图像的缩放 图像的平移 图像的旋转 图像的裁剪 图像的翻转 图像的缩放 OpenCV中使用cv2.resize()函数进行缩放,格式为: resize_imagecv2.resize(image,(new_w,new_h),插值选项) 其中image代表的是需要缩放的对象,(new_w,new_h)表…

mysql数据库(下)

目录 约束 约束的概念和分类 1、约束的概念: 2、约束的分类 1、主键约束 2、默认约束 3、非空约束 4、唯一约束 5、外键约束 约束 约束的概念和分类 1、约束的概念: 约束时作用于表中列上的规则,用于限制加入表的数据约束的存在保证…

当时说大概率在面试不会出的题目,在旷视二面出了

旷视科技 面试原题 昨天在翻看读者历史留言的时候,无意看到一条几个月前的留言。 当时这位读者投稿了旷视科技的二面算法原题。 而投稿的题目,我印象很深,当时我还在日更 LC 题解的时候,曾作为 LC 每日一题出过。 那天还有群里小伙…

苍穹外卖学习-----2024/03/010---redis,店铺营业状态设置

1.Redis入门 2.在Java中操作Redis 3.店铺营业状态设置 BUG!!! 今天在启动项目时,用到了Redis缓存数据库,但是却出现了报错信息: ERR Client sent AUTH, but no password is set。Caused by: io.lettuce.core.RedisCommandExecutionException…

倒计时31天

1.C-李渊的准备_第十四届南京工程学院程序设计及应用竞赛校外同步赛 (nowcoder.com) #include<bits/stdc.h> using namespace std; #define int long long const int N2e56; const int inf0x3f3f3f3f; typedef pair<int,int> pii; bool cmp(pii x,pii y) {return …

mysql笔记:17. 数据库编程

文章目录 一、存储过程1. 创建存储过程2. 查看存储过程3. 调用存储过程4. 修改存储过程5. 删除存储过程 二、函数1. 创建自定义函数2. 查看自定义函数3. 调用自定义函数4. 删除自定义函数 为了提高SQL语句的重用性&#xff0c;MySQL可以将频繁使用的业务逻辑封装成程序进行存储…

Java后端八股文之java基础

文章目录 0.Java 中有 8 种基本数据类型1. 为什么浮点数运算会丢失精度&#xff1f;如何解决&#xff1f;2. 面向对象的三大特征2.1 封装2.2 继承2.3 多态 3. 深拷贝和浅拷贝的区别&#xff1f;什么是引用拷贝&#xff1f;4. equals方法与“”方法4.1 4.2 equals方法 5.hashcod…

第十一篇 - 应用于市场营销视频场景中的人工智能和机器学习技术 – Video --- 我为什么要翻译介绍美国人工智能科技巨头IAB公司(1)

IAB平台&#xff0c;使命和功能 IAB成立于1996年&#xff0c;总部位于纽约市。 作为美国的人工智能科技巨头社会媒体和营销专业平台公司&#xff0c;互动广告局&#xff08;IAB- the Interactive Advertising Bureau&#xff09;自1996年成立以来&#xff0c;先后为700多家媒体…

Vue2和vue3的区别(前端面试常见问题)

1.Api的变化&#xff1a;vue3使用组合式Api&#xff08;compostion Api&#xff09;和Vue2是选项式Api&#xff08;options Api&#xff09;。选项式Api具有data &#xff0c;watch&#xff0c;methods&#xff0c;computed&#xff0c;一个个的模块。如果代码过多可读性会很差…

【Linux】基于Kubernetes部署最新版AWX

目录 前言一、安装1.安装K3S2.提前导入redis、PG镜像3.安装AWX4.启动web页面5.卸载干净 二、使用1.登陆密码2.中英文切换3.查看当前版本 三、总结 前言 我们都听过Ansible&#xff0c;它本质上是一个进行了封装的Shell&#xff0c;优点在于它是去中心化的工具&#xff0c;可以…

android 简单快速 自定义dialog(简单好用,不需要设置样式)

1.MyDialog代码&#xff1a; public class MyDialog{private Activity activity;private ViewGroup contentView;private View view;public MyDialog(Activity activity) {this.activityactivity;contentView activity.findViewById(android.R.id.content);viewLayoutInflate…

RabbitMQ学习总结-消息的可靠性

保证MQ消息的可靠性&#xff0c;主要从三个方面&#xff1a;发送者确认可靠性&#xff0c;MQ确认可靠性&#xff0c;消费者确认可靠性。 1.发送者可靠性&#xff1a;主要依赖于发送者重试机制&#xff0c;发送者确认机制&#xff1b; 发送者重试机制&#xff0c;其实就是配置…

安泰高压放大器应用领域包括哪些方面

高压放大器是一种关键的电子器件&#xff0c;广泛应用于多个领域&#xff0c;以放大高电压信号&#xff0c;满足不同应用的需求。这些放大器能够处理高电压信号&#xff0c;同时保持信号质量和可靠性。下面安泰电子将为大家介绍高压放大器的各种应用领域&#xff0c;以便更好地…

Django 简介

Django 简介 基本介绍 Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架。 Django 是一个高级的 Python Web 框架&#xff0c;用于快速开发可维护和可扩展的 Web 应用程序。 使用 Django&#xff0c;只要很少的代码&#xff0c;Python 的程序开发人员就可以轻松…

2014

1,写出计算Ack(m,n)的递归算法 #include<iostream> using namespace std; int A(int m,int n){if(m0){return n1;}else if(m>0&&n0){return A(m-1,1);}else{return A(m-1,A(m,n-1));} }int main(){int m,n;cout<<"please input two number"&l…

数字人基础 | 3D手部参数化模型2017-2023

楔子: 2017年年底的泰国曼谷, SIGGRAPH Asia会议上, 来自马普所的 Javier Romero, Dimitrios Tzionas(两人都是 Michael J. Black的学生)发布了事实性的手部参数化模型标准: MANO [1]。 MANO的诞生意味着 Michael J. Black团队在继人体参数化模型 SMPL后, 事实性的将能够表达人…