uniapp封装uni.request请求方法

/request/index.js

let defaultUrl = ''; // 域名地址

if (process.env.NODE_ENV === 'development') { // 开发环境
	// #ifdef H5
	defaultUrl = '本地url'
	// #endif
} else { // 生产环境
	// #ifdef H5
	defaultUrl = '线上url';
	// #endif
}

// #ifdef APP-PLUS || MP-WEIXIN
defaultUrl = '线上url';
// #endif

import store from "@/store"

const request = (params) => {
	return new Promise((resolve, reject) => {
		uni.request({
			url: defaultUrl + params.url,
			method: params.method || 'post',
			data: params.data,
			dataType: 'json',
			header: {
				'X-Requested-With': 'XMLHttpRequest',
				'Content-Type': 'application/json; charset=UTF-8',
				'Authorization': store.state.token,
				'Apptype': store.state.apptype,
			},
			success: (res) => {
				if (res.data.code === 1000) { // token过期状态,需要重新登录
					store.dispatch('resetStates') // 清除vuex缓存
                    // 跳回登录页 
					uni.redirectTo({
						url: '/pages/outside/login' 
					})
				} else {
					resolve(res.data)
				}
			},
			fail(err) {
				if (err.errMsg === "request:fail") {
					uni.showToast({
						title: "网络请求错误",
						icon: 'none'
					})
				}
				reject(err)
			},
			complete() {

			}
		})
	})
}

export default request

/apis/index.js

import request from "@/request";
export default {
	aaaaa(data) {
		return request({
			url: "apiurl",
			method: "post",
			data: data,
		});
	},
}

main.js 挂载到Vue实例上

import apis from '@/apis'
Vue.prototype.$apis = apis;

页面使用

let res = await this.$apis.aaaaa({
	aa: 111,
	bb: 222
})
if(res.code===200){
				
}else{
				
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值