下载插件:

npm install uni-request --save

api文件夹下封装统一请求request.js文件

/*** @Description: 请求接口统一封装* @Author liaoxuewu* @create 2022/01/25 13:22*/
import uniRequest from '../uni-request/index.js'
import config from '../config.js'// 全局配置
uniRequest.defaults.baseURL = config.baseUrl;uniRequest.timeout = 1000 * 60 // 请求超时时间// 请求拦截
uniRequest.interceptors.request.use(request => {// 配置基本信息const userInfo = uni.getStorageSync('uni_user_info')if (userInfo) {// 设置请求tokenconst token = userInfo.tokenrequest.headers.Authorization = 'Bearer ' + token}return request},err => {console.log('请求失败')return Promise.reject(err)}
)// 响应拦截
uniRequest.interceptors.response.use(function (response) {console.log('返回进入拦截成功')return Promise.resolve(response)},function (err) {if (err && err.response) {switch (err.response.status) {case 301:err.message = '请求的数据具有新的位置且更改是永久的'breakcase 302:err.message = '请求的数据临时具有不同 URI'breakcase 304:err.message = '未按预期修改文档'breakcase 305:err.message = '必须通过代理来访问请求的资源'breakcase 400:err.message = '请求中有语法问题,或不能满足请求'breakcase 402:err.message = '所使用的模块需要付费使用'breakcase 403:err.message = '当前操作没有权限'breakcase 404:err.message = '服务器找不到给定的资源'breakcase 407:err.message = '客户机首先必须使用代理认证自身'breakcase 415:err.message = '请求类型不支持,服务器拒绝服务'breakcase 417:err.message = '未绑定登录账号,请使用密码登录后绑定'breakcase 426:err.message = '用户名不存在或密码错误'breakcase 429:err.message = '请求过于频繁'breakcase 500:err.message = '服务器内部错误,无法完成请求'breakcase 501:err.message = '服务不支持请求'breakcase 502:err.message = '网络错误,服务器接收到上上游服务器无效响应'breakcase 503:err.message = '服务器无法处理请求'breakcase 504:err.message = '网络请求超时'breakcase 999:err.message = '系统未知错误,请反馈给管理员'break}} else {err.message = '连接服务器失败!'}console.log(err.message)return Promise.reject(err)}
)export const POST = ({ url, params = {}, data = {}, headers = {}, ...others }) =>uniRequest({url,method: 'POST',data,params,headers,...others})export const GET = ({ url, params = {}, data = {}, headers = {}, ...others }) =>uniRequest({url,method: 'GET',data,params,headers,...others})export const DELETE = ({ url, params = {}, data = {}, headers = {}, ...others }) =>uniRequest({url,method: 'DELETE',data,params,headers,...others})export const PUT = ({ url, params = {}, data = {}, headers = {}, ...others }) =>uniRequest({url,method: 'PUT',data,params,headers,...others})

api/moudules目录下login.js文件引用:

/*** @Description: 登录* @Author liaoxuewu* @create 2022/01/25 15:57*/
import { POST } from '@/api/request.js'const baseUrl = uni.getStorageSync('uni_base_url')export default {/*** @description: api登录请求* @param {*}* @return {*} 请求响应promise*/login(body = {baseUrl: '',params: {},data: {},headers: { 'content-type': 'application/json' }}) {return POST({url: body.baseUrl + '/login/Login_CF',...body,data: {...body.data}})}
}

uni-request的使用相关推荐

  1. get request uni 参数_uni-app 环境配置,uni.request封装,接口配置,全局配置,接口调用的封装...

    1.环境配置 (可参考uni-官网的环境配置) common文件夹下新建config.js let url_config = "" if(process.env.NODE_ENV ...

  2. uniapp H5页面使用uni.request时,出现跨域问题

    概述 HBuilderX 2.5.1 uniapp中提供了uni.request进行向http请求数据(可以理解为ajax请求). uni.request 不支持 jsonp. 一种办法是:在uni- ...

  3. uni.request接口封装;小程序uni-app接口封装

    另一篇请求接口简单封装在api下的index.js 本片资源下载地址 本片封装了post get put请求,重点在request.js文件 1.新增四个文件 2.根目录下的utils下的reques ...

  4. uniapp网络请求封装;小程序请求接口封装;uni.request接口封装

    另一篇全面封装文章 资源文章下载地址 1.正常使用uni.request()发送请求(未封装) get() {uni.request({url: 'http://192.168.1.191/abc// ...

  5. uni.request POST 请求后台接收不到参数

    uni.request POST 请求后台接收不到参数 问题描述 前端用 uni.reauest 发送 POST 请求,后台接收不到参数. 原因分析 是因为 uni.request 对传入 data ...

  6. 解决uni.request时uni.showtoast无效问题

    问题描述 封装API请求的时候,uni.request时uni.showtoastw无效: var promise = new Promise((resolve,reject) => {var ...

  7. uni.request请求响应拦截封装

    新建request.js文件 uni.addInterceptor('request', {invoke(args) {//拦截前触发let baseUrl = "https://www.x ...

  8. uni.request的使用

    uniapp中有很多原生的API,其中我们经常会用到的肯定有,uni.request. 那么问题来了,当我们第一次使用的时候,该怎么去用呢, 首先我们来看一看官方文档给出的示例 uni.request ...

  9. uniapp uni.request GET方式请求,不能直接传数组解决方法

    这里写目录标题 目录 遇到的问题 GET请求方法传数组 解决方案 目录 遇到的问题 GET请求方法传数组 想传一个数组,但是后台接受到的数据与浏览器中显示的数据和前台代码传的不一样: 前台代码打印 浏 ...

  10. uni-app - uni.request 网络请求超时时间配置(全局超时时间配置)

    前言 官方配置文档(networktimeout):https://uniapp.dcloud.io/collocation/manifest?id=networktimeout 有时候,我们需要对接 ...

最新文章

  1. 9.path Sum III(路径和 III)
  2. 立足GitHub学编程:13个不容错过的Java项目
  3. 梳理百年深度学习发展史-七月在线机器学习集训营助你把握深度学习浪潮
  4. java 中 Object XML 互转,最终选择Xstream
  5. spring javafx_带有Spring的JavaFX 2
  6. “街坊”×××数字平台,昔日的思想,曾经的努力
  7. 使用 Spring 2.5 注释驱动的 IoC 功能
  8. mysql 一个字段走索引吗_mysql数据库--explain(查询表是否走索引)各个字段含义...
  9. 吃掉那只青蛙_每日可交付成果–吃青蛙的艺术
  10. sql replace函数_SQL REPLACE函数概述
  11. 推荐系统专利:一种信息推荐系统及方法
  12. java azure blobs sas_仅使用SAS令牌连接到Azure存储帐户?
  13. python json格式转换后,中文乱码
  14. ESXI 6.5安装详细步骤
  15. php 压缩gif 不动,PHP怎么进行GIF动图压缩
  16. php amr时长,amr是什么文件
  17. java 四则运算_java实现小学生四则运算
  18. java的书写规范_JAVA书写规范
  19. 用状态空间方法求解修道士与野人问题
  20. Linux运维09:ip命令详解

热门文章

  1. 全方位揭秘!大数据从0到1的完美落地之Hive企业级调优
  2. 点积,内积,哈达玛积的区别
  3. Helm3常用操作命令
  4. 提高工作效率,每天节省半小时(1)
  5. Android9.0 应用待机群组
  6. 亚马逊云科技re:Invent现场访谈:定制芯片将是大势所趋
  7. mysql查询查询树结构,通过树结构查询一个自己昵称和父级节点的昵称
  8. 怎样在学术论文中引用参考文献?
  9. 请问自学Python有必要买课程吗?
  10. 大连市知名中医(整理中)