1、封装 创建request.js文件进行封装
//配置请求路径 区分 测试环境 和正式环境
// 默认测试环境
const BASE_URL = 'http:xxx';
// 同时发送异步代码的次数,防止一次点击中有多次请求,用于处理
let ajaxTimes = 0;
// 封装请求方法,并向外暴露该方法
export const myRequest = (options) => {
ajaxTimes++;
// 显示加载中 效果
uni.showLoading({
title: "加载中",
mask: true,
});
return new Promise((resolve, reject) => {
uni.request({
sslVerify:false,
url:BASE_URL+options.url, //路径
method: options.method || 'POST', //默认post请求
data: options.data || {}, //有参数或默认空对象
header: {
'content-type':'application/x-www-form-urlencoded' //自定义请求头信息form 根据后端要求来
},
success: (res) => {
resolve(res) //抛出结果
},
fail: (err) => {
reject(err,'请求错误')
},
// 完成之后关闭加载效果
complete: () => {
ajaxTimes--;
if (ajaxTimes === 0) {
// 关闭正在等待的图标
uni.hideLoading();
}
}
})
})
}
2、创建index.js进行引入request.js文件
import {myRequest} from '@/api/request/request.js'
测试接口
export function test(data) {
return myRequest({
url: '/apptest',
method: 'POST',
data
})
}
3、在请求的页面中使用
import { test } from '../../api/request'
let data={...}
test(data).then(res=>{
}).catch(err=>{
})