/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{
}