import axios from 'axios'
|
|
class axiosHelper {
|
/**
|
* @description
|
version: 1,//API版本
|
lang: ,//语言
|
isAddLangParam: "false",是否添加语言参数, 不加设置为false,否则null
|
isAddUrlSoftType: "true",是否添加软件类型/web/, 不加设置为true,否则null
|
controller: API中控制器名
|
action: API中操作名
|
data: {}, 除了Lang的其他参数
|
apiUrlType: 接口类型 "main","user",为空就用"main"
|
*/
|
static get(params) {
|
/*return (() => axios(
|
{
|
url:axiosHelper.buildFullUrl(params),
|
method: "get",
|
params:axiosHelper.buildFullData(params)
|
}))();*/
|
|
return axios(
|
{
|
url: axiosHelper.buildFullUrl(params),
|
method: "get",
|
params: axiosHelper.buildFullData(params)
|
});
|
|
// return (() => axios.get(axiosHelper.buildFullUrl(params), {"Lang": 0}))();
|
}
|
|
static post(params) {
|
return axios(
|
{
|
url: axiosHelper.buildFullUrl(params),
|
method: "post",
|
data: axiosHelper.buildFullData(params)
|
});
|
}
|
|
static put(params) {
|
return axios(
|
{
|
url: axiosHelper.buildFullUrl(params),
|
method: "put",
|
data: axiosHelper.buildFullData(params)
|
});
|
}
|
|
static delete(params) {
|
return axios(
|
{
|
url: axiosHelper.buildFullUrl(params),
|
method: "delete",
|
params: axiosHelper.buildFullData(params)
|
});
|
}
|
|
|
static buildFullUrl(params) {
|
//外部输入了完整Url就不用拼接路径了
|
if (params.url != null)
|
return window.globalConfig.WebApiUrl.MainUrl + params.url;
|
|
var baseUrl = "";
|
//接口版本
|
if (params.version)
|
baseUrl = "v" + params.version;
|
else
|
baseUrl = "v1";
|
|
//判断是否添加语言参数
|
var isAddUrlSoftType = true;
|
if (params.isAddUrlSoftType != null) {
|
if (params.isAddUrlSoftType == "false")//用字符型
|
isAddUrlSoftType = false;
|
}
|
if (isAddUrlSoftType)
|
baseUrl = baseUrl + "/Mobile/" + params.controller + "/" + params.action;
|
else
|
baseUrl = baseUrl + "/" + params.controller + "/" + params.action;
|
|
// var fullUrl = window.globalConfig.WebApiUrl.MainUrl + baseUrl;
|
// console.log(fullUrl)
|
|
if (params.apiUrlType) {
|
if (params.apiUrlType == "main") {
|
return window.globalConfig.WebApiUrl.MainUrl + baseUrl;
|
}
|
else if (params.apiUrlType == "use") {
|
return window.globalConfig.WebApiUrl.UserUrl + baseUrl;
|
}
|
else {
|
return window.globalConfig.WebApiUrl.MainUrl + baseUrl;
|
}
|
}
|
else {
|
return window.globalConfig.WebApiUrl.MainUrl + baseUrl;
|
}
|
}
|
|
static buildFullData(params) {
|
var post_data = params.data;
|
|
//判断是否添加语言参数
|
var isAddLangParam = true;
|
if (params.isAddLangParam) {
|
if (params.isAddLangParam == "false")//用字符型
|
isAddLangParam = false;
|
}
|
|
//
|
if (isAddLangParam) {
|
if (post_data == null)
|
post_data = {};
|
if (params.lang != null && post_data.Lang == null)
|
post_data.Lang = params.lang;
|
}
|
else {
|
//判断是否是空对象
|
if (JSON.stringify(post_data) == "{}" == {})
|
return null;
|
}
|
|
//console.log(post_data)
|
return post_data;
|
}
|
|
}
|
|
export default axiosHelper
|