uniapp请求方法的封装
之前在接触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请求方法的封装的更多相关文章
- uni-app请求uni.request封装使用
对uni.request的一些共同参数进行简单的封装,减少重复性数据请求代码.方便全局调用. 先在目录下创建 utils 和 common 这2个文件夹 utils 是存放工具类的,common 用来 ...
- 绕过cookies进行登录并封装请求方法
之前写了一篇使用session跨请求保持会话的帖子,这次在它的基础上对请求方法简单封装一下,可以达到复用的效果 1.先定义登录方法 在登录方法中利用session跨请求保持会话,并返回session, ...
- 使用getParameterMap()方法实现对请求参数的封装的工具类
我们知道,HttpServletRequest这个类的getParameter(name),getParameterValues(name)可以分别实现对页面传来的单个参数和对多个同名参数的接受.特别 ...
- 基于promise对小程序http请求方法封装
原因是我不想每次请求都复制粘贴那么长的请求地址,所以我把前边那一坨请求地址作为基础地址,只传后台给的路由就ok,而且,并不是每次请求都要显示正在加载,这对小程序体验很差,所以,我加了个形参,用来判断是 ...
- axios浏览器异步请求方法封装 XMLHttpRequest
axios学习笔记defaults(浏览器端异步请求处理方式) 浏览器异步请求方法封装,主要使用XMLHttpRequest lib/adapters/xhr.js //入口 var utils = ...
- 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 ...
- axios请求方法封装.
axios的使用上一般封装好对应的方法,ES6导出,直接调用,消息通知使用了ElementUI的Message组件. 这是一个封装了axios的Rest风格的工具类,包扩常用的POST,GET,PUT ...
- Vue之优化封装请求方法
Vue之优化封装请求方法 对于代码中的请求操作 1.接口请求可能需要重用 2.实际工作中,接口非常容易变动, 改起来很麻烦! 我们建议的做法是把所有的请求都封装成函数然后统一的>###组织到模块 ...
- iOS开发 GET、POST请求方法(NSURLSession篇)
NSURLConnection,在iOS9被宣布弃用,本文不使用NSURLConnection进行网络编程,有兴趣的童鞋可以参考: [iOS开发 GET.POST请求方法(NSURLConnectio ...
随机推荐
- 新手C++ 练习项目--计算器
本篇博客用于记录我自己用C++实现的一个计算器,目标是完成加减乘除带括号的四则运算,并在后期用工厂设计模式加以优化. Part 1:calculate 1+1=2 实现这样的一个式子的计算,只需要用到 ...
- textarea输入框回车加大高度
JavaScript var agt = navigator.userAgent.toLowerCase(); var is_op = (agt.indexOf("opera") ...
- Leetcode-剪枝
51. N皇后 https://leetcode-cn.com/problems/n-queens/ n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. ...
- Linux一些基础命令
man 查看命令 - ...
- 为cmd中的命令添加别名,以解决java:错误: 编码 GBK 的不可映射字符 (0xAF)
使用sublineText3编写了java代码,通过cmd javac编译 提示 错误:编码GBK的不可映射字符 解决方法 使用javac -encoding UTF-8 Person.java 结果 ...
- TCHAR数据类型介绍
转载:https://blog.csdn.net/mousebaby808/article/details/5259944 并不是所有的Windows操作系统都支持UNICODE编码的API(例如早期 ...
- VS2013 c++ 生成和调用DLL动态链接库(.def 方法已验证OK)
转载:https://blog.csdn.net/zhunianguo/article/details/52294339 .def 方法 创建动态库方法: 创建动态库是生成 .dll .lib 两个个 ...
- 「DevOps 转型与实践」沙龙回顾第一讲
9 月 19 日,CODING 和中国 DevOps 社区联合举办的深圳第九届 Meetup 在腾讯大厦 2 楼多功能圆满结束.本次沙龙以 「DevOps 转型与实践」 为主题,4 位来自互联网.金融 ...
- Java中类型判断的几种方式
1. 前言 在Java这种强类型语言中类型转换.类型判断是经常遇到的.今天就细数一下Java中类型判断的方法方式. 2. instanceof instanceof是Java的一个运算符,用来判断一个 ...
- 多台centos7服务器实现SSH免密登陆
一.环境 centos7.x 三台 node1.node2.node3 二.实现免密登陆 2.1.node1上,生成公钥与私钥 [root@node1 ~]# ssh-keygen Generatin ...