之前在接触uniapp做小程序项目时候,因为不太熟悉,遇到了不少尴尬的时刻,请求方法的封装算是灵魂啊有木有,今天看到有人问题,就把我自己写的发出来让大家参考一下吧。

请求方法的封装我一般用的是promise+axios,因为uniapp有自己规定的请求方式,只好结合着来了。话不多说,直奔主题。

export const baseUrl = '您的域名'

function getHeaders () {
let token = getToken()
let header = {
"token":token,// 'X-Requested-With': 'XMLHttpRequest',
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
}return header
} export default{
get(url,param){
return new Promise((resolve,reject) =>{
uni.request({
method:'GET',
url: baseUrl+url,
data: param,
header:getHeaders()
}).then(res=>{
switch (res[1].data.code) {
case 200:
resolve(res[1])
break
case 400:
resolve(res[1])
break
case 401:
resolve(res[1])
break
default:
reject(res)
}
}).catch(
(response) => {
reject(response)
}
)
})
}, post(url,param){
return new Promise((resolve,reject) =>{
uni.request({
method:'POST',
url: baseUrl+url,
data: param,
header:getHeaders()
}).then(res=>{
switch (res[1].data.code) {
case 200:
resolve(res[1])
break
case 400:
resolve(res[1])
break
case 401:
resolve(res[1])
break
default:
reject(res)
}
}).catch(
(response) => {
reject(response)
}
)
})
},
}

补一个getToken(手动无奈:))

export function getToken () {
try {
const token = uni.getStorageSync('Token');
if (token) {
return token
}else{
return ''
}
} catch (e) {
console.log(e)
}
}

方法定义好了,下面是实战引入了,

import request from '../../units/request.js'  在你需要的页面引入

request.post("/example/list", {
currPage:this.page,
pageSize:this.limit,
})
.then(response => { }
})
.catch(ex => { });

大概就是这样,内容有删减,目的是让大家看着干练,如有疑惑评论就好

uniapp请求方法的封装的更多相关文章

  1. uni-app请求uni.request封装使用

    对uni.request的一些共同参数进行简单的封装,减少重复性数据请求代码.方便全局调用. 先在目录下创建 utils 和 common 这2个文件夹 utils 是存放工具类的,common 用来 ...

  2. 绕过cookies进行登录并封装请求方法

    之前写了一篇使用session跨请求保持会话的帖子,这次在它的基础上对请求方法简单封装一下,可以达到复用的效果 1.先定义登录方法 在登录方法中利用session跨请求保持会话,并返回session, ...

  3. 使用getParameterMap()方法实现对请求参数的封装的工具类

    我们知道,HttpServletRequest这个类的getParameter(name),getParameterValues(name)可以分别实现对页面传来的单个参数和对多个同名参数的接受.特别 ...

  4. 基于promise对小程序http请求方法封装

    原因是我不想每次请求都复制粘贴那么长的请求地址,所以我把前边那一坨请求地址作为基础地址,只传后台给的路由就ok,而且,并不是每次请求都要显示正在加载,这对小程序体验很差,所以,我加了个形参,用来判断是 ...

  5. axios浏览器异步请求方法封装 XMLHttpRequest

    axios学习笔记defaults(浏览器端异步请求处理方式) 浏览器异步请求方法封装,主要使用XMLHttpRequest lib/adapters/xhr.js //入口 var utils = ...

  6. PHP——封装Curl请求方法支持POST | DELETE | GET | PUT 等

    前言 Curl:  https://www.php.net/manual/en/book.curl.php curl_setopt: https://www.php.net/manual/en/fun ...

  7. axios请求方法封装.

    axios的使用上一般封装好对应的方法,ES6导出,直接调用,消息通知使用了ElementUI的Message组件. 这是一个封装了axios的Rest风格的工具类,包扩常用的POST,GET,PUT ...

  8. Vue之优化封装请求方法

    Vue之优化封装请求方法 对于代码中的请求操作 1.接口请求可能需要重用 2.实际工作中,接口非常容易变动, 改起来很麻烦! 我们建议的做法是把所有的请求都封装成函数然后统一的>###组织到模块 ...

  9. iOS开发 GET、POST请求方法(NSURLSession篇)

    NSURLConnection,在iOS9被宣布弃用,本文不使用NSURLConnection进行网络编程,有兴趣的童鞋可以参考: [iOS开发 GET.POST请求方法(NSURLConnectio ...

随机推荐

  1. ElasticSearch 简单的crud查询

    //数据库和es的对应关系(学习文档可以参考https://es.xiaoleilu.com/010_Intro/35_Tutorial_Aggregations.html) //如下接口调用都是使用 ...

  2. 微服务通信之feign的注册、发现过程

    前言 feign 是目前微服务间通信的主流方式,是springCloud中一个非常重要的组件.他涉及到了负载均衡.限流等组件.真正意义上掌握了feign可以说就掌握了微服务. 一.feign的使用 f ...

  3. Python练习题 041:Project Euler 013:求和、取前10位数值

    本题来自 Project Euler 第13题:https://projecteuler.net/problem=13 # Project Euler: Problem 13: Large sum # ...

  4. K8S环境的Jenkin性能问题处理

    环境信息 在K8S环境通过helm部署了Jenkins(namespace为helm-jenkins),用于日常Java项目构建: kubernetes:1.15 jenkins:2.190.2 he ...

  5. 编写自己的Arduino库

    参考及来源超给力啊: https://www.cnblogs.com/lulipro/p/6090407.html https://www.cnblogs.com/lulipro/p/6090407. ...

  6. 从零开始针对 .NET 应用的 DevOps 运营实践 - 运行环境搭建

    一.Overview 最近的一段时间,在公司里我都在进行基于 Jenkins 和 SonarQube 配合已有的 Gitlab 搭建部门的持续集成环境的工作,虽然之前有使用过 GitHub Actio ...

  7. 主厨(第4部分)- ASP. netNET Core和Angular 2 CRUD SPA

    下载source - 79.7 KB 介绍 在Master Chef(第1部分)和Master Chef(第2部分)中,我介绍了如何使用ASP.Net Core和Angular JS.在Master ...

  8. CDH5部署三部曲之一:准备工作

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  9. devops-jenkins-Pipeline基础语法

    1. jenkins-Pipeline基础语法  1) jenkins-Pipeline总体介绍 • Pipeline,简而言之,就是一套运行与jenkins上的工作流框架,将原本独立运行于单个或多个 ...

  10. day49 Pyhton 数据库Mysql 06

    多表查询 连表查询 要进行连接,那一定涉及两个表,两个表中要有关联条件才能进行连接 内连接 只有表一和表二中的连接条件都满足的时候才能显示出来 inner join on /where 条件 sele ...