99 lines
2.0 KiB
JavaScript
99 lines
2.0 KiB
JavaScript
import axios from 'axios';
|
|
|
|
import { createQueryString } from '../utils/helperMethods';
|
|
import { getUrl } from './apiConfig';
|
|
|
|
export const TLogEvent = (
|
|
dispatch,
|
|
getState,
|
|
type,
|
|
baseUrl,
|
|
urlParams = {},
|
|
params = {},
|
|
onSuccess,
|
|
onFail,
|
|
totalLogFlag = false
|
|
) => {
|
|
const httpHeader = getState().common.httpHeader;
|
|
const appStatus = getState().common.appStatus;
|
|
const AUTHORIZATION = { headers: { ...httpHeader } };
|
|
|
|
const {
|
|
cntry_cd: cntryCd,
|
|
plat_cd: platCd,
|
|
prod_cd: prodCd,
|
|
lang_cd: deviceLang,
|
|
app_ver: appVersion,
|
|
} = httpHeader;
|
|
const { deviceId: dvcId } = appStatus;
|
|
const deviceEulaFlag = httpHeader["X-Device-Eula"];
|
|
const salesModelCode = httpHeader["X-Device-Model"];
|
|
const dvcTp = "tv";
|
|
|
|
if (typeof window === "object") {
|
|
let url = Array.isArray(baseUrl)
|
|
? getUrl(getState, baseUrl[0])
|
|
: getUrl(getState, baseUrl);
|
|
|
|
if (!url) {
|
|
return;
|
|
}
|
|
|
|
if (type === "get") {
|
|
const _urlparams = createQueryString(urlParams);
|
|
url += _urlparams ? `?${_urlparams}` : "";
|
|
}
|
|
|
|
let model;
|
|
if (totalLogFlag) {
|
|
model = {
|
|
...params,
|
|
countryCode: cntryCd,
|
|
deviceId: dvcId,
|
|
devicePlatformversion: dvcTp,
|
|
platformCode: platCd,
|
|
platfromVersion: prodCd,
|
|
appVersion,
|
|
deviceEulaFlag,
|
|
salesModelCode,
|
|
deviceLang,
|
|
};
|
|
} else {
|
|
model = {
|
|
...params,
|
|
cntryCd,
|
|
dvcId,
|
|
dvcTp,
|
|
platCd,
|
|
prodCd,
|
|
};
|
|
}
|
|
let axiosInstance;
|
|
|
|
switch (type) {
|
|
case "get":
|
|
axiosInstance = axios.get(url, AUTHORIZATION);
|
|
break;
|
|
case "post":
|
|
console.log("#model", model);
|
|
axiosInstance = axios.post(url, model, AUTHORIZATION);
|
|
|
|
break;
|
|
}
|
|
|
|
if (axiosInstance) {
|
|
axiosInstance
|
|
.then((res) => {
|
|
if (onSuccess) {
|
|
onSuccess(res);
|
|
}
|
|
})
|
|
.catch((error) => {
|
|
if (onFail) {
|
|
onFail(error);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
};
|