var WebUtils = {};
// ================环境参数配置=====================
//是否是生产版本
var isProduce = window.location.href.includes('https://m.misumi.com.cn');
var isDebug = true
if (isProduce) {
    isDebug = false
    console.log = function () {
    };
    console.error = function () {
    }

}
if (isDebug) {
    loadJs_(`${location.origin}/static/html/js/vconsole.min.js`, function () {
        eruda.init({
            useShadowDom: false
        })
        $("#eruda").removeAttr("style", "");
    })
}
//如果不是生产版本,0=dev,1=stg环境
var devEnvironment = 1;

//=================全局参数========================
//token过期提醒ecode
var ECODE_API000300 = "API000300";

//==================接口地址========================
// 小程序进入
if (isProduce) {
    if (sessionStorage.getItem('routeFlag') == '微信小程序') {
        var ECAppIDforAPI = "6bb43ea7-cd82-47cf-8fc3-ae08d4421a1e";
        var applicationId = "6bb43ea7-cd82-47cf-8fc3-ae08d4421a1e";
        var uprApplicationId = "6bb43ea7-cd82-47cf-8fc3-ae08d4421a1e";
        var cnmApplicationId = "6bb43ea7-cd82-47cf-8fc3-ae08d4421a1e"
    } else if (sessionStorage.getItem('routeFlag') == 'APP') {

        var ECAppIDforAPI = "cfbd00c5-c945-4205-ad62-406898fafe1f";
        var applicationId = "ded86a16-4ca6-46d5-b8f2-8796a3b7c57d";
        var uprApplicationId = "585e538a-0fe7-4304-97de-a347c15ed990";
        var cnmApplicationId = "ded86a16-4ca6-46d5-b8f2-8796a3b7c57d"
    } else {
        //本番 EC接口用的APPID
        var ECAppIDforAPI = "77f56fb2-4165-4116-b82f-e495838bb6e1";
        //本番 App接口用的AppId
        var applicationId = "77f56fb2-4165-4116-b82f-e495838bb6e1";
        // upr接口用到的AppId
        var uprApplicationId = "77f56fb2-4165-4116-b82f-e495838bb6e1";
        var cnmApplicationId = "ded86a16-4ca6-46d5-b8f2-8796a3b7c57d"
    }
} else {
    if (sessionStorage.getItem('routeFlag') == '微信小程序') {
        var ECAppIDforAPIStg = "6bb43ea7-cd82-47cf-8fc3-ae08d4421a1e-stg";
        var applicationIdStg = "6bb43ea7-cd82-47cf-8fc3-ae08d4421a1e-stg";
        var uprApplicationIdStg = "6bb43ea7-cd82-47cf-8fc3-ae08d4421a1e-stg";
        var cnmApplicationIdStg = "6bb43ea7-cd82-47cf-8fc3-ae08d4421a1e-stg"

    } else if (sessionStorage.getItem('routeFlag') == 'APP') {

        var ECAppIDforAPIStg = "cfbd00c5-c945-4205-ad62-406898fafe1f-stg";
        var applicationIdStg = "ded86a16-4ca6-46d5-b8f2-8796a3b7c57d-stg";
        var uprApplicationIdStg = "585e538a-0fe7-4304-97de-a347c15ed990-stg";
        var cnmApplicationIdStg = "ded86a16-4ca6-46d5-b8f2-8796a3b7c57d-stg"

    } else {
        //stg EC接口地址
        var ECAppIDforAPIStg = "77f56fb2-4165-4116-b82f-e495838bb6e1-stg";
        //stg App接口用的AppId
        var applicationIdStg = "77f56fb2-4165-4116-b82f-e495838bb6e1-stg";
        var uprApplicationIdStg = "77f56fb2-4165-4116-b82f-e495838bb6e1-stg";
        var cnmApplicationIdStg = "ded86a16-4ca6-46d5-b8f2-8796a3b7c57d-stg"
    }

}
const hostBaseUrl = isProduce ? 'https://apihosts.misumi.com.cn' : 'https://apihosts-stg.misumi.com.cn'
const apiUrl = {
    Customer: {
        host: `${hostBaseUrl}/Customer`,
        xApiKey: isProduce ? 'z7egOF19hr9DUxsvyGhkO69qMuCa2O8Y796BuksP' : 'ss4rwqteBA2rK5vXZVbZQ80cdRJh3e7B5o7xu1I5',
        urlList: {
            getCatalogListWithUserCode: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/CatalogApply/areaInfo/getCatalogListWithUserCode`, params)
            },
            getClientIp: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/Mb/util/getClientIp`, params)
            },
            captcha: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/CatalogApply/base/captcha`, params)
            },
            userLogin: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/Mb/yidun/auth/login`, params)
            },
            getSms: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/CatalogApply/base/getSms`, params)
            },
            verifySms: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/CatalogApply/base/verifySms`, params)
            },
            createOrderInfo: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/CatalogApply/orderInfo/createOrderInfo`, params)
            },
            getOrderDetailListByUserCode: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/CatalogApply/orderInfo/getOrderDetailListByUserCode`, params)
            },
            userUpdate: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/Mb/yidun/user/user/update`, params)
            },
            getExpressInfoByExpressId: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/CatalogApply/orderInfo/getExpressInfoByExpressId`, params)
            },
            // 快报列表
            getNotificationInfoList: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/Mb/notificationInfo/getNotificationInfoList`, params)
            },
            // 快报
            getTopDisplayNotificationInfo: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/Mb/notificationInfo/getTopDisplayNotificationInfo`, params)
            },
            coudanPopupRemind: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/Mb/pop/show/coudanPopup/remind`, params)
            },
            appletPopupRemind: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/Mb/pop/show/appletPopup/remind`, params)
            },
            seriesHistoryPopup: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/Mb/pop/show/seriesHistoryPopup/remind`, params)
            },
            // 凑单一周不显示
            coudanPopupUpdate: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/Mb/pop/show/coudanPopup/update`, params)
            },
            appletPopupUpdate: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/Mb/pop/show/appletPopup/update`, params)
            },
            // 小程序商品详情历史浏览
            seriesHistoryUpdate: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/Mb/pop/show/seriesHistoryPopup/update`, params)
            },
            // qr联动发送消息
            userNotificationAdd: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/Mb/personalize/userNotification/add`, params)
            },
            // 评价阿里垃圾文字验证
            scanText: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/Mb/ali/scan/text`, params)
            },
            // 通知设定
            userNotificationSettingGet: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/Mb/pack/user/userNotificationSetting/get`, params)
            },
            // 个人信息修改密码
            myInfoPasswordUpdate: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/Mb/pack/user/password/update`, params)
            },
            // 忘记密码修改密码
            PasswordUpdate: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/Mb/yidun/user/password/update`, params)
            },
            // 解绑
            unbind: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/Mb/auth/sns/link/update/unbind`, params)
            },
            // 绑定微信
            bindUpdate: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/Mb/auth/sns/link/update/bind`, params)
            },
            // meviylist
            meviyImageList: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/Mb/online/meviyImageList_json`, params)
            },
            // 抖音埋点
            conversion: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/Mb/pack/oceanengine/conversion`, params)
            },
            // 朋友圈埋点
            convWeb: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/Mb/pack/conv/web`, params)
            },
            // 微信自动登录
            autoLogin: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/Mb/auth/sns/login`, params)
            },
            // 发送验证码
            smsSend: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/Mb/yidun/user/auth/smsSend`, params)
            },
            // 手机验证码登录
            smsLogin: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/Mb/yidun/user/auth/smsLogin`, params)
            },
            // 发送邮件
            emailSend: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/Mb/yidun/user/auth/emailSend`, params)
            },
            // 目录申请完成画面
            catalogInfo: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/CatalogApply/catalogInfo`, params)
            },
            // 通知设定发货通知获取状态
            getNoticeSwitchStatus: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/getNoticeSwitchStatus`, params)
            },
            // 通知设定发货通知提交状态
            submitNoticeSwitchStatus: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/submitNoticeSwitchStatus`, params)
            },

            // 专属客服
            serviceCustomer: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/getPrivateContactInfo`, params)
            },
            // inner情报取得
            getInnerInfo: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/getInnerBigOrderThreshold`, params)
            },
            // 积分信息
            getPointsInfoApi: () => {
                return buildUrl(`${apiUrl.Customer.host}/getPointsInfo`, {})
            },
            // 获取抽奖次数
            getDrawCount: () => {
                return buildUrl(`${apiUrl.Customer.host}/getCustLuckyDraws`, {})
            },
            // 上传获取uuid
            getUploadUUID: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/AcceptanceOfGoods/scanUpload/genUuid`, params)
            },
            // 通过uuid拿sessionid
            getUploadSessionId: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/AcceptanceOfGoods/scanUpload/getSessionId`, params)
            },
            // 上传图片信息到后端
            getUpdateData: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/AcceptanceOfGoods/scanUpload/updateData`, params)
            },
            // 拿取上传图片信息
            getUUIDUploadData: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/AcceptanceOfGoods/scanUpload/getData`, params)
            },
            // 易盾检测
            yiDunCheck: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/Mb/yidun/risk/check`, params)
            },
            // 发票抬头检索
            getInvoiceInfo: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/getInvoiceInfo`, params)
            },
            // 订单获取开票状态
            getOrderInvoiceList: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/getOrderList`, params)
            },
            // 订单拿取发票详情pdf
            getOrderBillDetail: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/getBillDetail`, params)
            },
            // 编辑发票
            updateInvoiceInfo: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/updateInvoiceInfo`, params)
            },
            // 订单拿发票号
            getAllInvoiceInfo: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/getAllInvoiceInfo`, params)
            },
            // 黑名单接口
            getUserCustAttrInfo: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/getUserCustAttr`, params)
            },

            // 银行口座
            getBankAccountInfo: (params = {}) => {
                return buildUrl(`${apiUrl.Customer.host}/getBankAccountInfo`, params)
            },

            // 校验是否登录过app


        }
    },
    CDP: {
        host: `${hostBaseUrl}/CDP`,
        xApiKey: isProduce ? 'hQpxGdVTTJ9Spt9PCWozabn8XkZ7RqO2D0ZUyye7' : 'tZCxULDxeB8ai0nHxqNLa2bELEQTQbQnatog5Lr2'
    },
    Campaign: {
        host: `${hostBaseUrl}/Campaign`,
        xApiKey: isProduce ? 'zoLggKKTuB9yOR1tUDFc87xuc8RiOubA3N1ICpbI' : 'bYLkzu7FU432Mw2XubuFL571GJwnchJr3aPdZxcy',
        urlList: {
            addLog: (params = {}) => {
                return buildUrl(`${apiUrl.Campaign.host}/MblLog/addLog`, params)
            },
            getECSettingFileInfo: (params = {}) => {
                return buildUrl(`${apiUrl.Campaign.host}/getECSettingFileInfo`, params)
            }
        }
    },
    Wechat: {
        host: `${hostBaseUrl}/Wechat`,
        xApiKey: isProduce ? 'hBTVucW3GHSSSsRfkCsX9HBMqBNBaQ63xaemDVcc' : 'ILg3ZZw8px2sxDlVRmkhG2fUH1PQqODUaPSRMG5V'
    },
    Be: {
        host: `${hostBaseUrl}/Be`,
        xApiKey: isProduce ? '3mYjl6ZegugnItvcXQjX1JLlzXHeZwt2lg9COPUd' : 'dHvolUljYA9jYEYDykENxDVnEjkufyV87BYXdrZg'
    },
    aidata: {
        host: `${hostBaseUrl}/aidata`,
        xApiKey: isProduce ? 'U8KXgHMr5m6Cs6RBfllMP126UT511y552kIFd5Lq' : '2ll60jC3cl742fq0QHWb12sRBifckZSC5YFmCgSj',
        urlList: {
            getCouDan: (params = {}) => {
                return buildUrl(`${apiUrl.aidata.host}/checkout_companion`, params)
            },
            getPopularSearch: (params = {}) => {
                return buildUrl(`${apiUrl.aidata.host}/category_series`, params)
            },
            myPageFavorites: (params = {}) => {
                return buildUrl(`${apiUrl.aidata.host}/favorites`, params)
            },

        }
    },
    bom: {
        host: `${hostBaseUrl}/Bom`,
        xApiKey: isProduce ? 'XJXz7GYDew80Y6KoNZ2Ii4tJurCZ0NZN7ccrIHG7' : 'QzMg2jQgswGUNMGQmW9OamzlKKpDVsk5ESncmfF2',
        urlList: {
            recomd: (params = {}) => {
                return buildUrl(`${apiUrl.bom.host}/bom_row_recomd`, params)
            }
        }
    }
}
const buildUrl = (url, params) => {
    return url + paramsFun(params)
}

