1.在utils中新建一个文件夹
export const request = (params) => {
// 定义请求头 ...params可以拿到整个对象里的东西
let header = {...params.header};
uni.showLoading({
title: "加载中。。。"
});
ajaxTimes++;
// 统一的接口的前缀
const baseUrl = "https://api.zbztb.cn/api/public/v1";
return new Promise((reslove, reject) => {
uni.request({
...params,
header:header,
url: baseUrl + params.url,
success: (result) => {
reslove(result.data);
},
fail: (error) => {
reject(error);
},
complete: () => {
ajaxTimes--;
if (ajaxTimes === 0) {
// 同时发送出去的请求 都回来了
uni.hideLoading();
}
}
});
})
}
2.在页面中使用
2.1https://www.jianshu.com/p/73b070eebf50 asyn/await的基本用法跟理解
// 1 引入自己写异步请求的方法 promise
// 2 在微信小程序中引入 js文件的时候 建议 一定要把路径补充完整
import { request } from "../../request/index.js";
//getCategoryList事件名 async await 必须同时使用,异步请请求同步执行
async getCategoryList() {
var postParams = "数据也可以是对象"
const result = await request({url:"/users/wxlogin", data: postParams, method: "post" });
},
3.另外一种方法新建一个文件夹(api) 把请求接口放里面
// 1 引入自己写异步请求的方法 promise
import { request } from "../../request/index.js";
export function myWallet(data) {
return request ({
url: '/v1/my/waters',
data,
method:"POST"
});
}
3.1引入封装好的异步请求方法promise
3.1.2页面中使用
<script>
//引入封装的api,而myWallet对应my.js中导出的函数名
import { myWallet } from "../../api/my.js"
export default {
data() {
return {
}
},
onLoad() {
this.initialWallet()
},
methods: {
async initialWallet() {
var type = 1 //传给后端的值
const res = await myWallet({type})
console.log("成功", res)
},
}
}
</script>