之前在接触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 => { });

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

最新文章

  1. c/c++常见面试题
  2. 关于Angular.js Routing 的学习笔记(实现单页应用)
  3. CSS 四个样式表格
  4. HDU1004题解分析(字符串处理)
  5. python os 模块
  6. (一)Java工程化--Maven基础
  7. Dynamics 365 Online-试用环境申请地址
  8. CSS布局---居中方法
  9. Android音频系统
  10. 1.3 java8新特性总结
  11. Android开发之漫漫长途 XVII——动画(续)
  12. git安装项目步骤
  13. ubuntu设置IP地址、网关的方法
  14. python并发编程之多进程理论部分
  15. Python3.6 AES加密 pycrypto‎ 更新为 pycrypto‎demo | TypeError: Object type <class 'str'> cannot be passed to C code
  16. WinForm软件开机自动启动详细方法
  17. centos 安装 telnet
  18. Qt:表格 tableWidget
  19. Linux/Mac scp命令笔记
  20. 【jQuery】input框输入手机号自动填充空格

热门文章

  1. Android App 侧边栏菜单的简单实现
  2. 关于VS编译报错,但是错误信息未提示问题解决方案
  3. Centos-shell-特殊字符
  4. pytest之将多个测试用例放在一个类中,生成唯一临时文件夹
  5. 035 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 02 多重if结构
  6. Dockerize ASP。净样板项目
  7. 解决VMware无法共享ubuntu虚拟机文件
  8. C#实现迭代器
  9. 多测试_常用linux命令_002
  10. Rust之路(1)