function paramsFun(obj) {
    let result = '';
    let item;
    for (item in obj) {
        if (obj[item] && String(obj[item])) {
            result += `&${item}=${obj[item]}`;
        }
    }
    if (result) {
        result = '?' + result.slice(1);
    }
    return result;

}

//==========================dev环境==============================
//dev接口和分享地址
var ServerApiDev = "https://cnm.misumi.com.cn/api/v1/";
var ServerShareDev = "https://dev-api.misumi.com.cn/Misumi/";
var ECApiUrlDev = "https://api.cn.misumi.com.cn/api/v1/";
var ECAppIDforAPIDev = "e8e3e84e-6dcd-4589-a700-9d3a41be5ae6";
// var ECAppIDforAPIDev = "77f56fb2-4165-4116-b82f-e495838bb6e1";
var applicationIdDev = "ded86a16-4ca6-46d5-b8f2-8796a3b7c57d";
var WebUrlApiDev = "https://dev-api.misumi.com.cn/MisumiApi/";
var subsidiaryCodeDev = 'CHN';
var CatalogApiDev = "https://dev-api.misumi.com.cn/MisumiCatalogApi/";
var MauthApiDev = "https://dev-api.misumi.com.cn/MisumiApi/token/refresh.htmls";
//agent相关
//agent域名
var agentApiDev = "https://af.misumi.com.cn/MisumiAgentManagement/";
//rainbow路径
//测试环境 客服
//发票信息路径
var armsApiStg = 'https://rainbow-stg.misumi.com.cn'
var armsApi = 'https://rainbow.misumi.com.cn'
//价格带
var disountApiDev = "https://live-www-origin.misumi.com.cn/";
//首页热门商品
var recmdHomeApiDev = "https://recommend-cn.misumi.com.cn/cameleer/REST/GeneralRecommend?subsidiary=CHN&key=EC_search_homepage_categ,EC_search_homepage_categ,[usercode],";

//=========================stg环境==========================
//stg1
//密码更新
var password_update = '/api/user/v1/password/update'
var upApidev = "https://www.misumi.com.cn";
var upApiStg1 = "https://stg0-www.misumi.com.cn";
var upApiStg1_dev = 'https://ecf-apigw.misumi.com.cn';
var upApiStg1_ecf = "https://stg0-ecf-apigw.misumi.com.cn";
//人机验证-短信
var api_checkTelcodeUrl = "yidun/api/user/v1/auth/smsSend.htmls";
// 人机验证-邮箱
var api_checkEmailUrl = "yidun/api/user/v1/auth/emailSend.htmls";
//个人信息
var api_userInfoApi = "userInfo";
var api_user_regist = "/api/user/v1/user/regist";//个人注册
var api_updateUser = "/api/user/v1/user/update";//更新用户名
var api_updateLoginId = "yidun/api/user/v1/user/update.htmls";
var api_updatePassworld = "/api/user/v1/password/update";//修改密码
var api_updateTel = "/api/user/v1/cellularPhone/update";//修改手机号
var api_deleteAccount = "/api/user/v1/user/delete";//删除账号
//stg接口和分享地址
var ServerApiStg = "https://cnm.stg.misumi.com.cn/api/v1/";
var ServerShareStg = "https://stg-api.misumi.com.cn/Misumi/";
//stg EC接口地址
var ECApiUrlStg = "https://stg0-api.cn.misumi.com.cn/api/v1/";
var ECUserApiUrlStg = "https://stg0-www.misumi.com.cn/api/user/v1/";
//stg 广告、通知消息等接口地址
var WebUrlApiStg = "http://192.168.40.62:8088/MisumiApi/";
// var WebUrlApiStg = "https://stg-api.misumi.com.cn/MisumiApi/";
//stg接口地区代码
var subsidiaryCodeStg = 'CHN';
var api_updataBind = 'auth/sns/link/update/bind.htmls'
var api_unBind = 'auth/sns/link/update/unbind.htmls'
//stg 目录申请接口地址
var CatalogApiStg = "https://stg-api.misumi.com.cn/MisumiCatalogApi/";
//ajax使用stg刷新登录token接口
var MauthApiStg = "https://stg-api.misumi.com.cn/MisumiApi/token/refresh.htmls";
// 图片地址拼接
var ImgServerPathStg = "https://stg0-www.misumi.com.cn";
// 图片地址拼接
var ImgServerPathPro = "https://www.misumi.com.cn";
//agent域名
var agentApiStg = "https://stg-d.misumi.com.cn/MisumiAgentManagement/";
var disountApiStg = "https://stg0-www-origin.misumi.com.cn/";
//首页热门商品
var recmdHomeApiStg = "https://stg-recommend-cn.misumi.com.cn/cameleer/REST/GeneralRecommend?subsidiary=CHN";
//商品详情一起购买
var recmdPurchaseApiStg = "https://stg-recommend-cn.misumi.com.cn/cameleer/REST/CooccurrenceRecommend?subsidiary=CHN"
//人气商品
var topPopularCategApiStg = "https://stg-recommend-cn.misumi.com.cn/cameleer/REST/GeneralRecommend?subsidiary=CHN&key=EC_search_endcateg,[keyword],[usercode],";
//人气商品
var topPopularSearchApiStg = "https://stg-recommend-cn.misumi.com.cn/cameleer/REST/GeneralRecommend?subsidiary=CHN&key=EC_search_searpage_recom,[keyword],[usercode],";
//商品详情一起浏览商品
var detailRecommendApiStg = "https://stg-recommend-cn.misumi.com.cn/cameleer/REST/CooccurrenceRecommend?subsidiary=CHN";
//获取分享的评价
var getSharedReviewInfoApiStg = "https://apihosts-stg.misumi.com.cn/Review/getSharedReviewInfo";
//点赞分享的评价
var submitSharedReviewLikeApiStg = "https://apihosts-stg.misumi.com.cn/Review/submitSharedReviewLike";
// headers的key
var RecommendKeyStg = 'uqKz8jthzZ9O1Kws2iQ6D39e3YF685rwOyaqxYPa'
var apiHostStg = 'https://apihosts-stg.misumi.com.cn'
var apiHost = 'https://apihosts.misumi.com.cn'
//===================生产环境=======================
//本番app接口和分享地址
var ServerApi = "https://cnm.misumi.com.cn/api/v1/";
var ServerShare = "https://api.misumi.com.cn/Misumi/";
//本番 EC接口地址
var ECApiUrl = "https://api.cn.misumi.com.cn/api/v1/";
var ECUserApiUrl = "https://www.misumi.com.cn/api/user/v1/";
//var ECApiUrl = "https://chk0-api.cn.misumi.com.cn/api/v1/";
//本番 广告、通知消息等接口地址
var WebUrlApi = "https://api.misumi.com.cn/MisumiApi/";


