小程序封装api (uniapp)

这篇博客介绍了如何在小程序中进行异步请求的封装,包括在utils中创建请求函数,以及在页面中通过async/await调用。此外,还展示了如何将请求接口整理到独立的api文件夹中,以便于管理和复用。通过这种方式,可以实现请求的统一处理和简化代码结构。
摘要由CSDN通过智能技术生成

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>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值