Browse Source

update static/js/request.js.

Signed-off-by: 陈凯楠 <1403191743@qq.com>
dev
陈凯楠 7 months ago
committed by Gitee
parent
commit
406f80aae2
No known key found for this signature in database GPG Key ID: 173E9B9CA92EEF8F
  1. 104
      static/js/request.js

104
static/js/request.js

@ -1,62 +1,76 @@
import Vue from 'vue' import Vue from 'vue';
import store from '@/store' import store from '@/store';
let NEWAPIURL = process.env.NODE_ENV == 'development' ? 'https://testtaihu.xmainc.com' : 'https://testtaihu.xmainc.com' // 定义 API URL
Vue.prototype.NEWAPIURL = NEWAPIURL const DEV_API_URL = 'https://api.cloud.sz-trip.com';
const PROD_API_URL = 'https://api.cloud.sz-trip.com';
const NEWAPIURL = process.env.NODE_ENV === 'development' ? DEV_API_URL : PROD_API_URL;
// 获取token
const getToken = () => {
const userInfoFromStorage = uni.getStorageSync('userInfo');
if (userInfoFromStorage) {
const userInfo = JSON.parse(userInfoFromStorage);
if (userInfo.token) {
return userInfo.token;
}
}
return store.state.user.userInfo.token;
};
// 定义错误处理函数
const handleError = (res, reject) => {
uni.hideLoading();
setTimeout(() => {
uni.showToast({
title: res.data?.msg || res.msg,
icon: 'none'
});
reject(res);
}, 0);
if (res.data?.code === 401) {
store.commit('changeLoginPath');
}
};
// 挂载到 Vue 原型上
Vue.prototype.NEWAPIURL = NEWAPIURL;
// #ifdef H5 // #ifdef H5
NEWAPIURL = '/api' Vue.prototype.NEWAPIURL = '/api';
// #endif // #endif
Vue.prototype.Post = (params, apiurl) => { Vue.prototype.Post = (params = {}, apiurl) => {
// if (uni.getStorageSync('userInfo')) params.token = JSON.parse(uni.getStorageSync('userInfo')).token const token = getToken();
if (uni.getStorageSync('userInfo') && JSON.parse(uni.getStorageSync('userInfo')).token) params.token = JSON.parse(uni.getStorageSync('userInfo')).token if (token) {
else if (store.state.user.userInfo.token) params.token = store.state.user.userInfo.token params.token = token;
}
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
uni.showLoading({ uni.showLoading({
title: '加载中' title: '加载中'
}) });
uni.request({ uni.request({
method: params.method || 'GET', method: params.method || 'GET',
url: NEWAPIURL + apiurl, url: Vue.prototype.NEWAPIURL + apiurl,
data: params || {}, data: params,
header: params.header || { header: {
'content-type': 'application/json', 'content-type': 'application/json',
'token': params.token || '' 'token': token || ''
}, },
success: res => { success: (res) => {
uni.hideLoading() console.log('success', res.data);
console.log('success', res.data)
if (res.data.code === 200) { if (res.data.code === 200) {
resolve(res.data) resolve(res.data);
} else { } else {
setTimeout(() => { handleError(res, reject);
uni.showToast({
title: res.data.msg,
icon: 'none'
})
reject(null)
}, 0)
if (res.data.code === 401) {
store.commit('changeLoginPath')
}
} }
}, },
fail: err => { fail: (err) => {
console.log('err', err) console.log('err', err);
uni.hideLoading() handleError(err, reject);
setTimeout(() => {
uni.showToast({
title: err.msg || err.data.msg,
icon: 'none'
})
}, 0)
if (err.data.code === 401) {
store.commit('changeLoginPath')
} }
reject(err) });
} });
}) };
})
} export default NEWAPIURL;
export default NEWAPIURL

Loading…
Cancel
Save