//天眼查
var companySearchHost = isProduce ? 'https://apihosts.misumi.com.cn/Customer/searchFromTianYanCha' : 'https://apihosts-stg.misumi.com.cn/Customer/searchFromTianYanCha' //
var search_Key = isProduce ? 'z7egOF19hr9DUxsvyGhkO69qMuCa2O8Y796BuksP' : 'ss4rwqteBA2rK5vXZVbZQ80cdRJh3e7B5o7xu1I5' //


//本番接口地区代码
var subsidiaryCode = 'CHN';
//本番 目录申请接口地址
var CatalogApi = "https://api.misumi.com.cn/MisumiCatalogApi/";
//ajax使用本番刷新登录token接口
var MauthApiPro = "https://api.misumi.com.cn/MisumiApi/token/refresh.htmls";
// 测试环境下的接口公共路径
var testEnvApiBaseUrl = "https://stg0-www.misumi.com.cn";
//PC api base url - 生成环境下的接口公共路径
var prodEnvApiBaseUrl = "https://www.misumi.com.cn";
var prodEnvApiBaseUrlStg = "https://stg0-www.misumi.com.cn";
//wechat api
var WechatEcApi = "https://wechatec.misumi.com.cn/api/v1";
var WechatEcApiStg = "https://stg-wechatec.misumi.com.cn/api/v1";

var userCheckBindWechat = '/user/checkWechatBind'
//agent相关
//agent域名
var agentApi = "https://af.misumi.com.cn/MisumiAgentManagement/";
//价格带
var disountApi = "https://live-www-origin.misumi.com.cn/";
//首页热门商品
// var recmdHomeApi = "https://recommend-cn.misumi.com.cn/cameleer/REST/GeneralRecommend?subsidiary=CHN&key=EC_search_homepage_categ,EC_search_homepage_categ,[usercode],";
var recmdHomeApi = "https://recommend-cn.misumi.com.cn/cameleer/REST/GeneralRecommend?subsidiary=CHN";
//商品详情一起购买
var recmdPurchaseApi = "https://recommend-cn.misumi.com.cn/cameleer/REST/CooccurrenceRecommend?subsidiary=CHN"
//人气商品
var topPopularCategApi = "https://recommend-cn.misumi.com.cn/cameleer/REST/GeneralRecommend?subsidiary=CHN&key=EC_search_endcateg,[keyword],[usercode],";
//人气商品
var topPopularSearchApi = "https://recommend-cn.misumi.com.cn/cameleer/REST/GeneralRecommend?subsidiary=CHN&key=EC_search_searpage_recom,[keyword],[usercode],";
//商品详情一起浏览商品
var detailRecommendApi = "https://recommend-cn.misumi.com.cn/cameleer/REST/CooccurrenceRecommend?subsidiary=CHN";
//获取分享的评价
var getSharedReviewInfoApi = "https://apihosts.misumi.com.cn/Review/getSharedReviewInfo";
//点赞分享的评价
var submitSharedReviewLikeApi = "https://apihosts.misumi.com.cn/Review/submitSharedReviewLike";
// headers的key
var RecommendKey = 'CHjIHFD82g54eWKbqRscG5u0jvXFxQ1U2Nu40No2'
//=========================api===========================================
//===============app api===============================
//登陆
var api_loginApi = "sp/auth/login";
//登出
var api_logoutApi = "auth/logout";

var api_customerInfo = "/api/user/v1/customerInfo?";
// 检查session
var api_check_session = "/api/user/v1/auth/check";

//优惠券列表
var api_couponList = "coupon/search";
//收藏夹
var api_partList = "myComponents";
//报价列表
var api_quotationList = "quotation/search";

//订购列表
var api_orderList = "order/search";

//获取验证码接口
var api_mobileVerify = "mobileNumber/verify";
//注册图形验证码配短信验证码
var api_sms_captcha = "sms/captcha.htmls";
var api_sms_sms_with_captcha = "sms/sms.htmls";
var api_sms_verify = "sms/verify.htmls";

//注册接口
var api_mobileRegisterApiUrl = "auth/ec/register";
//シリーズ検索API
var api_getSeriesSearch = "series/search";
//添加购物车
var api_addToCartApi = "cart/add";
//获取购物车列表
var api_getCartApi = "cart";
//删除购物车
var api_deleteCartApi = "cart/delete";
//更新购物车
var api_updateCartApi = "cart/update";
//获取购物车数量
var api_getCartCount = "cart/count?field=@all";
//购物车加入收藏
var api_addCartFromComponents = "cart/add/fromMyComponents?field=@all";
//购物车到报价
var api_addCartFromQuotation = "cart/add/fromQuotation";
//购物车到订购
var api_addCartFromOrder = "cart/add/fromOrder";

//商品详情
var api_seriesSearch = "series/search";

// 确认是否绑定微信小程序
var api_sureBindWeChat = 'api/v1/user/checkWechatBind'

//添加收藏
var api_addToMyComponentsFromCart = "myComponents/add/fromCart";
var api_addToMyComponentsFromQuotation = "myComponents/add/fromQuotation";
var api_addToMyComponentsFromOrder = "myComponents/add/fromOrder";
var api_addToMyComponentsFromDetail = "myComponents/add";
//取消收藏
var api_deleteMyComponents = "myComponents/delete";


//API004 見積確認API
var api_checkQuotationFromCart = "quotation/check/fromCart?field=@all";
var api_checkQuotationFromQuotation = "quotation/check/fromQuotation?field=@all";
var api_checkQuotation = "quotation/confirm";

//API005 注文確認API
var api_checkOrderFromCart = "order/check/fromCart?field=@all";
var api_checkOrder = "order/confirm";
var api_checkOrderFromOrder = "order/check/fromOrder?field=@all";
var api_checkOrderFromQuotation = "order/check/fromQuotation?field=@all";


//API018 見積履歴検索API
var api_searchQuotation = "quotation/search?field=@all";
var api_getQuotation = "quotation?field=@all";

//API020 注文履歴検索API
var api_searchOrder = "order/search?field=@all";
var api_getOrder = "order?field=@all";
var api_charge_verify = "charge/verify?callerType=3";

//组合接口请求
var api_batch = "batch/";

//combo_api
var api_combo = "combo/search"

var api_cadView = "cad/preview";
//===============app api end===========================

//===============EC api================================
var api_ecsearchCategory = "category/search";
//猜你喜欢
var getRecommend = "interestRecommend/search";
//商品询价
var api_priceCheck = "price/check";
//商品筛选条件获取，商品搜索
var api_partNumbereach = "partNumber/search";
//日志记录
var api_logAdd = "log/add";
//===============EC api end============================

//===============app 后台==============================
//首页快报消息滚动
var url_api_GET_TOP_NOTIFICATION = "notificationInfo/getTopDisplayNotificationInfo.htmls";
//首页快报消息列表
var url_api_GET_TOP_NOTIFICATION_LIST = "notificationInfo/getNotificationInfoList.htmls";
//保存log接口
var url_api_addLog = "log/addLog.htmls";
//===============app 后台 end==========================

//================目录申请api===========================
//根据用户名获取目录列表
var api_catalogListByUserCode = "areaInfo/getCatalogListWithUserCode.htmls";
//根据用户名获取目录申请订单列表
var api_catalogOrderInfoByUserCode = "orderInfo/getOrderDetailListByUserCode.htmls";
//根据地址获取邮编
var api_getPostCodeByAddress = "areaInfo/getPostCodeByAddress.htmls";
//目录申请 POST
var api_catalogCreateOrder = "orderInfo/createOrderInfo.htmls";
//目录申请快递详情查询 GET
var api_catalogExpressInfoById = "orderInfo/getExpressInfoByExpressId.htmls";
//发送验证码接口
var api_catalogSendMessage = "base/security/getSms.htmls";
//验证短信验证码接口
var api_verifyCode = "base/verifySms.htmls";
// 目录申请成功页面获取数据
var api_catalogSuccess = "catalogInfo.htmls"

//================目录申请api end========================
//特殊接口
//3d preview
var stgSinusDomain = "stg.mex.misumi-ec.com";
var proSinusDomain = "mex.misumi-ec.com";
WebUtils.getSinusDomain = function () {
    if (isProduce) {
        return proSinusDomain;
    } else {
        return stgSinusDomain;
    }
}

WebUtils.checkSession = function (action, msg) {
    action = encodeURIComponent(encodeURIComponent(action));
    msg = encodeURIComponent(encodeURIComponent(msg));
    var webCookie = getCookie("GACCESSTOKENKEY")
    if (userInfo && userInfo.sessionId) {
        $.ajax({
            url: jumpUrl + "/order/check/sessionId?sessionId=" + userInfo.sessionId + "&apiName=" + action + "&msg=" + msg + "&webCookieSessionId=" + webCookie,
            type: 'GET',
            success: function (result) {
            },
            error: function (result) {
                console.log(result)
            }
        })
    }
};

//================ upr项目api start ====================
//订单运单
var uprEcApi = "https://api.cn.misumi.com.cn";
var uprEcApiStg = "https://stg0-api.cn.misumi.com.cn";

