uniapp二次封装请求

uniapp二次封装请求

在manifest.json文件中定义开发模式下的跨域链接

加入以下代码

"h5":{
	"devServer": {
		"proxy": {
			"/api": {
				"target": "后台地址",
				"changeOrigin": true,
				"secure": false,
				"pathRewrite":{"^/api":""}
			}
		}
	}
}

可在main.js中全局定义,也可单个文件引入。

全局定义:

import { myRequest } from './api/api.js'
Vue.prototype.$rq = myRequest

定义方法:

export const myRequest=(options)=>{ //传入的options是一个json对象
	return new Promise((resolve,reject)=>{
		uni.request({
			url:'/api' + options.url,
			method:options.methods||"GET",  // 从options取出请求方法
			header: options.methods+'' == 'post'?{'content-type': 'application/x-www-form-urlencoded' }:"", // 如果请求方法是post 则加入请求头否则为空   post方法加请求头为序化传递参数
			data:options.data || {},	    // 从options对象中取出数据
			dataType:options.dataType || "json",
			success: (res) => {
				resolve(res.data)
			}  // 不需要传失败的回调,仅判断成功回调就可以完成。
		})
	})
}

使用方式:
ES7的 Async Await 没有加try catch 自行补上

async datas(){
	let params = {id:123}
	const res = await this.$rq({
		url:'/shopping/info',
		// header:{'content-type': 'application/x-www-form-urlencoded' },//自定义请求头信息
		methods:'post',
		data:params
	})
	console.log(res)
}
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值