对uniapp的request方法进行封装

复制粘贴即可使用

// http.js
// 通常可以吧 baseUrl 单独放在一个 js 文件了
const baseUrl = 'http://localhost:3000'
const token = 'x-token'

 const request = (options = {}) => {
 // 在这里可以对请求头进行一些设置
 // 例如:
 // options.header = {}
 // options.header['token'] = token
	return new Promise((resolve, reject) => {
		uni.request({
			url: baseUrl + options.url || '',
			method: options.method|| 'GET',
			data: options.data || {},
			header: options.header || {}      
		}).then(data => {
			let [err, res] = data;        
			resolve(res);
		}).catch(error => {
			reject(error)
		})
	});
}

 const get = (url, data, options = {}) => {
	options.method= 'GET';
	options.data = data;
	options.url = url;
	return request(options)
}

const post = (url, data, options = {}) => {
	options.method= 'POST';
	options.data = data;
	options.url = url;
	return request(options)
}


export default {
	request,
	get,
	post
}
// 在 main.js 中引入 http.js
import Vue from 'vue'
import App from './App'

Vue.config.productionTip = false

import request from "./common/http.js";
Vue.prototype.$http = request;

App.mpType = 'app'

const app = new Vue({
    ...App
})
app.$mount()
 // 在页面中使用
getlist () {
	this.$http.get('/submit', {
		token: 'asd',
		name: '123',
		pass: '123456'
	}).then(res => {
		console.log(res.data)
	})
}

//this.$http.post('/submit', {
//	token: 'asd',
//	name: '123',
//	pass: '123456'
//}).then(res => {
//	console.log(res.data)
//})

或者

// user.js
// 二次封装
// 通过这中方式调用 只需要引入http.js  无需在main.js中挂载api
import http from '../../http.js'

export getUserInfo = function(data) {
	return http.request({
		url: '/userInfo',
		method: 'POST',
		data: data
	})
}

// 在页面中调用

import { getUserInfo  } form '@/api/user.js'

methods: {
	getUserData() {
		getUserInfo({
			a: 1,
			b: 2
		}).then(res => {
			console.log(res)
		})
	}
}
  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值