// auth路径host
var addressAuthHost = "https://mauth.misumi.com.cn";
// auth路径host
var addressAuthHostStg = "https://stg0-mauth.misumi.com.cn";

// 价格检查
var upr_api_check_price = "/api/order/v1/price/check";
// 购物车列表
var upr_api_cart_search = "/api/order/v1/cart/search";
// 更新购物车单个商品数据
var upr_api_cart_update = "/api/order/v1/cart/update";
// 删除购物车商品
var upr_api_cart_delete = "/api/order/v1/cart/delete";
// 添加购物车
var upr_api_cart_add = "/api/order/v1/cart/add";
// 一键设置更新数据
var upr_api_cart_bulkUpdate = "/api/order/v1/cart/bulkUpdate";

// 加入收藏
var upr_api_add_collect = "/api/personalize/v1/myComponents/add";

// 去订购 / 去报价 异步接口
var upr_api_order_async_request = "/api/order/v1/async/request";

// 校验采购单号
var upr_api_order_check_customer = "/api/order/v1/customerOrderSlipNumber/check"

//订单生成
var url_api_orderCom_search = "/api/order/v1/orderSlip/search";
var url_api_quoteUnfit_search = "/api/order/v1/quoteUnfitReply/search"

// 日志发送
var upr_api_log = "/api/ecf/logs?app=ord-web";

//通知
var url_api_GET_NOTIFICATION_LIST = "/api/personalize/v1/userNotification/search";
//消息删除
var url_api_DEL_NOTIFICATION = "/api/personalize/v1/userNotification/delete";
//消息标记为已读
var url_api_UPDATE_NOTIFICATION = "/api/personalize/v1/userNotification/marked";

//签到次数接口新版
var sign_in_count_api = "lp_sign_in/count.htmls";
//签到接口新版
var sign_in_ip_sign_id_api = "lp_sign_in/sign_in.htmls";
//领取奖品接口新版
var sign_in_prize = "lp_sign_in/prize.htmls";
//获得分享次数新版
var sign_in_shareCount = "lp_sign_in/share.htmls"

// 获取非发货日期信息
var upr_api_undeliverable_date = "/api/order/v1/undeliverableDate";

// 分批发货的检查 - 分納チェックリポジトリ
var upr_api_partial_deliver_check = "/api/order/v1/partialDelivery/check"

// 注文作成(fromカート)
var upr_pai_create_from_cart = "/api/order/v1/order/createFromCart";
// 订单制作（from报价）
var upr_pai_create_from_quote = "/api/order/v1/order/createFromQuote";

// 刷新token
var upr_api_auth_refresh = "/api/user/v1/auth/refresh"

//业务通知
var api_bussiness_message = '/api/personalize/v1/userNotification/count'
//收藏的数量
var api_collectNumber = '/api/personalize/v1/myComponents/count'
//优惠券的数量
var api_couponNumber = '/api/coupon/v1/coupon/count'

//API020 注文履歴検索API
var api_orderPlant = "/api/v1/inner/search";
var api_brandSearch = "brand/search";
var api_orderAddCart = "/api/order/v1/orderSlip/search";
var api_orderUpdate = "/api/order/v1/orderSlip/update";
var api_orderCount = '/api/order/v1/orderSlip/count';
var api_orderItemSearch = "/api/order/v1/orderItem/search";
var api_cartAdd = "/api/order/v1/async/request";
var api_orderCancel = "/api/order/v1/orderSlip/cancel";
var api_orderItemCancel = "/api/order/v1/orderItem/cancel";
var api_orderItemUpdate = "/api/order/v1/orderItem/update";
//var api_shipSearch = "/api/user/v1/shipToInfo/add";
var api_shipSearch = "/api/user/v1/shipToInfo/search";

var api_couponSearchForOrderDetail = "/api/coupon/v1/coupon/search"
var api_couponSearch_2 = "/api/coupon/v1/coupon/search";
var api_orderUnfitReplySearch = "/api/order/v1/orderUnfitReply/search";
var api_orderUnfitReplyExtend = "/api/order/v1/orderUnfitReply/extend"
var api_orderUnfitApprove = "/api/order/v1/orderUnfitReply/approve"
var api_orderItemCheck = "/api/order/v1/orderItem/check"
var api_orderreQuest = "/api/order/v1/orderUnfitReply/reRequest"

//报价详情
var api_quoteItemCheck = '/api/order/v1/quoteItem/check'
var api_quoteUnfitReplySearch = "/api/order/v1/quoteUnfitReply/search";
var api_quotereQuest = '/api/order/v1/quoteUnfitReply/reRequest'
var api_quoteUnfitApprove = "/api/order/v1/quoteUnfitReply/approve"
var api_quoteUpdate = "/api/order/v1/quoteItem/update";
var api_quoteUnfitReplyExtend = "/api/order/v1/quoteUnfitReply/extend"

//我的报价
var api_quoteSearch = "/api/order/v1/quoteSlip/search"
var api_quoteItemSearch = "/api/order/v1/quoteItem/search";
var api_quoteCount = '/api/order/v1/quoteSlip/count';
var api_quoteDelete = "/api/order/v1/quoteSlip/delete"

// 我的售后
var api_exchangeList = "/cim/api/ApplySearch"

//我的退货
var api_refundListCancel = "/cim/api/ApplyCancel"

var api_ApplyReasonSearch = "/cim/api/ApplyReasonSearch"
//退换货内容添加（图片上传）
var api_ApplyReasonContentsAdd = '/cim/api/ApplyReasonContentsAdd'
var api_ApplyUpdate = '/cim/api/ApplyUpdate'
//check价格
var api_ReturningGoodsPriceCheck = "/cim/api/ReturningGoodsPriceCheck"
var api_ApplyApprovalCheck = "/cim/api/ApplyApprovalCheck"

//退货（换货）确认
var api_ApplyStatusAcquire = "/cim/api/ApplyStatusAcquire"
var api_ApplyCreate = "/cim/api/ApplyCreate"
//满意度(满意度理由)
var api_SatisfactionSearch = "/cim/api/SatisfactionSearch?"
var api_SatisfactionReasonSearch = "/cim/api/SatisfactionReasonSearch?"
var api_SatisfactionInsert = "/cim/api/SatisfactionInsert"
//post
var url_api_delAddressApi = '/api/user/v1/shipToInfo/delete';
var url_api_addAddressApi = '/api/user/v1/shipToInfo/add';
var url_api_updateAddressApi = '/api/user/v1/shipToInfo/update';
var url_api_searchAddressApi = "/api/cn/v1/common/addressGetCmd";

// TODO 收货地址
var url_api_GET_ADDRESS = '/api/user/v1/shipToInfo/search';

// 相似品检索
var upr_api_combo_search = "combo/search";

var api_partNumberSuggestApi = "partNumber/suggest";
var api_partNumberPreviewApi = "partNumberPreview/search";


// 增加消息通知api
var baseUrlAddNoticeStg = 'https://stg-api.misumi.com.cn'
var baseUrlAddNotice = 'https://api.misumi.com.cn'

// stg消息通知增加
var api_vsc_addNotice = '/MisumiApi/api/personalize/v1/userNotification/add.htmls'

// 新增AF权限判断
var api_checkAF = isProduce ? 'customerInfo/checkMobileExist?subsidiaryCode=' + subsidiaryCode + '&applicationId=' + applicationId : 'customerInfo/checkMobileExist?subsidiaryCode=' + subsidiaryCodeStg + '&applicationId=' + applicationIdStg
// 20221102新增ABTest所用api
var ABTestApi_Stg = isProduce ? "https://apihosts.misumi.com.cn/appsearch/app_search" : "https://apihosts-stg.misumi.com.cn/appsearch/app_search"


//================ upr项目api end =====================

//========================api end=======================================

//========================接口通用参数封装================================
//价格带api和通用参数配置
WebUtils.discountApi = function (action, noParam) {
    var api = "";
    if (isProduce) {
        api = disountApi + action;
        if (api.indexOf("?") > 0) {
            api += "&subsidiaryCode=" + subsidiaryCode +
                "&applicationId=" + ECAppIDforAPI;
        } else {
            api += "?subsidiaryCode=" + subsidiaryCode +
                "&applicationId=" + ECAppIDforAPI;
        }
    } else {
        if (devEnvironment == 0) {
            api = disountApiDev + action;
            if (api.indexOf("?") > 0) {
                api += "&subsidiaryCode=" + subsidiaryCodeDev +
                    "&applicationId=" + ECAppIDforAPIDev;
            } else {
                api += "?subsidiaryCode=" + subsidiaryCodeDev +
                    "&applicationId=" + ECAppIDforAPIDev;
            }
        } else {
            api = disountApiStg + action;
            if (api.indexOf("?") > 0) {
                api += "&subsidiaryCode=" + subsidiaryCodeStg +
                    "&applicationId=" + ECAppIDforAPIStg;
            } else {
                api += "?subsidiaryCode=" + subsidiaryCodeStg +
                    "&applicationId=" + ECAppIDforAPIStg;
            }
        }
    }
    //登录信息
    if (!isNull(userInfo) && !isNull(userInfo.sessionId)) {
        if (api.indexOf("?") > 0) {
            api += "&sessionId=" + userInfo.sessionId;
        } else {
            api += "?sessionId=" + userInfo.sessionId;
        }
    }
    return api;
}

