使用Promise封装uni.request请求

使用Promise封装uni.request请求

在项目下创建https文件夹
在这里插入图片描述
其中baseUrl.js存放的是基础路径

const baseUrl = 'https://xxx.xxx.xx.com';
const imgUrl ='https://xxxx.xxxx.com';
export {
  baseUrl,// 基础路径地址
  imgUrl,//图片查看地址
};

request.js

import {
	baseUrl
} from './baseUrl.js'
export function httpRequest(data) {
	return new Promise((resolve, reject) => {
		uni.request({
			url: baseUrl + data.url, //由基础路径和接口地址
			method: data.method || "GET", //请求的方式必须大写
			data: data.data || {}, //参数
			header: data.header || {
				'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
			},
			// 成功使用resolve
			success: (res) => {
				let data = res.data
				if (data.state== 200) {
					resolve(data)
				} else {//这里可以根据自己需求去进行判断
					uni.showModal({
							content: data.message,//后台报错信息
							success: function (res) {
								if (res.confirm) {
								console.log('用户点击确定');
								} else if (res.cancel) {
								console.log('用户点击取消');
								}
							}
				});
			},
			//失败调用reject,
			fail: (error) => {
				// 失败做处理
				reject(error)
			}
		});
	})
}

接下来就需要在httpApi中引用

import {
	httpRequest
} from "./request.js"
export function getData(data) {
	return httpRequest({
		url: '/*******/******',//接口路径
		method: 'POST',
		header: {
			'Content-Type': 'application/json',
		},
		data:data
	});
}

在项目中引用

//按需引入
import {
		getData,
} from "@/https/httpApi.js"

methods: {
	get(){
		let data ={
			orderId:this.orderId //请求参数
		}
		getData(data).then(res=>{})
	}
}
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值