|
|
|
import Vue from 'vue';
|
|
|
|
import store from '@/store';
|
|
|
|
|
|
|
|
// 定义 API URL
|
|
|
|
const CS_API_URL = 'https://changshu.js-dyyj.com';
|
|
|
|
const OLD_API_URL = 'https://qyly1.csly-travel.com';
|
|
|
|
const JDSZ_API_URL = 'https://api.cloud.sz-trip.com';
|
|
|
|
const NEWAPIURL = process.env.NODE_ENV === 'development' ? CS_API_URL : CS_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) => {
|
|
|
|
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
|
|
|
|
Vue.prototype.NEWAPIURL = '/api';
|
|
|
|
// #endif
|
|
|
|
|
|
|
|
Vue.prototype.Post = (params = {}, apiurl) => {
|
|
|
|
const token = getToken();
|
|
|
|
if (token) {
|
|
|
|
params.token = token;
|
|
|
|
}
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
uni.showLoading({
|
|
|
|
title: '加载中'
|
|
|
|
});
|
|
|
|
let apiHttp = ''
|
|
|
|
switch (params.apiType) {
|
|
|
|
case 'jdsz':
|
|
|
|
apiHttp = JDSZ_API_URL
|
|
|
|
// #ifdef H5
|
|
|
|
apiHttp = Vue.prototype.NEWAPIURL;
|
|
|
|
// #endif
|
|
|
|
break;
|
|
|
|
case 'old':
|
|
|
|
apiHttp = OLD_API_URL
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
apiHttp = CS_API_URL
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
uni.request({
|
|
|
|
method: params.method || 'GET',
|
|
|
|
url: apiHttp + apiurl,
|
|
|
|
data: params,
|
|
|
|
header: {
|
|
|
|
'content-type': 'application/json',
|
|
|
|
'token': token || ''
|
|
|
|
},
|
|
|
|
success: (res) => {
|
|
|
|
uni.hideLoading()
|
|
|
|
if (res.data.code === 200 || res.data.code === 1 || res.statusCode == 200) {
|
|
|
|
resolve(res.data);
|
|
|
|
} else {
|
|
|
|
handleError(res, reject);
|
|
|
|
}
|
|
|
|
},
|
|
|
|
fail: (err) => {
|
|
|
|
uni.hideLoading()
|
|
|
|
console.log('err', err);
|
|
|
|
handleError(err, reject);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
|
|
|
Vue.prototype.httpPost = (that, murl, mpara, callbs, callbf) => {
|
|
|
|
// var pages = getCurrentPages();
|
|
|
|
// if(pages.length>0){
|
|
|
|
// var page = pages[pages.length - 1].route;
|
|
|
|
// }
|
|
|
|
// //此时key应该有值,无值说明用户未给权限
|
|
|
|
var key = '';
|
|
|
|
try {
|
|
|
|
key = uni.getStorageSync('session');
|
|
|
|
} catch (e) {
|
|
|
|
|
|
|
|
}
|
|
|
|
// console.log('获取key'+key)
|
|
|
|
mpara.wx = 'wx';
|
|
|
|
uni.request({
|
|
|
|
url: OLD_API_URL + murl, //用户信息交换接口
|
|
|
|
method: 'POST',
|
|
|
|
data: JSON.stringify(mpara),
|
|
|
|
header: {
|
|
|
|
"Content-Type": "text/html;charset=UTF-8",
|
|
|
|
'Cookie': 'WXSESSIONID=' + 'key'
|
|
|
|
},
|
|
|
|
success: function(res) {
|
|
|
|
if (res.data.status == 200) {
|
|
|
|
typeof callbs == "function" && callbs(res);
|
|
|
|
} else if (res.data.status == 2001) {
|
|
|
|
//未登录状态
|
|
|
|
// uni.removeStorageSync('session')
|
|
|
|
// try {
|
|
|
|
// if (page == 'pages/my/my') {
|
|
|
|
// typeof callbs == "function" && callbs(res);
|
|
|
|
// return
|
|
|
|
// }
|
|
|
|
// uni.showModal({
|
|
|
|
// title: '',
|
|
|
|
// content: '未登录,是否登录',
|
|
|
|
// showCancel: true,
|
|
|
|
// cancelText: '否',
|
|
|
|
// confirmText: '是',
|
|
|
|
// success: res => {
|
|
|
|
// if (res.confirm) {
|
|
|
|
// uni.navigateTo({
|
|
|
|
// url: '/pages/login/index'
|
|
|
|
// });
|
|
|
|
// } else {
|
|
|
|
// uni.navigateBack({
|
|
|
|
// delta: 1
|
|
|
|
// });
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// });
|
|
|
|
// } catch (e) {
|
|
|
|
// var error = {
|
|
|
|
// msg: '删除KEY失败,请稍后重试!wx',
|
|
|
|
// errormsg: e
|
|
|
|
// }
|
|
|
|
// typeof callbf == "function" && callbf(error);
|
|
|
|
// }
|
|
|
|
} else if (res.data.status == 2002) {
|
|
|
|
//无用户状态,跳转绑定页面
|
|
|
|
//uni.redirectTo({ url: "/pages/user/mobile/mobile" });
|
|
|
|
} else {
|
|
|
|
var error = {
|
|
|
|
msg: 'jy出错:' + res.data.message,
|
|
|
|
errormsg: res
|
|
|
|
}
|
|
|
|
typeof callbs == "function" && callbs(res);
|
|
|
|
}
|
|
|
|
},
|
|
|
|
fail: function(e) {
|
|
|
|
var error = {
|
|
|
|
msg: '获取数据失败,请稍后重试!jy',
|
|
|
|
errormsg: e
|
|
|
|
}
|
|
|
|
typeof callbf == "function" && callbf(error);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
Vue.prototype.httpGetxin = (that, murl, mpara, callbs, callbf) => {
|
|
|
|
console.log(123)
|
|
|
|
var key = '';
|
|
|
|
try {
|
|
|
|
key = uni.getStorageSync('session');
|
|
|
|
} catch (e) {
|
|
|
|
console.log(e);
|
|
|
|
}
|
|
|
|
// #ifndef APP-PLUS
|
|
|
|
mpara.wx = 'wx';
|
|
|
|
// #endif
|
|
|
|
uni.request({
|
|
|
|
url: murl, //用户信息交换接口
|
|
|
|
method: mpara.method || 'GET',
|
|
|
|
data: JSON.stringify(mpara),
|
|
|
|
header: {
|
|
|
|
"Content-Type": "text/html;charset=UTF-8",
|
|
|
|
'Cookie': 'WXSESSIONID=' + key
|
|
|
|
},
|
|
|
|
success: function(res) {
|
|
|
|
console.log('res', res)
|
|
|
|
if (res.data.status == 200) {
|
|
|
|
typeof callbs == "function" && callbs(res);
|
|
|
|
} else {
|
|
|
|
var error = {
|
|
|
|
msg: 'jy出错:' + res.data.message,
|
|
|
|
errormsg: res
|
|
|
|
}
|
|
|
|
typeof callbs == "function" && callbs(res);
|
|
|
|
}
|
|
|
|
},
|
|
|
|
fail: function(e) {
|
|
|
|
console.log('err', e)
|
|
|
|
var error = {
|
|
|
|
msg: '获取数据失败,请稍后重试!jy',
|
|
|
|
errormsg: e
|
|
|
|
}
|
|
|
|
typeof callbf == "function" && callbf(error);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
Vue.prototype.httpPostxin = (that, murl, mpara, callbs, callbf) => {
|
|
|
|
var pages = getCurrentPages();
|
|
|
|
if (pages.length > 0) {
|
|
|
|
var page = pages[pages.length - 1].route;
|
|
|
|
}
|
|
|
|
//此时key应该有值,无值说明用户未给权限
|
|
|
|
var key = '';
|
|
|
|
try {
|
|
|
|
key = uni.getStorageSync('session');
|
|
|
|
} catch (e) {
|
|
|
|
|
|
|
|
}
|
|
|
|
console.log('获取key' + key)
|
|
|
|
// mpara.wx = 'wx';
|
|
|
|
// mpara.lng=that.$store.getters.lon==''?0:that.$store.getters.lon;
|
|
|
|
// mpara.lat=that.$store.getters.lat==''?0:that.$store.getters.lat;
|
|
|
|
uni.request({
|
|
|
|
url: murl, //用户信息交换接口
|
|
|
|
method: 'POST',
|
|
|
|
data: JSON.stringify(mpara),
|
|
|
|
header: {
|
|
|
|
"Content-Type": "application/json;charset=UTF-8"
|
|
|
|
// 'Cookie': 'WXSESSIONID=' + key
|
|
|
|
},
|
|
|
|
success: function(res) {
|
|
|
|
if (res.data.status == 200) {
|
|
|
|
typeof callbs == "function" && callbs(res);
|
|
|
|
} else if (res.data.status == 2001) {
|
|
|
|
//未登录状态
|
|
|
|
// uni.removeStorageSync('session')
|
|
|
|
// try {
|
|
|
|
// if (page == 'pages/my/my') {
|
|
|
|
// typeof callbs == "function" && callbs(res);
|
|
|
|
// return
|
|
|
|
// }
|
|
|
|
// uni.showModal({
|
|
|
|
// title: '',
|
|
|
|
// content: '未登录,是否登录',
|
|
|
|
// showCancel: true,
|
|
|
|
// cancelText: '否',
|
|
|
|
// confirmText: '是',
|
|
|
|
// success: res => {
|
|
|
|
// if (res.confirm) {
|
|
|
|
// uni.navigateTo({
|
|
|
|
// url: '/pages/login/index'
|
|
|
|
// });
|
|
|
|
// } else {
|
|
|
|
// uni.navigateBack({
|
|
|
|
// delta: 1
|
|
|
|
// });
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// });
|
|
|
|
// } catch (e) {
|
|
|
|
// var error = {
|
|
|
|
// msg: '删除KEY失败,请稍后重试!wx',
|
|
|
|
// errormsg: e
|
|
|
|
// }
|
|
|
|
// typeof callbf == "function" && callbf(error);
|
|
|
|
// }
|
|
|
|
} else if (res.data.status == 2002) {
|
|
|
|
//无用户状态,跳转绑定页面
|
|
|
|
//uni.redirectTo({ url: "/pages/user/mobile/mobile" });
|
|
|
|
} else {
|
|
|
|
var error = {
|
|
|
|
msg: 'jy出错:' + res.data.message,
|
|
|
|
errormsg: res
|
|
|
|
}
|
|
|
|
typeof callbs == "function" && callbs(res);
|
|
|
|
}
|
|
|
|
},
|
|
|
|
fail: function(e) {
|
|
|
|
var error = {
|
|
|
|
msg: '获取数据失败,请稍后重试!jy',
|
|
|
|
errormsg: e
|
|
|
|
}
|
|
|
|
typeof callbf == "function" && callbf(error);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
export default NEWAPIURL;
|