//准备agent接口地址
WebUtils.agentSumbitApi = function (action) {
    var api = "";
    if (isProduce) {
        api = agentApi + action;
    } else {
        if (devEnvironment == 0) {
            api = agentApiDev + action;
        } else {
            api = agentApiStg + action;
        }
    }
    if (!isNull(agentUserInfo) && !isNull(agentUserInfo.token)) {
        api += "?token=" + agentUserInfo.token;
    }
    if (api.indexOf("?") > 0) {
        api += "&timeTample=" + Date.parse(new Date());
    } else {
        api += "?timeTample=" + Date.parse(new Date());
    }
    return api;
}


// 删除账号并解绑微信
WebUtils.deleteAccountAndUnBindWeChat = function () {
    var api = "";
    let stgApplicationId = 'wechatapp-stg-001';
    let produceApplicetionId = 'wechatapp-prd-001';
    if (isProduce) {
        api = 'https://wechatec.misumi.com.cn/api/v1/user/app/unbind'
        if (api.indexOf("?") > 0) {
            api += "&subsidiaryCode=" + subsidiaryCode +
                "&applicationId=" + produceApplicetionId;
        } else {
            api += "?subsidiaryCode=" + subsidiaryCode +
                "&applicationId=" + produceApplicetionId;
        }
    } else {
        api = "https://stg-wechatec.misumi.com.cn/api/v1/user/app/unbind"
        if (api.indexOf("?") > 0) {
            api += "&subsidiaryCode=" + subsidiaryCodeStg +
                "&applicationId=" + stgApplicationId;
        } else {
            api += "?subsidiaryCode=" + subsidiaryCodeStg +
                "&applicationId=" + stgApplicationId;
        }
    }
    if (!isNull(userInfo.sessionId)) {
        if (api.indexOf("?") > 0) {
            api += "&sessionId=" + userInfo.sessionId;
        } else {
            api += "?sessionId=" + userInfo.sessionId;
        }
    }
    return api;
}


//统一拦截登录过期code
function checkNeedLoginOut(data) {
    return true
}

function timeOutFun(XHR) {
    if (XHR.statusText == 'timeout') {
        if (myApp) {
            myApp.hideIndicator()
        }
        loadingClass.closeLoading()
        AlertDialog.alert("请求超时，请稍后重试", "提示", '我知道了');
    }
}

WebUtils.ajaxPostSubmitPayload = function (action, data, onSuccess, onError, onComplete, headers = {}) {
    $.ajax({
        url: action,
        data: JSON.stringify(data),
        type: 'POST',
        dataType: 'json',
        contentType: 'application/json;charset=utf-8',
        timeout: '30000',//超时
        headers: headers,
        complete: function (XHR, TS) {
            console.log('xhr', XHR)
            timeOutFun(XHR)
            onComplete(XHR, TS);
        },
        success: function (result) {
            if (checkNeedLoginOut(result)) {
                onSuccess(result);
            }
        },
        error: function (result) {
            if (checkNeedLoginOut(result)) {
                onError(result);
            }
        }
    });
}

//准备新增消息通知接口
WebUtils.addNoticeMsg = function (action) {
    var api = ''
    if (isProduce) {
        api = baseUrlAddNotice + action
    } else {
        api = baseUrlAddNoticeStg + action
    }
    return api
}

//准备App接口地址
WebUtils.preSumitApi = function (action, noParam) {
    var api = "";
    if (isProduce) {
        api = ServerApi + action;
        if (api.indexOf("?") > 0) {
            api += "&subsidiaryCode=" + subsidiaryCode +
                "&applicationId=" + cnmApplicationId;
        } else {
            api += "?subsidiaryCode=" + subsidiaryCode +
                "&applicationId=" + cnmApplicationId;
        }
    } else {
        if (devEnvironment == 0) {
            api = ServerApiDev + action;
            if (api.indexOf("?") > 0) {
                api += "&subsidiaryCode=" + subsidiaryCodeDev +
                    "&applicationId=" + applicationIdDev;
            } else {
                api += "?subsidiaryCode=" + subsidiaryCodeDev +
                    "&applicationId=" + applicationIdDev;
            }
        } else {
            api = ServerApiStg + action;
            if (api.indexOf("?") > 0) {
                api += "&subsidiaryCode=" + subsidiaryCodeStg +
                    "&applicationId=" + cnmApplicationIdStg;
            } else {
                api += "?subsidiaryCode=" + subsidiaryCodeStg +
                    "&applicationId=" + cnmApplicationIdStg;
            }
        }
    }
    if (!isNull(userInfo) && !isNull(userInfo.sessionId)) {
        if (api.indexOf("?") > 0) {
            api += "&sessionId=" + userInfo.sessionId;
        } else {
            api += "?sessionId=" + userInfo.sessionId;
        }
    }
    return api;
}
//准备weChat接口地址
WebUtils.preWechatApi = function (action, noParam) {
    var api = "";
    if (isProduce) {
        api = WechatEcApi + action;
        if (api.indexOf("?") > 0) {
            api += "&subsidiaryCode=" + subsidiaryCode +
                "&applicationId=" + applicationId;
        } else {
            api += "?subsidiaryCode=" + subsidiaryCode +
                "&applicationId=" + applicationId;
        }
    } else {
        if (devEnvironment == 0) {
            api = WechatEcApi + action;
            if (api.indexOf("?") > 0) {
                api += "&subsidiaryCode=" + subsidiaryCodeDev +
                    "&applicationId=" + applicationIdDev;
            } else {
                api += "?subsidiaryCode=" + subsidiaryCodeDev +
                    "&applicationId=" + applicationIdDev;
            }
        } else {
            api = WechatEcApiStg + action;
            if (api.indexOf("?") > 0) {
                api += "&subsidiaryCode=" + subsidiaryCodeStg +
                    "&applicationId=" + applicationIdStg;
            } else {
                api += "?subsidiaryCode=" + subsidiaryCodeStg +
                    "&applicationId=" + applicationIdStg;
            }
        }
    }
    // if(!isNull(userInfo) && !isNull(userInfo.sessionId)) {
    // 	if(api.indexOf("?") > 0) {
    // 		api += "&sessionId=" + userInfo.sessionId;
    // 	} else {
    // 		api += "?sessionId=" + userInfo.sessionId;
    // 	}
    // }
    return api;
}

//准备App接口地址
WebUtils.preSumitApiWithoutHost = function (action) {
    var api = "";
    if (isProduce) {
        api = action;
        if (api.indexOf("?") > 0) {
            api += "&subsidiaryCode=" + subsidiaryCode +
                "&applicationId=" + applicationId;
        } else {
            api += "?subsidiaryCode=" + subsidiaryCode +
                "&applicationId=" + applicationId;
        }
    } else {
        if (devEnvironment == 0) {
            api = action;
            if (api.indexOf("?") > 0) {
                api += "&subsidiaryCode=" + subsidiaryCodeDev +
                    "&applicationId=" + applicationIdDev;
            } else {
                api += "?subsidiaryCode=" + subsidiaryCodeDev +
                    "&applicationId=" + applicationIdDev;
            }
        } else {
            api = action;
            if (api.indexOf("?") > 0) {
                api += "&subsidiaryCode=" + subsidiaryCodeStg +
                    "&applicationId=" + applicationIdStg;
            } else {
                api += "?subsidiaryCode=" + subsidiaryCodeStg +
                    "&applicationId=" + applicationIdStg;
            }
        }
    }
    if (!isNull(userInfo) && !isNull(userInfo.sessionId)) {
        if (api.indexOf("?") > 0) {
            api += "&sessionId=" + userInfo.sessionId;
        } else {
            api += "?sessionId=" + userInfo.sessionId;
        }
    }
    return api;
}

//准备确认绑定微信接口地址
WebUtils.sureBindWeChat = function () {
    var api = "";
    if (isProduce) {
        api = 'https://wechatec.misumi.com.cn/api/v1/user/checkWechatBind'
        if (api.indexOf("?") > 0) {
            api += "&subsidiaryCode=" + subsidiaryCode +
                "&applicationId=" + applicationId;
        } else {
            api += "?subsidiaryCode=" + subsidiaryCode +
                "&applicationId=" + applicationId;
        }
    } else {
        api = 'https://stg-wechatec.misumi.com.cn/api/v1/user/checkWechatBind'
        if (api.indexOf("?") > 0) {
            api += "&subsidiaryCode=" + subsidiaryCodeStg +
                "&applicationId=" + applicationIdStg;
        } else {
            api += "?subsidiaryCode=" + subsidiaryCodeStg +
                "&applicationId=" + applicationIdStg;
        }
    }
    if (!isNull(userInfo) && !isNull(userInfo.sessionId)) {
        if (api.indexOf("?") > 0) {
            api += "&sessionId=" + userInfo.sessionId;
            api += "&userCode=" + userInfo.userCode;
        } else {
            api += "?sessionId=" + userInfo.sessionId;
            api += "?userCode=" + userInfo.userCode;
        }
    }
    return api;
}

