uniapp封装request请求

uniapp封装request请求

http.js文件


let url = ''
if (process.env.NODE_ENV === 'development') {
	console.log('开发环境')
	url = '基地址'
} else {
	console.log('生产环境')
	url = "基地址"
}

export const baseUrl = url;
export function http(url, data, method = 'GET') {
	return new Promise((resolve, reject) => {
		uni.request({
			url: baseUrl + url,
			data,
			//data:{
			//	...data,
			//	'token': uni.getStorageSync('token') || ''
			//}
			header: {
				'content-type': 'application/x-www-form-urlencoded',
				'token': uni.getStorageSync('token') || ''//根据情况 token也可以写在data里
			},
			method,
			success: (res) => {
				if (res.statusCode == 200) {
					console.log(res)
					if (res.data.code == 1) {//根据后端返回的code值进行调整
						resolve(res.data.data)
					} else if (res.data.code == 0) {
						uni.showToast({
							title: res.data.msg,
							icon: 'none'
						})
						reject(res.data.msg)
					} 
				}else if (res.data.code == 401) {
						let pages = getCurrentPages();
						var currPage = pages[pages.length - 1]; //当前页面
						let url = '/' + currPage.route;
						if (uni.getStorageSync('token')) {
							//登陆过期
							uni.showToast({
								title: "登录过期",
								icon: 'none'
							})
							uni.removeStorageSync('userInfo')
							uni.removeStorageSync('token')
							setTimeout(() => {
								uni.navigateTo({
									url: '/pages/login/login?url=' + url
								})
							}, 800)
						} else {
							uni.navigateTo({
								url: '/pages/login/login?url=' + url
							})
						}
					} else {
					uni.showToast({
						title: "接口请求失败" + res.statusCode,
						icon: 'none'
					})
				}
			},
			fail: (res) => {
				uni.showToast({
					title: '服务器请求异常',
					icon: 'none'
				})
			},
			complete: () => {

			}
		});
	})
}

main.js中

// 全局引入http
import {http} from './common/http.js'  //区分按需引入(加{})和默认引入(不加{})
Vue.prototype.$http=http

调用

this.$http('url',{参数},'POST').then(res=>{
	console.log(res)
})
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值