//准备EC接口地址
WebUtils.preEcApi = function (action, noParam) {
    // console.log('preEcApi', userInfo)
    var api = "";
    if (isProduce) {
        api = ECApiUrl + action;
        if (noParam) {

        } else {
            if (api.indexOf("?") > 0) {
                api += "&lang=" + subsidiaryCode +
                    "&applicationId=" + ECAppIDforAPI;
            } else {
                api += "?lang=" + subsidiaryCode +
                    "&applicationId=" + ECAppIDforAPI;
            }
        }
    } else {
        if (devEnvironment == 0) {
            api = ECApiUrlDev + action;
            if (noParam) {

            } else {
                if (api.indexOf("?") > 0) {
                    api += "&lang=" + subsidiaryCodeDev +
                        "&applicationId=" + ECAppIDforAPIDev;
                } else {
                    api += "?lang=" + subsidiaryCodeDev +
                        "&applicationId=" + ECAppIDforAPIDev;
                }
            }
        } else {
            api = ECApiUrlStg + action;
            if (noParam) {

            } else {
                if (api.indexOf("?") > 0) {
                    api += "&lang=" + subsidiaryCodeStg +
                        "&applicationId=" + ECAppIDforAPIStg;
                } else {
                    api += "?lang=" + subsidiaryCodeStg +
                        "&applicationId=" + ECAppIDforAPIStg;
                }
            }
        }
    }
    if (noParam) {

    } else {
        if (!isNull(userInfo) && !isNull(userInfo.sessionId)) {
            if (api.indexOf("?") > 0) {
                api += "&sessionId=" + userInfo.sessionId;
            } else {
                api += "?sessionId=" + userInfo.sessionId;
            }
        }
    }
    return api;
}

WebUtils.preArmsApi = function (action) {
    return (isProduce ? armsApi : armsApiStg) + action;
}

WebUtils.preRainBowApi = function (action) {
    var api = "";
    if (isProduce) {
        api = armsApi + action;
        if (api.indexOf("?") > 0) {
            api += "&applicationId=" + uprApplicationId;
        } else {
            api += "?applicationId=" + uprApplicationId;
        }
    } else {
        api = armsApiStg + action;
        if (api.indexOf("?") > 0) {
            api += "&applicationId=" + uprApplicationIdStg;
        } else {
            api += "?applicationId=" + uprApplicationIdStg;
        }
    }
    if (!isNull(userInfo) && !isNull(userInfo.sessionId)) {
        if (api.indexOf("?") > 0) {
            api += "&sessionId=" + userInfo.sessionId;
        } else {
            api += "?sessionId=" + userInfo.sessionId;
        }
    }
    return api;
}

WebUtils.preEcCustomerInfoApi = function (action, noParam) {
    var api = "";
    if (isProduce) {
        api = ECUserApiUrl + action;
        if (noParam) {

        } else {
            if (api.indexOf("?") > 0) {
                api += "&lang=" + subsidiaryCode +
                    "&applicationId=" + ECAppIDforAPI;
            } else {
                api += "?lang=" + subsidiaryCode +
                    "&applicationId=" + ECAppIDforAPI;
            }
        }
    } else {
        if (devEnvironment == 0) {
            api = ECUserApiUrl + action;
            if (noParam) {

            } else {
                if (api.indexOf("?") > 0) {
                    api += "&lang=" + subsidiaryCodeDev +
                        "&applicationId=" + ECAppIDforAPI;
                } else {
                    api += "?lang=" + subsidiaryCodeDev +
                        "&applicationId=" + ECAppIDforAPI;
                }
            }
        } else {
            api = ECUserApiUrlStg + action;
            if (noParam) {

            } else {
                if (api.indexOf("?") > 0) {
                    api += "&lang=" + subsidiaryCodeStg +
                        "&applicationId=" + ECAppIDforAPIStg;
                } else {
                    api += "?lang=" + subsidiaryCodeStg +
                        "&applicationId=" + ECAppIDforAPIStg;
                }
            }
        }
    }
    if (noParam) {

    } else {
        if (!isNull(userInfo) && !isNull(userInfo.sessionId)) {
            if (api.indexOf("?") > 0) {
                api += "&sessionId=" + userInfo.sessionId;
            } else {
                api += "?sessionId=" + userInfo.sessionId;
            }
        }
    }
    return api;
}


/**
 * 为调用与pc一致的接口，做参数准备
 * @param action 接口地址
 * @param noSession // 是否要传session
 * @param suppressResponseCode // 是否要传suppressResponseCode
 * @param urlFlag // 是否要传suppressResponseCode
 * @returns {string}
 */
WebUtils.preReferPCApiParam = function (action, noSession, suppressResponse = false, urlFlag = false) {
    var api = "",
        baseUrl = "";

    var query = {};

    if (isProduce) {
        baseUrl = prodEnvApiBaseUrl;
        query.applicationId = uprApplicationId;
    } else {
        baseUrl = testEnvApiBaseUrl;
        query.applicationId = uprApplicationIdStg;
    }

    if (!noSession && !isNull(userInfo) && !isNull(userInfo.sessionId)) {
        query.sessionId = userInfo.sessionId;
    }
    if (urlFlag) {
        if (isProduce) {
            baseUrl = upApiStg1_dev
        } else {
            baseUrl = upApiStg1_ecf
        }
    }
    if (suppressResponse) {
        query.suppressResponseCode = true
    }

    query = Object.keys(query).map(function (key) {
        return key + "=" + query[key];
    }).join("&");

    api += baseUrl + action;
    var connectors = api.indexOf("?") > 0 ? "&" : "?";
    api += connectors + query;

    return api;
};

//准备目录申请接口地址
WebUtils.preCatalogApi = function (action) {
    var api = "";
    if (isProduce) {
        api = CatalogApi + action;
        if (api.indexOf("?") > 0) {
        } else {
            api += "?1=1";
        }
    } else {
        if (devEnvironment == 0) {
            api = CatalogApiDev + action;
            if (api.indexOf("?") > 0) {
            } else {
                api += "?1=1";
            }
        } else {
            api = CatalogApiStg + action;
            if (api.indexOf("?") > 0) {
            } else {
                api += "?1=1";
            }
        }
    }
    return api;
}

//准备app后台控制接口
WebUtils.preWebUrlApi = function (action, noParam) {
    var api = "";
    if (isProduce) {
        api = WebUrlApi + action;
        if (api.indexOf("?") > 0) {
            api += "&subsidiaryCode=" + subsidiaryCode +
                "&applicationId=" + applicationId;
        } else {
            api += "?subsidiaryCode=" + subsidiaryCode +
                "&applicationId=" + applicationId;
        }
    } else {
        if (devEnvironment == 0) {
            api = WebUrlApiDev + action;
            if (api.indexOf("?") > 0) {
                api += "&subsidiaryCode=" + subsidiaryCodeDev +
                    "&applicationId=" + applicationIdDev;
            } else {
                api += "?subsidiaryCode=" + subsidiaryCodeDev +
                    "&applicationId=" + applicationIdDev;
            }
        } else {
            api = WebUrlApiStg + action;
            if (api.indexOf("?") > 0) {
                api += "&subsidiaryCode=" + subsidiaryCodeStg +
                    "&applicationId=" + applicationIdStg;
            } else {
                api += "?subsidiaryCode=" + subsidiaryCodeStg +
                    "&applicationId=" + applicationIdStg;
            }
        }
    }
    return api;
}


WebUtils.preWebUrlApiWithOutParam = function (action) {
    var api = "";
    if (isProduce) {
        api = WebUrlApi + action;
    } else {
        if (devEnvironment == 0) {
            api = WebUrlApiDev + action;
        } else {
            api = WebUrlApiStg + action;
        }
    }
    return api;
}
//========================接口通用参数封装 end================================


//评价模块开始
//post请求，参数为json格式【评价接口修改Header数据】
WebUtils.ajaxApiHostPostSubmitJson = function (action, data, onSuccess, onError, onComplete) {
    var hearsKey = "";
    if (isProduce) {
        hearsKey = xApiKeyProHeader;
    } else {
        hearsKey = xApiKeyHeader;
    }
    $.ajax({
        url: action,
        //data: unEscapeHTML(data),
        type: 'post',
        dataType: 'json',
        data: unEscapeHTML(data),
        contentType: "application/json; charset=UTF-8",
        timeout: 30000,
        headers: {
            "x-api-key": hearsKey
        },
        complete: function (XHR, TS) {
            onComplete(XHR, TS);
        },
        success: function (result) {
            onSuccess(result);
        },
        error: function (result) {
            onError(result);
        }
    });
}

//get请求
WebUtils.ajaxApiHostGetSubmit = function (action, data, onSuccess, onError, onComplete) {
    var data = JSON.parse(unEscapeHTML(JSON.stringify(data)))
    var hearsKey = "";
    if (isProduce) {
        hearsKey = xApiKeyProHeader;
    } else {
        hearsKey = xApiKeyHeader;
    }
    $.ajax({
        url: action,
        type: 'GET',
        dataType: 'json',
        cashe: false,
        data: data,
        headers: {
            "x-api-key": hearsKey
        },
        complete: function (XHR, TS) {
            onComplete(XHR, TS);
        },
        success: function (result) {
            onSuccess(result);
        },
        error: function (result) {
            onError(result);
        }
    });
}


//评价模块APi列表/Header参数
var xApiKeyHeader = "uqKz8jthzZ9O1Kws2iQ6D39e3YF685rwOyaqxYPa";
var xApiKeyProHeader = "CHjIHFD82g54eWKbqRscG5u0jvXFxQ1U2Nu40No2";
//评价API地址
var evalUrlStg = 'https://apihosts-stg.misumi.com.cn/Review/' //评价stg地址
var evalUrl = 'https://apihosts.misumi.com.cn/Review/' // 评价正式地址
//获取某用户的已评价列表[sessionId]
var getUserReviewList = "getUserReviewList";
//获取某个series的已评论列表[seriesCd]
var getSeriesReviewList = "getSeriesReviewList";
//获取某个series的已评论件数[seriesCd]
var getSeriesReviewCount = "getSeriesReviewCount";
//获取某个series的评价星星/评分[seriesCd]
var getReviewStars = "getReviewStars";
//点赞/取消点赞
var submitLikeUnlike = "submitLikeUnlike";
//是否可以提交评论check
var submitReviewCheck = "submitReviewCheck";
//阿里云审核内容
var submitReviewaliyunCheck = "ali/api/scan/text.htmls";
//确认某用户是否为白名单测试用户
var submitWhiteListCheck = "submitWhiteListCheck";
//提交评价
var submitReview = "submitReview";
//是否可以举报check
var submitComplaintCheck = "submitComplaintCheck";
//举报
var submitComplaint = "submitComplaint"
//是否可以提交评论check
var submitReviewCheck = "submitReviewCheck";
//获取点赞状态
var getLikeStatus = "getLikeStatus";
//获取待评价订单一览
var getUnReviewedOrderList = "getUnReviewedOrderList";
//获取待评价订单件数
var getUnReviewedOrderCount = "getUnReviewedOrderCount";
//获取分类评价数
var getCategoryReviewCount = "getCategoryReviewCount"
//生成评论分享URL
var getReviewShareKey = "getReviewShareKey";
//获取分享的评价
var getSharedReviewInfo = "getSharedReviewInfo";
//点赞分享的评价
var submitSharedReviewLike = "submitSharedReviewLike";

//评价封装
WebUtils.evaluationAPI = function (action) {
    var api = "";
    if (isProduce) {
        api = evalUrl + action;
        //api = evalUrlStg + action;
    } else {
        api = evalUrlStg + action;
    }
    return api;
}
// 评价模块结束

// 分词seo
var xApiSeoHeaderStg = "bYLkzu7FU432Mw2XubuFL571GJwnchJr3aPdZxcy";
var xApiSeoHeaderPro = "zoLggKKTuB9yOR1tUDFc87xuc8RiOubA3N1ICpbI";
//分词seoAPI地址
var seoUrlStg = 'https://apihosts-stg.misumi.com.cn/Campaign/Seo/getUrlsByKeyword' //seo分词stg地址
var seoUrlPro = 'https://apihosts.misumi.com.cn/Campaign/Seo/getUrlsByKeyword' // seo分词pro地址

// 个人信息中国保存
var saveChinaUrlStg = 'https://apihosts-stg.misumi.com.cn/Customer/'
var saveChinaUrl = 'https://apihosts.misumi.com.cn/Customer/'
var saveChinaKeyStg = 'ss4rwqteBA2rK5vXZVbZQ80cdRJh3e7B5o7xu1I5'
var saveChinaKey = 'z7egOF19hr9DUxsvyGhkO69qMuCa2O8Y796BuksP'
// userinfo
var saveChinaSubmitUserInfo = 'submitUserInfo'
// customerinfo
var saveChinaSubmitCustInfo = 'submitCustInfo'
// DeliveryAddressInfo
var saveChinaSubmitDeliveryAddressInfo = 'submitDeliveryAddressInfo'
//个人信息中国保存封装
WebUtils.saveChinaAPI = function (action) {
    var api = "";
    if (isProduce) {
        api = saveChinaUrl + action;
    } else {
        api = saveChinaUrlStg + action;
    }
    return api;
}

// 浏览历史
var seriesHistoryUrl = '/api/personalize/v1/seriesHistory/searchTop'
var seriesHistoryAdd = '/api/personalize/v1/seriesHistory/add'

// recommend接口替换
var recommendUrlStg = 'https://apihosts-stg.misumi.com.cn/aidata/ec_recomd_series'
var recommendUrlPro = 'https://apihosts.misumi.com.cn/aidata/ec_recomd_series'
// cad记录
var cadHistoryAdd = '/api/personalize/v1/cadHistory/add'


//========================ajax请求封装===========================================
// 个人信息中国保存
WebUtils.ajaxApiSaveChinaSubmitJson = function (action, data, onSuccess, onError, onComplete) {
    console.log("ajaxApiSaveChinaSubmitJson:" + "url=" + action + ";data=" + data);
    var hearsSaveChinaKey = "";
    if (isProduce) {
        hearsSaveChinaKey = saveChinaKey;
    } else {
        hearsSaveChinaKey = saveChinaKeyStg;
    }
    $.ajax({
        url: action,
        type: 'post',
        data: JSON.stringify(data),
        contentType: "application/json; charset=UTF-8",
        // timeout: 1000,
        headers: {
            "x-api-key": hearsSaveChinaKey
        },
        complete: function (XHR, TS) {
            onComplete(XHR, TS);
        },
        success: function (result) {
            onSuccess(result);
        },
        error: function (result) {
            onError(result);
        }
    });
}
//post请求封装
WebUtils.ajaxPostSubmit = function (action, data, onSuccess, onError, onComplete) {
    console.log("ajaxPostSubmit:" + "url=" + action + ";data=" + data);
    let whiteUrlList = ['api.cn.misumi.com.cn']
    let whiteUrlFlag = whiteUrlList.filter(ele => {
        return action.indexOf(ele) > -1
    })
    if (sessionStorage.getItem('routeFlag') == '微信小程序') {
        whiteUrlFlag = []
    }
    $.ajax({
        url: action,
        data: data,
        type: 'POST',
        dataType: 'json',
        xhrFields: {
            withCredentials: whiteUrlFlag.length > 0
        },
        complete: function (XHR, TS) {
            if (onComplete && typeof onComplete == 'function') {
                onComplete(XHR, TS);
            }

        },
        success: function (result) {
            if (checkNeedLoginOut(result)) {
                onSuccess(result);
            }
        },
        error: function (result) {
            if (checkNeedLoginOut(result)) {
                onError(result);
            }
        }
    });
}
// 分享post请求
WebUtils.ajaxPostShare = function (action, data, onSuccess, onError, onComplete) {
    console.log("ajaxPostSubmit:" + "url=" + action + ";data=" + data);
    $.ajax({
        url: action + '?key=' + data.key + '&sessionId=' + userInfo.sessionId,
        headers: {
            "x-api-key": isProduce ? RecommendKey : RecommendKeyStg
        },
        type: 'POST',
        dataType: 'json',
        contentType: "application/json",
        complete: function (XHR, TS) {
            var result = XHR.responseJSON
            if (typeof (result) != 'undefined' && result) {
                result = String(result)
                //判断是否包含errorList 并且包含API000208
                if (result.indexOf('errorList') > -1 && result.indexOf('API000208 ') > -1) {
                    if (myApp) {
                        openErrorTipsModal()
                    } else {
                        AlertDialog.ask("登录过期，请重新登录", "", "我知道了", "", "",
                            function () {
                                logout()
                            });
                    }
                }
            }
            onComplete(XHR, TS);
        },
        success: function (result) {
            if (checkNeedLoginOut(result)) {
                onSuccess(result);
            }

        },
        error: function (result) {
            if (checkNeedLoginOut(result)) {
                onError(result);
            }

        }
    });

}

//
//post请求json参数格式
WebUtils.ajaxPostSubmitJson = function (action, data, onSuccess, onError, onComplete, headers = {}, timeout = "") {
    console.log("ajaxPostSubmit:" + "url=" + action + ";data=" + data);
    let whiteUrlList = ['api.cn.misumi.com.cn']
    let whiteUrlFlag = whiteUrlList.filter(ele => {
        return action.indexOf(ele) > -1
    })
    if (sessionStorage.getItem('routeFlag') == '微信小程序') {
        whiteUrlFlag = []
    }
    $.ajax({
        url: action,
        data: data,
        type: 'POST',
        dataType: 'json',
        contentType: "application/json",
        headers: headers,
        xhrFields: {
            withCredentials: whiteUrlFlag.length > 0
        },
        timeout: timeout,
        complete: function (XHR, TS) {
            if (onComplete && typeof onComplete == 'function') {
                var result = XHR.responseJSON
                onComplete(XHR, TS);
            }
        },
        success: function (result) {
            if (checkNeedLoginOut(result)) {
                onSuccess(result);
            }

        },
        error: function (result) {
            if (checkNeedLoginOut(result)) {
                onError(result);
            }

        }
    });

}

WebUtils.ajaxPostSubmitFormData = function (action, data, onSuccess, onError, onComplete) {
    console.log("ajaxPostSubmit:" + "url=" + action + ";data=" + data);
    $.ajax({
        url: action,
        data: data,
        type: 'POST',
        contentType: false,
        processData: false,
        xhr: function () {
            var myXhr = $.ajaxSettings.xhr();          //获取ajaxSettings中的xhr对象，为它的upload属性绑定progress事件的处理函数
            if (myXhr.upload) {            //绑定progress事件的回调函数
                myXhr.upload.addEventListener('progress', onComplete, false);
            }    //xhr对象返回给jQuery使用
            return myXhr;
        },
        // complete: function(XHR, TS) {
        //     onComplete(XHR, TS);
        // },
        success: function (result) {
            if (checkNeedLoginOut(result)) {
                onSuccess(result);
            }
        },
        error: function (result) {
            if (checkNeedLoginOut(result)) {
                onError(result);
            }
        }
    });
}

//get请求
WebUtils.ajaxGetSubmit = function (action, data, onSuccess, onError, onComplete, headers = {}, timeout = "") {
    let whiteUrlList = ['api.cn.misumi.com.cn']
    let whiteUrlFlag = whiteUrlList.filter(ele => {
        return action.indexOf(ele) > -1
    })
    if (sessionStorage.getItem('routeFlag') == '微信小程序') {
        whiteUrlFlag = []
    }
    if (data != undefined && data != "") {
        var params = "";
        for (key in data) {
            params += "&" + key + "=" + data[key];
        }
        action += params;
    }
    console.log("ajaxGetSubmit:" + "url=" + action);
    $.ajax({
        url: action,
        type: 'GET',
        dataType: 'json',
        headers: headers,
        timeout: timeout,
        xhrFields: {
            withCredentials: whiteUrlFlag.length > 0
        },
        complete: function (XHR, TS) {
            if (onComplete && typeof onComplete == 'function') {
                onComplete(XHR, TS);
            }
        },
        success: function (result) {
            if (checkNeedLoginOut(result)) {
                onSuccess(result);
            }
        },
        error: function (result) {
            if (checkNeedLoginOut(result)) {
                onError(result);
            }
        }
    });
}
//seoget请求
WebUtils.ajaxGetSeoSubmit = function (action, data, onSuccess, onError, onComplete) {
    if (data != undefined && data != "") {
        var params = "";
        for (key in data) {
            params += "&" + key + "=" + data[key];
        }
        action += params;
    }
    $.ajax({
        url: action,
        type: 'GET',
        headers: {
            "x-api-key": isProduce ? xApiSeoHeaderPro : xApiSeoHeaderStg
        },
        dataType: 'json',
        complete: function (XHR, TS) {
            if (onComplete && typeof onComplete == 'function') {
                onComplete(XHR, TS);
            }
        },
        success: function (result) {
            if (checkNeedLoginOut(result)) {
                onSuccess(result);
            }
        },
        error: function (result) {
            if (checkNeedLoginOut(result)) {
                onError(result);
            }
        }
    });
}

//put请求封装
WebUtils.ajaxPutSubmit = function (action, data, onSuccess, onError, onComplete) {
    console.log("ajaxPostSubmit:" + "url=" + action + ";data=" + data);
    $.ajax({
        url: action,
        data: data,
        type: 'PUT',
        dataType: 'json',
        complete: function (XHR, TS) {
            onComplete(XHR, TS);
        },
        success: function (result) {
            if (checkNeedLoginOut(result)) {
                onSuccess(result);
            }
        },
        error: function (result) {
            if (checkNeedLoginOut(result)) {
                onError(result);
            }
        }
    });
}

//客服
WebUtils.serviceForApi = function (action) {
    var api = "";
    if (isProduce) {
        api = armsApi + action;
    } else {
        api = armsApiStg + action;
    }
    return api;

}

//为第三弹开发准备stg1接口地址
WebUtils.prestg1Api = function (action, suppressResponse = false, urlFlag = false) {
    var api = "";
    if (isProduce) {
        if (urlFlag) {
            api = upApiStg1_dev + action;
        } else {
            api = upApidev + action;
        }
        if (api.indexOf("?") > 0) {
            api += "&applicationId=" + ECAppIDforAPI;
        } else {
            api += "?applicationId=" + ECAppIDforAPI;
        }
    } else {
        if (urlFlag) {
            api = upApiStg1_ecf + action;
        } else {
            api = upApiStg1 + action;
        }
        if (api.indexOf("?") > 0) {
            api += "&applicationId=" + ECAppIDforAPIStg;
        } else {
            api += "?applicationId=" + ECAppIDforAPIStg;
        }
    }
    if (!isNull(userInfo) && !isNull(userInfo.sessionId)) {
        if (api.indexOf("?") > 0) {
            api += "&sessionId=" + userInfo.sessionId;
        } else {
            api += "?sessionId=" + userInfo.sessionId;
        }
    }
    if (suppressResponse) {
        if (api.indexOf("?") > 0) {
            api += "&suppressResponseCode=true";
        } else {
            api += "?suppressResponseCode=true";
        }
    }
    return api;
}
//二次包装接口
WebUtils.checkHundsCode = function (action, noSessionId = false) {
    var api = "";
    if (isProduce) {
        api = WebUrlApi + action;
        if (api.indexOf("?") > 0) {
            if (noSessionId) {
                api += "applicationId=" + ECAppIDforAPI;
            } else {
                api += "sessionId=" + userInfo.sessionId + "&applicationId=" + ECAppIDforAPI;
            }

        } else {
            if (noSessionId) {
                api += "?applicationId=" + ECAppIDforAPI;
            } else {
                api += "?sessionId=" + userInfo.sessionId + "&applicationId=" + ECAppIDforAPI;
            }


        }
    } else {
        api = WebUrlApiStg + action;
        if (api.indexOf("?") > 0) {
            if (noSessionId) {
                api += "applicationId=" + ECAppIDforAPIStg;
            } else {
                api += "sessionId=" + userInfo.sessionId + "&applicationId=" + ECAppIDforAPIStg;
            }
        } else {
            if (noSessionId) {
                api += "?applicationId=" + ECAppIDforAPIStg;
            } else {
                api += "?sessionId=" + userInfo.sessionId + "&applicationId=" + ECAppIDforAPIStg;
            }


        }
    }
    return api;
}
// 签到
var activityId = '6'
WebUtils.getSignCountAPI = function (action) {
    var api = "";
    if (isProduce) {
        api = WebUrlApi + action;
        if (!isNull(userInfo) && !isNull(userInfo.sessionId)) {
            if (api.indexOf("?") > 0) {
                api += "&sessionId=" + userInfo.sessionId + "&activityId=" + activityId
            } else {
                api += "?sessionId=" + userInfo.sessionId + "&activityId=" + activityId
            }
        }
    } else {
        api = WebUrlApiStg + action;
        if (!isNull(userInfo) && !isNull(userInfo.sessionId)) {
            if (api.indexOf("?") > 0) {
                api += "&sessionId=" + userInfo.sessionId + "&activityId=" + activityId
            } else {
                api += "?sessionId=" + userInfo.sessionId + "&activityId=" + activityId
            }
        }
    }
    return api;
}

WebUtils.activityUrl = function () {
    var api = "";
    if (isProduce) {
        api = WebUrlApi
    } else {
        api = WebUrlApiStg
    }
    return api;
}

WebUtils.apiHost = function () {
    var api = "";
    if (isProduce) {
        api = apiHost
    } else {
        api = apiHostStg
    }
    return api;
}

WebUtils.prestg1_ecfApi2 = function (action) {
    var api = "";
    if (isProduce) {
        api = upApiStg1_dev + action;
        if (api.indexOf("?") > 0) {
            api += "&applicationId=" + ECAppIDforAPI;
        } else {
            api += "?applicationId=" + ECAppIDforAPI;
        }
    } else {
        api = upApiStg1_ecf + action;
        if (api.indexOf("?") > 0) {
            api += "&applicationId=" + ECAppIDforAPIStg;
        } else {
            api += "?applicationId=" + ECAppIDforAPIStg;
        }
    }
    if (!isNull(userInfo) && !isNull(userInfo.sessionId)) {
        if (api.indexOf("?") > 0) {
            api += "&sessionId=" + userInfo.sessionId;
        } else {
            api += "?sessionId=" + userInfo.sessionId;
        }
    }
    return api;
}

//TODO 收货地址
WebUtils.authPCApiParam = function (action, noSession) {
    var api = "",
        baseUrl = "";

    var query = {};

    if (isProduce) {
        baseUrl = addressAuthHost;
        query.applicationId = uprApplicationId;
    } else {
        baseUrl = addressAuthHostStg;
        query.applicationId = uprApplicationIdStg;
    }

    if (!noSession && !isNull(userInfo) && !isNull(userInfo.sessionId)) {
        query.sessionId = userInfo.sessionId;
    }

    query = Object.keys(query).map(function (key) {
        return key + "=" + query[key];
    }).join("&");

    api += baseUrl + action;
    var connectors = api.indexOf("?") > 0 ? "&" : "?";
    api += connectors + query;

    return api;
};

function showLoginDialog(query, returnUrl) {
    loginObj.showLoginDialog(query, returnUrl);
}

//替换指定传入参数的值,paramName为参数,replaceWith为新值
function replaceParamVal(url, paramName, replaceWith) {
    var re = eval('/(' + paramName + '=)([^&]*)/gi');
    var nUrl = url.replace(re, paramName + '=' + replaceWith);
    return nUrl;
}

// 获取ajax的返回值
WebUtils.getErrorRes = function (error) {
    if (!error) return error;
    return error.responseJSON || msmParseJSON(error.responseText);
}

//========================ajax请求封装 end=======================================
//技术之窗地址区分
WebUtils.indexGotoTechnology = function () {
    var technologyUrl = '';
    if (isProduce) {
        technologyUrl = "https://techinfo.misumi.com.cn";
    } else {
        technologyUrl = "https://techinfo-stg.misumi.com.cn";
    }
    return technologyUrl
}

// formData格式提交
WebUtils.ajaxPostFromData = function (action, header, data, onSuccess, onError) {
    let whiteUrlList = ['api.cn.misumi.com.cn']
    let whiteUrlFlag = whiteUrlList.filter(ele => {
        return action.indexOf(ele) > -1
    })
    if (sessionStorage.getItem('routeFlag') == '微信小程序') {
        whiteUrlFlag = []
    }
    $.ajax({
        url: action,
        data: data,
        type: 'POST',
        processData: false,
        xhrFields: {
            withCredentials: whiteUrlFlag.length > 0
        },
        contentType: false,
        headers: header,
        // complete: function(XHR, TS) {
        //     onComplete(XHR, TS);
        // },
        success: function (result) {
            onSuccess(result);
        },
        error: function (result) {
            onError(result);
        }
    });
}
