{"version":3,"sources":["webpack:///./src/basic/global-mixins/tool.js","webpack:///./src/basic/global-mixins/cdn-origin.js","webpack:///./src/basic/global-mixins/new-version.js","webpack:///./src/basic/global-mixins/request-origin.js","webpack:///./src/basic/global-mixins/price.js","webpack:///./src/components/login/ad-products/ad-products.vue?21e5","webpack:///./src/static/images/icon/login-icon/meituan.png","webpack:///./src/static/images/icon/login-icon/DIN-Bold.otf","webpack:///./src/components/login/new-footer/new-footer.vue?bd94","webpack:///./src/pagelets/login.vue?9f23","webpack:///./src/static/images/icon/login-icon/lesson_path_1.svg","webpack:///./src/basic/boot/log2.js","webpack:///./src/static/images/icon/login-icon/help_center_effect_optimization.svg","webpack:///./src/components/login/new-footer/new-footer.vue?fd2c","webpack:///./src/static/images/icon/login-icon/lesson_path_3.svg","webpack:///./src/static/images/icon/login-icon/help_more.svg","webpack:///./src/components/login/carousel-map/carousel-map.vue?7387","webpack:///./src/basic/new-boot/index.js","webpack:///./src/components/login/carousel-map/carousel-map.vue?a028","webpack:///./src/pagelets/login.vue?737f","webpack:///./src/util/regs.js","webpack:///./src/static/images/jinggongwang.png","webpack:///./src/static/images/icon/login-icon/help_center_start.svg","webpack:///./src/components/login/success-cases/success-cases.vue?d872","webpack:///./src/components/login/success-cases/success-cases.vue?6eec","webpack:///./src/components/login/courses/courses.vue?fb5e","webpack:///./src/components/login/carousel-map/carousel-map.vue?270f","webpack:///./src/util/tool.js","webpack:///./src/util/json.js","webpack:///./src/static/images/icon/login-icon/lesson_path_4.svg","webpack:///./src/basic/style.scss?3deb","webpack:///./src/components/login/success-cases/success-cases.vue?a6a4","webpack:///./src/components/login/ad-lessons/ad-lessons.vue?62d7","webpack:///./src/components/login/auto-slider-bar/auto-slider-bar.vue?8894","webpack:///./src/components/login/auto-slider-bar/auto-slider-bar.js","webpack:///./src/components/login/auto-slider-bar/auto-slider-bar.vue","webpack:///./src/components/login/auto-slider-bar/auto-slider-bar.vue?1ab2","webpack:///src/components/login/carousel-map/carousel-map.vue","webpack:///./src/components/login/carousel-map/carousel-map.vue?54a2","webpack:///./src/components/login/carousel-map/carousel-map.vue","webpack:///./src/components/login/carousel-map/carousel-map.vue?8cdb","webpack:///./src/components/login/ad-lessons/ad-lessons.vue?0292","webpack:///src/components/login/ad-lessons/ad-lessons.vue","webpack:///./src/components/login/ad-lessons/ad-lessons.vue","webpack:///./src/components/login/ad-lessons/ad-lessons.vue?ca96","webpack:///./src/components/login/ad-products/ad-products.vue?2707","webpack:///src/components/login/ad-products/ad-products.vue","webpack:///./src/components/login/ad-products/ad-products.vue","webpack:///./src/components/login/ad-products/ad-products.vue?2c73","webpack:///./src/components/login/help-center/help-center.vue?1cc1","webpack:///src/components/login/help-center/help-center.vue","webpack:///./src/components/login/help-center/help-center.vue","webpack:///./src/components/login/help-center/help-center.vue?73ac","webpack:///./src/components/login/courses/courses.vue?f743","webpack:///src/components/login/courses/courses.vue","webpack:///./src/components/login/courses/courses.vue","webpack:///./src/components/login/courses/courses.vue?c706","webpack:///./src/components/login/success-cases/success-cases.vue?b2ad","webpack:///src/components/login/success-cases/success-cases.vue","webpack:///./src/components/login/success-cases/success-cases.vue","webpack:///./src/components/login/success-cases/success-cases.vue?82d0","webpack:///./src/pagelets/login.vue?7a89","webpack:///src/pagelets/login.vue","webpack:///./src/pagelets/login.vue","webpack:///./src/pagelets/login.vue?14a6","webpack:///./src/pages/login.js","webpack:///./src/basic/style.scss","webpack:///./src/util/url.js","webpack:///./src/pagelets/login.vue?6d87","webpack:///./src/components/login/courses/courses.vue?3c95","webpack:///./src/components/login/new-footer/new-footer.vue?47b0","webpack:///./src/static/images/icon/login-icon/help_center_audit_related.svg","webpack:///./src/basic/boot/getDeviceId.js","webpack:///./src/static/images/icon/login-icon/luhu.svg","webpack:///./src/static/images/icon/login-icon/MK.png","webpack:///./src/basic/boot/slardar.js","webpack:///./src/components/login/ad-lessons/ad-lessons.vue?e568","webpack:///./src/static/images/icon/login-icon/help_center_create_ad.svg","webpack:///./src/basic/boot/event.js","webpack:///./src/basic/boot/log-tea.js","webpack:///./src/static/images/icon/login-icon/help-center-platform-intro.svg","webpack:///./src/components/login/ad-lessons/ad-lessons.vue?8852","webpack:///./src/components/login/auto-slider-bar/auto-slider-bar.vue?0547","webpack:///./src/components/login/auto-slider-bar/auto-slider-bar.vue?518e","webpack:///./src/static/images/icon/login-icon/meituan.svg","webpack:///./src/util/imc.js","webpack:///./src/static/images/icon/login-icon/help_center_traffic_realisation.svg","webpack:///./src/components/login/ad-products/ad-products.vue?a53d","webpack:///./src/components/login/help-center/help-center.vue?4144","webpack:///./src/components/login/ad-products/ad-products.vue?6876","webpack:///./src/static/images/icon/login-icon/help_more_hover.svg","webpack:///./src/static/images/icon/login-icon/luhu.png","webpack:///./src/components/login/help-center/help-center.vue?52c9","webpack:///./src/static/images/icon/login-icon/help_center_common_question.svg","webpack:///./src/static/images/icon/login-icon/lesson_path_2.svg","webpack:///./src/components/login/help-center/help-center.vue?5185","webpack:///./src/static/images/icon/login-icon/help_center_effect_evaluation.svg","webpack:///./src/components/login/auto-slider-bar/auto-slider-bar.vue?1b83","webpack:///./src/components/login/new-footer/new-footer.vue?330c","webpack:///./src/components/login/new-footer/new-footer.vue?ffdf","webpack:///src/components/login/new-footer/new-footer.vue","webpack:///./src/components/login/new-footer/new-footer.vue","webpack:///./src/components/login/courses/courses.vue?5005","webpack:///./src/util/request-signature.js","webpack:///./src/basic/boot/ajax.js","webpack:///./src/static/images/icon/login-icon/MK.svg"],"names":["getConf","prefix","path","defaultValue","safetyGet","window","registerFactory","obj","Object","keys","forEach","e","name","param","isBoe","location","host","includes","getOrigin","p","d","Tool","getSrc","domain","uri","ttpstatpImgOrigin","byteImgOrigin","sPstatpImgOrigin","pPstatpImgOrigin","imageUrl","ttpstatpVideoOrigin","ttpstatpJsOrigin","pstatpJsOrigin","pstatpCssOrigin","dypstatpObjOrigin","imchscdnOrigin","SOURCE_DOMAIN","IMG_OTHER","sp","pp","GET_IMG_TT_SRC","GET_IMG_BYTE_SRC","GET_JS_TT_SRC","GET_CREATIVE_MATERIAL","realOrigin","realUri","indexOf","document","protocol","GET_CREATIVE_OPT_MATERIAL","GET_JS_SRC","GET_CSS_SRC","GET_VIDEO_SRC","GET_OBJ_DYCDN_TOS","GET_IMC_SRC","Vue","mixin","data","methods","globalVar","tool","globalConf","adsBlackVersion","isSupported","adver_func","promote_blacklist","isEcAdvertiser","catchableParse","isOrangeValid","orange_valid_exempt_config","isOrangeLimit","orangeConfig","orange_valid_config","switch_orange_valid","isInnerAdvExempt","inner_adv_exempt","advertiserRole","adsNewVersion","newVersionLangingType","3","1","10","9","7","5","6","8","newCampaignVersionLangingType","skanMaxAdCount","ios_skan","maxAdCount","isJudgeToNewVersion","adInfo","sceneType","this","landing_type","inventory_catalog","marketing_scene","download_type","isJudgeSkan","info","campaign_dedicate_type","dedicate_type","isJudgeSkanLimit","campaignId","maxAd","Promise","resolve","reject","BUI","fetch","url","campaign_id","success","resp","overLimit","code","count","getDomain","ADOE_ORIGIN","ADTT_ORIGIN","H5OE_ORIGIN","CC_ORIGIN","ADMIN_ORIGIN","BPADMIN_ORIGIN","CLUE_ORIGIN","ORANGE_ORIGIN","TETRIS_ORIGIN","VIDEO_UPLOAD_ORIGIN","VIDEO_UPLOAD_LOG_ORIGIN","VOD_ORIGIN","rounding","number","fractionDigits","isNaN","Math","round","pow","toFixed","resetBid","assign","pricing_name","pricing","bid","resetBidNumber","mode","sendBid","Number","content","module","i","options","transform","undefined","locals","exports","push","TA","args","Array","prototype","slice","call","arguments","gio","apply","concat","parseInt","parseFloat","strWithZhCn","numberOfInt","filterLineBreak","RegExp","couponUrl","reUrl","taobaoReg","taobaoshortReg","liuliangReg","jdReg","jdMobileReg","jdOldOpenUrlReg","ctripReg","vipshopReg","suning","basicRegEXp","homePageRegEXp","takeOutRegExp","dianping","vipshop","meituan","meituanIndexReg","mogujie","juanpi","mei","jumeiJisu","jumeiShouYe","jumeiMuying","jumeiQingshe","jumeiZhuanchang","jumeiYiqituan","jumeiChanpin","eleMe","tongCheng58","appleAppLink","huaWeiStoreProReg","huaWeiStoreActReg","appPackageReg","jinritemaiReg","snssdkReg","protocalReg","floatNumber","twoFloatNumber","intNumber","intHasMaxNumber","___CSS_LOADER_URL___0___","urlEscape","emojiRegex","emoji","showHint","text","type","timeout","$message","jsonToQuery","filter","item","map","encodeURIComponent","join","queryToJson","href","reg","regObj","paramsArray","exec","params","split","row","length","decodeURIComponent","updateQueryRefresh","newQueryObj","queryObj","pathname","repeat","str","len","fix","after","toString","dateFormat","date","format","formatFunc","time","fmt","o","getMonth","getDate","getHours","getMinutes","getSeconds","floor","S","getMilliseconds","k","test","replace","$1","getFullYear","substr","Date","json","JSON","parse","formatBigNum","num","String","intPart","decimalPart","intLen","temp","reverse","_","index","arr","splice","match","error","secHtml","htmlStr","whiteTags","spliter","rootTagName","random","dom","DOMParser","parseFromString","getElementsByTagName","attrFilterRules","attrs","replaceValue","tags","attr","tag","toUpperCase","toArray","querySelectorAll","node","tagName","attributes","some","rule","tagMatched","nodeName","nodeValue","outerHTML","en","innerHTML","character","'","c","throttle","action","interval","timer","setTimeout","sessionStore","getObj","key","sessionStorage","getItem","removeObj","removeItem","setObj","result","setItem","stringify","randomChar","fromCharCode","StrLen","Regs","funs","GLOBAL_VAR","funcsOpened","value","isBpSupported","funcs","funcsOpenedUser","parseUrl","URL","a","createElement","hostname","origin","port","search","searchParams","hash","password","username","isOneOf","validList","measureTextWidth","styleObj","fontStyle","fontVariant","fontWeight","fontSize","fontFamily","ctx","getContext","font","width","measureText","milliFormat","m","emojiCheck","validNumberString","decimal","decimalReg","$bp_t","findComponent","cb","$children","child","halfStrLen","calTitleLength","ceil","isPC","u","navigator","userAgent","Agents","flag","formatEstimateNum","formatThousandsCommas","nums","selectPath","isBp","isPlayableMaterial","showNavigator","secondOrigin","getBusinessHost","onlineHost","isAdV2","userVersion","localStorage","aadvId","advertiser","id","query","Set","has","getCSRFToken","$","cookie","transformUploadImgResp","_result","file","isAdLab","extra","msg","height","web_uri","sign_url","transformCropImgResp","web_url","transformJssDKData","video","bitrate","uploadResult","VideoMeta","Bitrate","duration","Duration","fileType","FileType","Format","Height","md5","Md5","originHeight","OriginHeight","originWidth","OriginWidth","size","Size","Uri","Width","codec","Codec","poster","oid","PosterUri","vid","Vid","uploadID","UploadHeader","UploadID","statusCode","res","status","loginByPassword","sales","user_jobbed","getValFromArray","every","option","getStringLen","getStr","maxLen","nameArr","charLen","updateQueryNoRefresh","state","history","pushState","replaceQueryNoRefresh","newUrl","secondToMinute","seconds","parseSecondToDate","getTotalDaysOfTimeRange","startTime","endTime","stTime","dayjs","diff","timestampConverter","timestamp","formatter","year","month","day","hour","minute","second","getTodayTimestamp","now","today","getTime","getKeyByValue","getObjectKeyByValue","find","log","secHtmlNew","debounce","clearTimeout","trys","fn","validField","rules","config","modules","ok","clearObj","whiteKeys","clearArr","randArr","factor","sort","b","permutation","list","reduce","acc","x","getContinuousChildArr","rangeArr","rangeStartIndex","rangeEndIndex","curIndex","thisArr","nextIndex","getClockString","isInteger","clock","h","min","checkPwd","val","regFun","getCascaderValue","children","where","item2","getCascaderText","cascader1","cascader2","label","uniqueArr","subDomainChange","targetName","hostArr","openUrl","checkWhiteHost","target","urlParse","white","whiteHost","endsWith","Urls","updateQueryWithAdvid","click","cssSupport","element","style","data2BytedCascaderOptions","mainLevel","data2Option","v","data2Array","perform","parent","someLevel","floorArr","isArr","dateDifference","sDate1","sDate2","dateSpan","abs","transformMetricsParams","metrics","parseIntSafe","def","parsed","isPercentage","percentStr","isNowDaysAfterDate","days","offset","deepCopy","source","newobj","constructor","uniqArray","array","resultArray","trim","totalSliders","props","sliderNum","default","step","isStop","Boolean","computed","sliderContainerStyle","mounted","autoSlide","curObj","$emit","selectSomeone","_vm","_h","$createElement","_c","_self","staticClass","_l","on","$event","isWhite","align","dotsWidth","changeImage","img","imageClick","lesson","go2path","_v","_s","title","description","imgs","hoverImg","product","isHover","link","product_link","desc","go2ProductLesson","go2Product","_e","helpData","more","detailHover","go2Link","icon","class","activeStatus","newCourseData","image","subTitle","staticStyle","unit","right","isLoading","slot","loginData","learning_path_data","help_data","new_course_data","devtools","el","render","creator","Apps","keyValue","pairs","hasOwnProperty","addOrReplaceParam","pos","substring","originQueryObj","finalQuery","finalHref","Slardar","logValue","level","deleteQueryNoRefresh","deleteKey","startsWith","aadvidObj","aadvid","getQueryWithAdvid","root","deviceId","uuidv4","require","v4","template_config_key","CONF_ENV","BUS","s","g","r","isProdEnv","fe_config_env","dataRangersWhiteList","q","l","async","src","parentNode","insertBefore","teaEvent","app_id","channel","autotrack","deviceInfo","ua","isWindowsPhone","isSymbian","isAndroid","isFireFox","isTablet","isPhone","deviceType","getUaInfo","teaInstanceInit","initParams","appId","process","pageEnteredVariableTeaEvent","staff_sequence","customerType","adv_search_tag","adv_feed_tag","role","first_industry","industry","staff","isAdUser","isAdmin","coreUser","user_unique_id","evtParams","bp_device_id","device_type","user_agent","possess_from","possessor_origin_app_key","core_user_id","promotionTeaEvent","eventName","paramCallback","teaEventV1","reporterTeaEvent","platform","getIMCList","originList","finalList","backData","isArray","shift","todayTime","sDate","imc_start_time","eDate","imc_end_time","pre","next","imc_priority","endtime","staticRenderFns","component","_m","currentYear","httpMethodValid","contentTypeHandled","setTraceLogCookie","removeCookie","ajaxSetup","cache","dataType","beforeSend","xhr","settings","setRequestHeader","sessionId","requestMethod","contentType","isPost","parsedUrl","nonce","isFormData","bodyVal2str","body","qs","signature","sign","addSignature","ajaxSuccess","event","jqxhr","responseJSON","redirect_url","ajaxError","userObj","STATUS","401","403","404","500","fetch2","successFun","jquery","ajax","extend","method","advertiser_id","referer","update"],"mappings":"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","file":"static/js/login.66a97722.js","sourcesContent":["import { safetyGet } from 'Src/util/tool'\n\nexport const getConf = (prefix, path, defaultValue) => safetyGet(window, `GLOBAL_CONF.${prefix}.${path}`, defaultValue)\n\nconst register = (name, param) => {\n window[name] = param\n}\n\nexport const registerFactory = obj => {\n Object.keys(obj).forEach(e => register(e, obj[e]))\n}\n","import * as Tool from './tool'\nexport const isBoe = window.location.host.includes('boe')\nconst getOrigin = (p, d) => Tool.getConf('CDN_DOMAIN', p, d)\nconst getSrc = domain => (uri) => `${domain}${uri}`\n\n// img-ttcdn\n// .png, .jpg, ... ..., .excel\nconst ttpstatpImgOrigin = getOrigin('IMG_TTCDN_TOS', '//sf1-ttcdn-tos.pstatp.com/')\n\n// img-byteimg\n// .png, .jpg, ... ...\nconst byteImgOrigin = getOrigin('IMG_BYTE_IMG', '//p1-oe.byteimg.com/')\n\n// img-other\nconst sPstatpImgOrigin = getOrigin('IMG_OTHER_SPSTATP', '//s2.pstatp.com/')\nconst pPstatpImgOrigin = getOrigin('IMG_OTHER_PPSTATP', '//p0.pstatp.com/')\n\n// creative-material uri -> url\n// const creativeMaterialOrigin = getOrigin('CREATIVE_MATERIAL', '//sf1-ttcdn-tos.pstatp.com/')\n\n// change-cdn\nconst imageUrl = getOrigin('CREATIVE_MATERIAL_V2', isBoe ? '//tosv.boe.byted.org/' : '//p3-adplatform.byteadimg.com/')\n\n// creative-material-legacy uri -> url\n// const creativeMaterialLegacyOrigin = getOrigin('CREATIVE_MATERIAL_LEGACY', '//sf1-ttcdn-tos.pstatp.com/')\n\n// video\n// .wav .mp4\nconst ttpstatpVideoOrigin = getOrigin('VIDEO_TTCDN_TOS', '//sf1-ttcdn-tos.pstatp.com/')\n\n// js\nconst ttpstatpJsOrigin = getOrigin('JS_TTCDN_TOS', '//sf1-ttcdn-tos.pstatp.com/')\n\nconst pstatpJsOrigin = getOrigin('JS_SPSTATP', '//s2.pstatp.com/')\n\n// css\nconst pstatpCssOrigin = getOrigin('CSS_SPSTATP', '//s2.pstatp.com/')\n\n// 二进制等静态文件:如 excel\n// cdn 管理地址:https://cloud.bytedance.net/cdn\nconst dypstatpObjOrigin = getOrigin('OBJ_DYCDN_TOS', '//sf1-dycdn-tos.pstatp.com/')\n\n// IMC js,img\nconst imchscdnOrigin = getOrigin('IMC_HSCDN_TOS', '//lf3-beecdn.bytetos.com/')\n\n// 各种异常资源情况\nconst SOURCE_DOMAIN = {\n // .png, .jpg,... ...\n IMG_OTHER: {\n sp: sPstatpImgOrigin,\n pp: pPstatpImgOrigin\n }\n}\n\n// 通用可随时切换的资源地址\n\n// sf*-ttcdn-tos.pstatp.com\nconst GET_IMG_TT_SRC = getSrc(ttpstatpImgOrigin)\n\n// p*-oe.byteimg.com\nconst GET_IMG_BYTE_SRC = getSrc(byteImgOrigin)\n\n// sf*-ttcdn-tos.pstatp.com\nconst GET_JS_TT_SRC = getSrc(ttpstatpJsOrigin)\n\n// sf*-ttcdn-tos.pstatp.com\nconst GET_CREATIVE_MATERIAL = uri => {\n if (!uri) return\n let realOrigin = imageUrl\n const prefix = 'obj/'\n let realUri = uri\n if (uri.indexOf('/') === -1) {\n realOrigin = imageUrl\n realUri = `mosaic-legacy/${uri}`\n }\n return `${document.location.protocol}${getSrc(realOrigin)(`${prefix}${realUri}`)}`\n}\n\n// 暂时认为两者的域名一致\nconst GET_CREATIVE_OPT_MATERIAL = uri => {\n if (!uri) return\n let realOrigin = imageUrl\n const prefix = 'img/'\n let realUri = `${uri}`\n if (uri.indexOf('/') === -1) {\n realOrigin = imageUrl\n realUri = `mosaic-legacy/${uri}`\n }\n return `${document.location.protocol}${getSrc(realOrigin)(`${prefix}${realUri}`)}`\n}\n\n// s*.pstatp.com\nconst GET_JS_SRC = getSrc(pstatpJsOrigin)\n\n// s2.pstatp.com/只有这一个,可以考虑替换\nconst GET_CSS_SRC = getSrc(pstatpCssOrigin)\n\n// sf*-ttcdn-tos.pstatp.com\nconst GET_VIDEO_SRC = getSrc(ttpstatpVideoOrigin)\n\nconst GET_OBJ_DYCDN_TOS = getSrc(dypstatpObjOrigin)\n\nconst GET_IMC_SRC = getSrc(imchscdnOrigin)\n\nconst registerArr = {\n SOURCE_DOMAIN,\n GET_IMG_TT_SRC,\n GET_IMG_BYTE_SRC,\n GET_JS_TT_SRC,\n GET_CREATIVE_MATERIAL,\n GET_CREATIVE_OPT_MATERIAL,\n GET_JS_SRC,\n GET_CSS_SRC,\n GET_VIDEO_SRC,\n GET_OBJ_DYCDN_TOS,\n GET_IMC_SRC\n}\n\nTool.registerFactory(registerArr)\n\nVue.mixin({\n data () {\n return {\n SOURCE_DOMAIN\n }\n },\n methods: {\n GET_IMG_TT_SRC,\n GET_IMG_BYTE_SRC,\n GET_CREATIVE_MATERIAL,\n GET_CREATIVE_OPT_MATERIAL,\n GET_JS_TT_SRC,\n GET_JS_SRC,\n GET_CSS_SRC,\n GET_VIDEO_SRC,\n GET_OBJ_DYCDN_TOS,\n GET_IMC_SRC\n }\n})\n","import tool from 'Src/util/tool'\nimport { catchableParse } from 'Src/util/json'\nconst globalVar = tool.safetyGet(window, 'GLOBAL_VAR', {})\n// 获取globalConf\nconst globalConf = tool.safetyGet(window, 'GLOBAL_CONF', {})\n// 是否为新版黑名单\nconst adsBlackVersion = tool.isSupported(globalVar && globalVar.adver_func && globalVar.adver_func.promote_blacklist)\n// 鲁班\nconst isEcAdvertiser = catchableParse(globalVar && globalVar.isEcAdvertiser)\n\n// 橙子豁免名单\nconst isOrangeValid = tool.isSupported(globalVar && globalVar.adver_func && globalVar.adver_func.orange_valid_exempt_config)\n// 橙子建站白名单豁免逻辑\n// 优先判断tcc开关,关了之后,不限制,开了之后,先判断是否为内广,在判断二级行业\n// 技术方案https://bytedance.feishu.cn/docs/doccnZDlgPON8CRsZD8Oqeu4CBc#\nfunction isOrangeLimit () {\n // 先判断开关是否打开\n let orangeConfig = globalConf?.orange_valid_config || {}\n // 如果switch_orange_valid 为0则不校验,这里不要写成!!,以免后续不好扩展\n if (orangeConfig?.switch_orange_valid === 0) {\n return false\n }\n // 内广豁免开关是否打开\n let isInnerAdvExempt = orangeConfig?.inner_adv_exempt\n let advertiserRole = tool.safetyGet(globalVar, 'advertiser.role', '0')\n // 如果内广豁免名单打开了,并且是内广\n if (isInnerAdvExempt && +advertiserRole === 4) {\n return false\n }\n // 是否在豁免名单里面\n return !isOrangeValid\n}\n\nVue.mixin({\n data () {\n return {\n // 黑名单或者鲁班\n adsNewVersion: (adsBlackVersion || isEcAdvertiser) ? 0 : 1,\n // 支持的推广目的\n newVersionLangingType: {\n // 应用推广\n 3: 'app',\n // 销售线索收集\n 1: 'external',\n // 快应用\n 10: 'quick_app',\n // 直播间\n 9: 'live',\n // 抖音号\n 7: 'aweme',\n // 商品\n 5: 'product_library',\n // 门店\n 6: 'advertiser_store',\n // 电商店铺\n 8: 'shop'\n },\n // 广告组判断逻辑,因为广告组的跳新逻辑和计划跳转逻辑不一样\n newCampaignVersionLangingType: {\n // 应用推广\n 3: 'app',\n // 销售线索收集\n 1: 'external',\n // 快应用\n 10: 'quick_app',\n // 直播间\n 9: 'live',\n // 抖音号\n 7: 'aweme',\n // 商品\n 5: 'product_library',\n // 电商店铺\n 8: 'shop',\n // 门店\n 6: 'advertiser_store'\n },\n // skan广告组\n skanMaxAdCount: globalConf?.ios_skan?.maxAdCount || 0,\n // 是否豁免橙子建站\n isOrangeLimit: isOrangeLimit()\n }\n },\n methods: {\n // 是否跳转到新版本\n isJudgeToNewVersion (adInfo) {\n let sceneType = ''\n if (this.adsNewVersion && this.newVersionLangingType[adInfo.landing_type]) {\n // 新计划,必跳新的\n // 如果inventory_catalog > 1, 垂直化,跳转到新的\n if (adInfo.inventory_catalog || (+adInfo.marketing_scene === 0 && adInfo.download_type !== 3) || +adInfo.marketing_scene) {\n sceneType = this.newVersionLangingType[adInfo.landing_type]\n } else {\n sceneType = ''\n }\n }\n return sceneType\n },\n // skan组判断\n isJudgeSkan (info) {\n let dedicateType = typeof info === 'string' ? info : (info.campaign_dedicate_type || info.dedicate_type)\n return dedicateType === 2\n },\n // 判断广告组,是否能创建计划\n isJudgeSkanLimit (campaignId) {\n let maxAd = globalConf?.ios_skan?.maxAdCount || 0\n return new Promise((resolve, reject) => {\n BUI.fetch({\n url: '/nbs/api/ads/ad/get_ads_by_campainids',\n data: {\n campaign_id: campaignId\n },\n success: (resp) => {\n let overLimit = false\n if (resp.code === 0) {\n let count = resp.data.count\n overLimit = count >= maxAd\n resp.data.overLimit = overLimit\n resolve(resp)\n } else {\n reject(resp)\n }\n }\n })\n })\n }\n }\n})\n","import * as Tool from './tool'\n\nconst getDomain = (p, d) => Tool.getConf('DOMAIN', p, d)\n\n// 巨量引擎oe\n// ad.oceanengine.com => ad-boe.oceanengine.com\n// OE: \"ad-boe.oceanengine.com\"\nconst ADOE_ORIGIN = getDomain('OE', 'ad.oceanengine.com')\n\n// ad-toutiao\n// ad.toutiao.com => ad-boe.toutiao.com\n// OE: \"ad-boe.toutiao.com\"\nconst ADTT_ORIGIN = getDomain('TOUTIAO', 'ad.toutiao.com')\n\n// 巨量引擎h5\n// h5.oceanengine.com => h5-boe.oceanengine.com\nconst H5OE_ORIGIN = getDomain('H5', 'h5.oceanengine.com')\n\n// 创意中心cc\n// cc.oceanengine.com => ad-creative-boe.bytedance.net\n// CREATIVE: \"ad-creative-boe.bytedance.net\"\nconst CC_ORIGIN = getDomain('CREATIVE', 'cc.oceanengine.com')\n\n// 管理中心\n// ad-admin.bytedance.net => ad-admin-boe.bytedance.net\n// ADMIN: \"ad-admin-boe.bytedance.net\"\nconst ADMIN_ORIGIN = getDomain('ADMIN', 'ad-admin.bytedance.net')\n\n// BP管理中心\n// e.oceanengine.com => e-boe.oceanengine.com\n// BPMANAGE: \"e-boe.oceanengine.com\"\nconst BPADMIN_ORIGIN = getDomain('BPMANAGE', 'e.oceanengine.com')\n\n// 线索通\n// clue.oceanengine.com => clue-boe.oceanengine.com\n// CLUE: \"clue-boe.oceanengine.com\"\nconst CLUE_ORIGIN = getDomain('CLUE', 'clue.oceanengine.com')\n\n// 橙子建站\n// www.chengzijianzhan.com => www-boe.chengzijianzhan.com\n// ORANGE: \"www-boe.chengzijianzhan.com\"\nconst ORANGE_ORIGIN = getDomain('ORANGE', 'www.chengzijianzhan.com')\n\n// Teris\n// tetris.byted.org => tetris-boe.byted.org\n// TETRIS: \"tetris-boe.byted.org\"\nconst TETRIS_ORIGIN = getDomain('TETRIS', 'tetris.byted.org')\n\nconst VIDEO_UPLOAD_ORIGIN = getDomain('VIDEO_UPLOAD', 'https://vas-lf-x.snssdk.com')\n\nconst VIDEO_UPLOAD_LOG_ORIGIN = getDomain('VIDEO_UPLOAD_LOG', 'https://log.snssdk.com')\n\nconst VOD_ORIGIN = getDomain('VOD', '//vod.bytedanceapi.com')\n\nconst registerObj = {\n ADOE_ORIGIN,\n ADTT_ORIGIN,\n H5OE_ORIGIN,\n CC_ORIGIN,\n ADMIN_ORIGIN,\n BPADMIN_ORIGIN,\n CLUE_ORIGIN,\n ORANGE_ORIGIN,\n TETRIS_ORIGIN,\n VIDEO_UPLOAD_ORIGIN,\n VIDEO_UPLOAD_LOG_ORIGIN,\n VOD_ORIGIN\n}\nTool.registerFactory(registerObj)\n","// 出价兼容逻辑\nconst MULTIPLE = 1000\n// 计算数据的京都\nfunction rounding (number, fractionDigits) {\n return (!isNaN(number) && !isNaN(fractionDigits)) ? (Math.round(number * Math.pow(10, fractionDigits)) / Math.pow(10, fractionDigits)).toFixed(fractionDigits) : ''\n}\nVue.mixin({\n methods: {\n resetBid (data) {\n // 如果是cpv的话。* 1000展示\n let info = Object.assign({}, data)\n if (info && (info.pricing_name === 'CPV' || info.pricing === 'CPV')) {\n info.bid = rounding(info.bid * MULTIPLE, 2)\n }\n return info\n },\n resetBidNumber (bid, mode) {\n // 如果是cpv的话。* 1000展示\n if (mode === 10) {\n bid = rounding(bid * MULTIPLE, 2)\n }\n return bid\n },\n sendBid (bid, pricing) {\n bid = bid || 0\n // 满足范围,在操作\n if (pricing === 'CPV' || pricing === 10) {\n bid = bid / MULTIPLE\n return +rounding(Number(bid), 5)\n }\n return +rounding(Number(bid), 2)\n }\n }\n})\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ad-products.vue?vue&type=style&index=0&id=594998cd&scoped=true&lang=scss&\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ad-products.vue?vue&type=style&index=0&id=594998cd&scoped=true&lang=scss&\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ad-products.vue?vue&type=style&index=0&id=594998cd&scoped=true&lang=scss&\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","module.exports = __webpack_public_path__ + \"static/image/meituan.png?9f5ff48ee53d287a502ec75249c8f8a7\";","module.exports = __webpack_public_path__ + \"static/image/DIN-Bold.otf?20720c3ac567a72d0ef973d2e703dfae\";","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".footer-container[data-v-d2d420d2]{width:100%;min-width:800px;text-align:center;padding:22px 0;background:#0A2140;position:relative;font-family:'PingFang SC';font-weight:600}.footer-container .first-line[data-v-d2d420d2]{text-align:center;line-height:20px;font-size:12px;font-weight:600;opacity:0.4;color:#FFFFFF}.footer-container .first-line .first-line-span[data-v-d2d420d2]{margin-right:10px}.footer-container .second-line[data-v-d2d420d2]{margin-top:8px}.footer-container .second-line span[data-v-d2d420d2],.footer-container .second-line a[data-v-d2d420d2]{font-size:12px;color:#FFFFFF;opacity:0.4;margin-right:10px;font-weight:600}.footer-container .last-line[data-v-d2d420d2]{margin-top:8px;text-align:center}.footer-container .last-line a[data-v-d2d420d2]{font-size:12px;color:#FFFFFF;opacity:0.4;margin-right:10px;font-weight:600;text-align:center;line-height:20px}.footer-container .last-line .last-line-img[data-v-d2d420d2]{width:20px;height:20px;vertical-align:middle}.footer-container a[data-v-d2d420d2]{text-decoration:none;cursor:pointer}.footer-container a[data-v-d2d420d2]:hover{text-decoration:underline}\\n\", \"\"]);\n\n","\nvar content = require(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=style&index=0&lang=scss&\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=style&index=0&lang=scss&\", function() {\n\t\tvar newContent = require(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=style&index=0&lang=scss&\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","module.exports = __webpack_public_path__ + \"static/image/lesson_path_1.svg?41da3fb4c4a12637b53cb1187b313734\";","/**\n * Created by zhoubao on 2018/07/23.\n */\n/* eslint-disable */\n\nwindow.TA = function () {\n var args = Array.prototype.slice.call(arguments)\n if (window.gio) {\n window.gio.apply(null, args[0] === 'track' ? args : ['track'].concat(args));\n }\n};","module.exports = __webpack_public_path__ + \"static/image/help_center_effect_optimization.svg?5304d62bf840e63f40aaf76a71e24e33\";","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./new-footer.vue?vue&type=style&index=0&id=d2d420d2&scoped=true&lang=scss&\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./new-footer.vue?vue&type=style&index=0&id=d2d420d2&scoped=true&lang=scss&\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./new-footer.vue?vue&type=style&index=0&id=d2d420d2&scoped=true&lang=scss&\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","module.exports = __webpack_public_path__ + \"static/image/lesson_path_3.svg?e121e04f0a8a0b611aecbcd4cf573912\";","module.exports = __webpack_public_path__ + \"static/image/help_more.svg?ab08757fc7f1d95488ddf9b86c8f575e\";","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".carousel-container[data-v-2e9f7ed8]{height:420px;background:#0A2140;position:relative}.carousel-container .byted-carousel-item img[data-v-2e9f7ed8]{width:100%;height:100%}.carousel-enter-active[data-v-2e9f7ed8]{transition:all 1s ease}.carousel-leave-active[data-v-2e9f7ed8]{transition:all 1s ease}.carousel-enter[data-v-2e9f7ed8],.carousel-leave-to[data-v-2e9f7ed8]{opacity:0}\\n\", \"\"]);\n\n","import 'Src/basic/style.scss'\nimport '../global-mixins/index.js'\nimport '../boot/ajax.js'\nimport '../boot/event.js'\nimport '../boot/getDeviceId.js'\nimport '../boot/log2.js'\nimport '../boot/slardar.js'\n// import '../boot/log-tea.js'\n// import '../boot/pop-state-register.js'\n// import '../boot/scenarized-help.js'\n\nif (Number.parseInt === undefined) Number.parseInt = window.parseInt\nif (Number.parseFloat === undefined) Number.parseFloat = window.parseFloat\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./carousel-map.vue?vue&type=style&index=0&id=2e9f7ed8&scoped=true&lang=scss&\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./carousel-map.vue?vue&type=style&index=0&id=2e9f7ed8&scoped=true&lang=scss&\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./carousel-map.vue?vue&type=style&index=0&id=2e9f7ed8&scoped=true&lang=scss&\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","export * from \"-!../../node_modules/style-loader/index.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=style&index=0&lang=scss&\"","// 匹配双字节字符,包含汉字\nexport const strWithZhCn = /[^\\x00-\\xff]/\n// 正整数型数字\nexport const numberOfInt = /^\\d+$/\n// 匹配多个\\n\nexport const filterLineBreak = new RegExp(/^\\n*|\\n*$/g)\n// 卡券地址\nexport const couponUrl = new RegExp('^https?://i.snssdk.com/ad/coupon/api/ticket/assign/[0-9]+|^https?://\\\\w+.snssdk.com/bn/ams/\\\\w+/\\\\d+')\n// 匹配 url\nexport const reUrl = new RegExp(\n '^' +\n // protocol identifier\n '(?:(?:https?|ftp)://)' +\n // user:pass authentication\n '(?:\\\\S+(?::\\\\S*)?@)?' +\n '(?:' +\n // IP address exclusion\n // private & local networks\n '(?!(?:10|127)(?:\\\\.\\\\d{1,3}){3})' +\n '(?!(?:169\\\\.254|192\\\\.168)(?:\\\\.\\\\d{1,3}){2})' +\n '(?!172\\\\.(?:1[6-9]|2\\\\d|3[0-1])(?:\\\\.\\\\d{1,3}){2})' +\n // IP address dotted notation octets\n // excludes loopback network 0.0.0.0\n // excludes reserved space >= 224.0.0.0\n // excludes network & broacast addresses\n // (first & last IP address of each class)\n '(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])' +\n '(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}' +\n '(?:\\\\.(?:[1-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))' +\n '|' +\n // host name\n '(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)' +\n // domain name\n '(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*' +\n // TLD identifier\n '(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,}))' +\n ')' +\n // port number\n '(?::\\\\d{2,5})?' +\n // resource path\n '(?:/*\\\\S*)?' +\n '$', 'i'\n)\n\n// 淘宝\nexport const taobaoReg = new RegExp(/^http(s)?:\\/\\/([0-9a-z_-]+[.])*?(taobao|tmall)[.]com/)\n// 淘宝短链接\nexport const taobaoshortReg = new RegExp(/^http(s)?:\\/\\/(m.tb)[.]cn(\\/([0-9a-z_-]+[.])*?)/)\n// 流量宝链接\nexport const liuliangReg = new RegExp(/^http(s)?:\\/\\/gxb\\.mmstat\\.com/)\n// 京东\nexport const jdReg = new RegExp(/^http(s)?:\\/\\/([0-9a-z_-]+[.])*(jd)[.]com/)\nexport const jdMobileReg = new RegExp(/^http(?:s)?\\:\\/\\/item\\.jd\\.com\\/(\\d+)\\.html/g)\nexport const jdOldOpenUrlReg = new RegExp(/^openjd:\\/\\//)\n// 携程\nexport const ctripReg = new RegExp(/^http(s)?:\\/\\/([0-9a-z_-]+[.])*(ctrip)[.]com/)\n// 唯品会\nexport const vipshopReg = new RegExp(/^http(s)?:\\/\\/([0-9a-z_-]+[.])*(vipshop)[.]com/)\n// 苏宁\nexport const suning = new RegExp(/^http(s)?:\\/\\/([0-9a-z_-]+[.])*(suning)[.]com/)\n// 苏宁 - 基本\nexport const basicRegEXp = new RegExp(/^http(s)?:\\/\\/([0-9a-z_-]+[.])*(dianping)[.]com(\\/shop)/)\n// 苏宁 - 首页(固定)\nexport const homePageRegEXp = new RegExp(/^http(s)?:\\/\\/([0-9a-z_-]+[.])*(dianping)[.]com(\\/\\?utm=)(.)*/)\n// 苏宁 - 外卖\nexport const takeOutRegExp = new RegExp(/^http(s)?:\\/\\/([0-9a-z_-]+[.])*(dianping)[.]com(\\/waimai\\/mindex\\?utm=)(.)*/)\n// 点评\nexport const dianping = new RegExp(/^http(s)?:\\/\\/([0-9a-z_-]+[.])*(dianping)[.]com/)\n// 唯品会\nexport const vipshop = new RegExp(/^vipshop:\\/\\/\\S*/)\n// 美团\nexport const meituan = new RegExp(/^http(s)?:\\/\\/([0-9a-z_-]+[.])*(meituan)[.]com/)\n// 美团 - 首页\nexport const meituanIndexReg = new RegExp(/^http(s)?:\\/\\/([0-9a-z_-]+[.])*(meituan)[.]com(\\?utm_source=)(.)*/)\n// 蘑菇街\nexport const mogujie = new RegExp(/^http(s)?:\\/\\/([0-9a-z_-]+[.])*(mogujie)[.]com/)\n// 卷皮\nexport const juanpi = new RegExp(/^http(s)?:\\/\\/([0-9a-z_-]+[.])*(juanpi)[.]com/)\n// 魅力惠\nexport const mei = new RegExp(/^http(s)?:\\/\\/([0-9a-z_-]+[.])*(mei)[.]com/)\n// 聚美 - 极速免税店\nexport const jumeiJisu = new RegExp(/^http(s)?:\\/\\/([0-9a-z_-]+[.])*(jumei)[.]com\\/(global)\\/(deals)/)\n// 聚美 - 首页\nexport const jumeiShouYe = new RegExp(/^http(s)?:\\/\\/([0-9a-z_-]+[.])*(jumei)[.]com/)\n// 聚美 - 母婴\nexport const jumeiMuying = new RegExp(/^http(s)?:\\/\\/([0-9a-z_-]+[.])*(jumei)[.]com\\/(luxury)\\/(indexdeals)/)\n// 聚美 - 轻奢\nexport const jumeiQingshe = new RegExp(/^http(s)?:\\/\\/([0-9a-z_-]+[.])*(jumei)[.]com\\/(popdeals)/)\n// 聚美 - 专场\nexport const jumeiZhuanchang = new RegExp(/^http(s)?:\\/\\/([0-9a-z_-]+[.])*(jumei)[.]com\\/(activity)\\/(detailv2)/)\n// 聚美 - 拼团\nexport const jumeiYiqituan = new RegExp(/^http(s)?:\\/\\/([0-9a-z_-]+[.])*(jumei)[.]com\\/(yiqituan)/)\n// 聚美 - 产品\nexport const jumeiChanpin = new RegExp(/^http(s)?:\\/\\/([0-9a-z_-]+[.])*(jumei)[.]com\\/(product)/)\n// 饿了么\nexport const eleMe = new RegExp(/^http(s)?:\\/\\/([0-9a-z_-]+[.])*(ele)[.]me/)\n// 58同城\nexport const tongCheng58 = new RegExp(/^http(s)?:\\/\\/([0-9a-z_-]+[.])*(58)[.]com/)\n// 苹果 app 下载地址\nexport const appleAppLink = new RegExp(/^https?:\\/\\/(itunes|apps)\\.apple\\.com/)\n// 华为商城商详页\nexport const huaWeiStoreProReg = new RegExp(/^http(s)?:\\/\\/(m.vmall)[.]com\\/product(\\/([0-9a-z_-]+[.])*?)/)\n// 华为商城活动页\nexport const huaWeiStoreActReg = new RegExp(/^http(s)?:\\/\\/([0-9a-z_-]+[.])*(vmall)[.]com(\\/([0-9a-z_-]+[.])*?)/)\n// 应用包名\nexport const appPackageReg = new RegExp(/^[\\w\\.]+$/)\n// 鲁班主域校验\nexport const jinritemaiReg = /^https:\\/\\/\\w+\\.jinritemai\\.com/\nexport const snssdkReg = /^https:\\/\\/\\w+\\.snssdk\\.com/\nexport const protocalReg = new RegExp(/^http(s)?:\\/\\//)\n// 0~9999999.99的数字\nexport const floatNumber = /^[0-9]+(.[0-9]+)?$/\n// 两位小数\nexport const twoFloatNumber = /^([0-9][\\d]*)(\\.[\\d]{1,2})?$/\n// 大于0整数\nexport const intNumber = /^\\+?[0-9][0-9]*$/\n// 0~999999999的数字\nexport const intHasMaxNumber = /^(\\d{1,9})$/","module.exports = __webpack_public_path__ + \"static/image/jinggongwang.png?1b5f50da64493561ef24652c852697a2\";","module.exports = __webpack_public_path__ + \"static/image/help_center_start.svg?a311febf423f4c16a8cc9c89265c1f21\";","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Imports\nvar urlEscape = require(\"../../../../node_modules/css-loader/dist/runtime/url-escape.js\");\nvar ___CSS_LOADER_URL___0___ = urlEscape(require(\"../../../static/images/icon/login-icon/DIN-Bold.otf\"));\n\n// Module\nexports.push([module.id, \".success-cases-container[data-v-2baf00ce]{margin-top:20px;width:1200px;height:540px;background:#FFFFFF;border-radius:4px;font-family:PingFangSC-Medium}.success-cases-container .success-cases-title[data-v-2baf00ce]{display:inline-block;margin-top:24px;width:100%;height:28px;line-height:28px;color:#222;position:relative;padding-left:32px}.success-cases-container .success-cases-title .title[data-v-2baf00ce]{font-size:20px;font-weight:500}.success-cases-container .success-cases-title .more[data-v-2baf00ce]{font-size:12px;font-family:PingFangSC-Regular;font-weight:400;color:#999999;position:absolute;right:29px;cursor:pointer;text-decoration:none}.success-cases-container .success-cases-title .more[data-v-2baf00ce]:hover{color:#2F88FF}.success-cases-container .success-cases-title img[data-v-2baf00ce]{position:absolute;right:-11px;top:8.6px;width:11px;height:10px}.success-cases-container .success-cases-content[data-v-2baf00ce]{width:100%;height:394px;margin-top:36px;padding:0 32px}.success-cases-container .success-cases-content .content[data-v-2baf00ce]{display:inline-block;width:363px;height:100%;background:#FFFFFF;border-radius:4px;border:1px solid #EAEAEA;position:relative;font-weight:400;font-size:14px;font-family:PingFangSC-Regular;position:relative;cursor:pointer;transition:all .5s}.success-cases-container .success-cases-content .content[data-v-2baf00ce]:hover{transform:translateY(-8px);box-shadow:0px 2px 30px 0px rgba(10,33,64,0.1)}.success-cases-container .success-cases-content .content .img-style[data-v-2baf00ce]{overflow:hidden;width:100%;height:159px;background:#d8d8d8;border-radius:4px 4px 0px 0px}.success-cases-container .success-cases-content .content .img-style>img[data-v-2baf00ce]{width:100%;height:100%}.success-cases-container .success-cases-content .content .img-icon[data-v-2baf00ce]{width:104px;height:104px;left:11px;top:108px;position:absolute}.success-cases-container .success-cases-content .content[data-v-2baf00ce]:nth-child(2){margin:0 23px}.success-cases-container .success-cases-content .content .content-title[data-v-2baf00ce]{margin-top:45px;margin-left:32px;font-size:12px;font-family:PingFangSC-Regular;color:#333333;height:20px;line-height:20px}.success-cases-container .success-cases-content .content .blue-line[data-v-2baf00ce]{width:12px;height:2px;background:#2F88FF;border-radius:1px;margin-left:32px;margin-top:4px}.success-cases-container .success-cases-content .content .content-title-sub[data-v-2baf00ce]{margin-top:8px;margin-left:32px;color:#333333;height:22px;font-size:16px;font-family:PingFangSC-Semibold;font-weight:600;line-height:21px}.success-cases-container .success-cases-content .content .content-title-tag[data-v-2baf00ce]{margin-left:32px;margin-top:8px;height:23px;font-size:12px;font-family:PingFangSC-Light;font-weight:300;line-height:22px}.success-cases-container .success-cases-content .content .content-title-tag a[data-v-2baf00ce]{text-decoration:none;cursor:default;color:#333333;opacity:0.5;position:relative}.success-cases-container .success-cases-content .content .content-title-tag a[data-v-2baf00ce]:not(:last-of-type){margin-right:25px}.success-cases-container .success-cases-content .content .content-title-tag a:not(:last-of-type)>div.vertical-line[data-v-2baf00ce]{position:absolute;right:-11px;top:4px;border-right:1px solid #222222;opacity:0.1;height:10px;width:0;border-radius:1px;cursor:default;pointer-events:none}.success-cases-container .success-cases-content .content .horizonal-line[data-v-2baf00ce]{width:100%;margin-top:12px;height:0;border-top:1px solid #222222;opacity:0.1}.success-cases-container .success-cases-content .content .statistics[data-v-2baf00ce]{width:100%;display:flex;justify-content:space-around}.success-cases-container .success-cases-content .content .statistics .stat[data-v-2baf00ce]{width:121px}.success-cases-container .success-cases-content .content .statistics .stat-num[data-v-2baf00ce]{display:block;text-align:center;height:24px;font-size:30px;font-family:'DIN-Bold', AlteDIN;font-weight:500;color:#222;line-height:23px;margin-top:19px}.success-cases-container .success-cases-content .content .statistics .stat-title[data-v-2baf00ce]{display:block;text-align:center;height:16px;font-size:12px;font-family:PingFangSC-Light;font-weight:300;color:rgba(34,34,34,0.3);line-height:16px;margin-top:7px}.success-cases-container .success-cases-content .content .statistics .margin-right-t[data-v-2baf00ce]{margin-right:2px}@font-face{font-family:'DIN-Bold';src:url(\" + ___CSS_LOADER_URL___0___ + \")}\\n\", \"\"]);\n\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./success-cases.vue?vue&type=style&index=0&id=2baf00ce&scoped=true&lang=scss&\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./success-cases.vue?vue&type=style&index=0&id=2baf00ce&scoped=true&lang=scss&\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./success-cases.vue?vue&type=style&index=0&id=2baf00ce&scoped=true&lang=scss&\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./courses.vue?vue&type=style&index=0&id=6514681d&scoped=true&lang=scss&\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./courses.vue?vue&type=style&index=0&id=6514681d&scoped=true&lang=scss&\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./courses.vue?vue&type=style&index=0&id=6514681d&scoped=true&lang=scss&\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","export * from \"-!../../../../node_modules/style-loader/index.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./carousel-map.vue?vue&type=style&index=0&id=2e9f7ed8&scoped=true&lang=scss&\"","import * as Regs from './regs'\nimport emoji from 'emoji-regex'\nimport whiteHost from 'Src/const/whiteHost.js'\nimport Urls from 'Src/util/url'\nimport where from 'lodash.where'\nimport safetyGet from 'lodash.get'\n\nconst emojiRegex = emoji()\n\n// let tool = {}\nexport const showHint = (text, type, timeout = 3000) => {\n (new Vue()).$message(text, type, timeout)\n}\n\nexport const jsonToQuery = (obj, prefix) => {\n return (typeof (prefix) === 'undefined' ? '?' : prefix) + Object.keys(obj)\n .filter(item => (typeof (obj[item]) !== 'undefined') && (obj[item] !== null))\n .map(item => {\n return [item, encodeURIComponent(obj[item])].join('=')\n }).join('&')\n}\n\nexport const queryToJson = (url) => {\n url = url || window.location.href\n\n let reg = /(?:\\?(.*?=[^#]*))+/g\n let regObj = {}\n let paramsArray = []\n\n while (regObj) {\n regObj = reg.exec(url)\n if (regObj) {\n paramsArray.push(regObj[1])\n }\n }\n let params = paramsArray.join('&')\n\n let obj = {}\n params.split('&').forEach(item => {\n let row = item.split('=')\n if (row.length === 2) {\n obj[row[0]] = decodeURIComponent(row[1])\n }\n })\n return obj\n}\n\nexport const getValFromArray = (arr, options, key) => {\n let result = arr.filter(item => {\n return Object.keys(options).every(option => {\n return item[option] === options[option]\n })\n })\n if (result.length) {\n return result[0][key]\n }\n return null\n}\n\nexport const getStringLen = function (str) {\n if (str == null) return 0\n if (typeof str !== 'string') {\n str += ''\n }\n return str.replace(/[\\u4e00-\\u9fa5]/g, '01').length\n}\n\n// 截取指定字符串\nexport const getStr = function (name, maxLen) {\n let nameArr = name.split('')\n let charLen = 0\n return nameArr.filter((c) => {\n charLen = charLen + ((/[\\u4e00-\\u9fa5]/g).test(c) ? 2 : 1)\n return charLen <= maxLen\n }).join('')\n}\n\nexport const updateQueryNoRefresh = (newQueryObj, state) => {\n let queryObj = queryToJson()\n Object.keys(newQueryObj).forEach(item => {\n queryObj[item] = newQueryObj[item]\n })\n window.history.pushState(state || {}, 0, window.location.pathname + jsonToQuery(queryObj))\n}\n\nexport const updateQueryRefresh = (newQueryObj) => {\n let queryObj = queryToJson()\n Object.keys(newQueryObj).forEach(item => {\n queryObj[item] = newQueryObj[item]\n })\n window.location.href = window.location.pathname + jsonToQuery(queryObj)\n}\n\nexport const replaceQueryNoRefresh = (newQueryObj, state) => {\n let params = jsonToQuery(newQueryObj)\n let newUrl = window.location.pathname + (params ? '?' + params : '')\n window.history.pushState(state || {}, 0, newUrl)\n}\n\nexport const repeat = (str, len, fix, after) => {\n str = (str || '').toString()\n fix = (fix || '0').toString()\n\n while (str.length < len) {\n if (after) {\n str += fix\n } else {\n str = fix + str\n }\n }\n return str.slice(0, len)\n}\n\nexport const secondToMinute = (seconds) => {\n seconds = parseInt(seconds)\n let minute = repeat(Math.floor(seconds / 60), 2)\n let second = repeat(seconds % 60, 2)\n return [minute, second].join(':')\n}\n\nexport const parseSecondToDate = (seconds) => {\n let date = new Date(parseInt(seconds) * 1000)\n return dateFormat(date)\n}\n\nexport const dateFormat = (date, format = 'yyyy-MM-dd') => {\n function formatFunc (time, fmt) {\n var o = {\n 'M+': time.getMonth() + 1, // 月份\n 'd+': time.getDate(), // 日\n 'h+': time.getHours(), // 小时\n 'm+': time.getMinutes(), // 分\n 's+': time.getSeconds(), // 秒\n 'q+': Math.floor((time.getMonth() + 3) / 3), // 季度\n S: time.getMilliseconds() // 毫秒\n }\n if (/(y+)/.test(fmt)) {\n fmt = fmt.replace(RegExp.$1, (time.getFullYear() + '').substr(4 - RegExp.$1.length))\n }\n for (var k in o) {\n if (new RegExp('(' + k + ')').test(fmt)) {\n fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1)\n ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))\n }\n }\n return fmt\n }\n\n if (type(date) !== 'Date') {\n date = new Date(+date)\n }\n return formatFunc(date, format)\n}\n\nexport const getTotalDaysOfTimeRange = (startTime, endTime) => {\n let stTime = dayjs(dayjs(startTime).format('YYYY-MM-DD'))\n let etTime = dayjs(dayjs(endTime).format('YYYY-MM-DD'))\n let diffDay = etTime.diff(stTime, 'day')\n return diffDay + 1\n}\n\n/**\n * 将 UNIX timestamp 时间标签转换成 formatter 格式\n * @param {Number} 时间标签 e.g. 1463368789044\n * @param {String} 格式 e.g. 'yyyy-mm-dd hh:MM'\n * @returns {String} e.g. '2016-05-16 18:17'\n */\nexport const timestampConverter = (timestamp, formatter) => {\n var a = new Date(timestamp * 1000)\n var months = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']\n var year = '' + a.getFullYear()\n var month = months[a.getMonth()]\n var day = '0' + a.getDate()\n var hour = '0' + a.getHours()\n var minute = '0' + a.getMinutes()\n var second = '0' + a.getSeconds()\n\n return formatter.replace('yyyy', year)\n .replace('yy', year.substr(-2))\n .replace('mm', month)\n .replace('dd', day.substr(-2))\n .replace('hh', hour.substr(-2))\n .replace('MM', minute.substr(-2))\n .replace('ss', second.substr(-2))\n}\n\n/**\n * 将JSON数据解析为JS对象,可捕获异常\n * @param {string} json JSON形式的字符串,可以不符合json规则或undefined\n * @returns {object} obj 经JSON.parse()后的结果,若无法解析,则为undefined\n */\nexport const catchableParse = function (json) {\n try {\n return JSON.parse(json)\n } catch (e) {\n return json\n }\n}\n\n/**\n * 获取当天零点的时间戳\n */\nexport const getTodayTimestamp = () => {\n const now = new Date()\n const today = now.getFullYear() + '-' + (now.getMonth() + 1) + '-' + now.getDate() + ' 00:00:00'\n return new Date(today).getTime()\n}\n\n/**\n * 将大数添加分隔符\n */\nexport const formatBigNum = (num) => {\n if (isNaN(num) || (num === '')) {\n return num\n }\n const [intPart, decimalPart] = String(num).split('.')\n let count = 0\n const intLen = intPart.length\n const temp = intPart.split('').reverse()\n temp.map((_, index, arr) => {\n (index % 3 === 2) && (index < intLen - 1) && arr.splice(index + ++count, 0, ',')\n })\n return [temp.reverse().join(''), decimalPart].join(decimalPart ? '.' : '')\n}\n\nexport const type = (obj) => {\n return Object.prototype.toString.call(obj).match(/\\[object (.*?)\\]/)[1]\n}\n\nexport const getKeyByValue = (obj, value) => {\n return Object.keys(obj).filter(key => {\n return obj[key].value === value\n })[0]\n}\n\nexport const getObjectKeyByValue = (obj, value) => {\n return Object.keys(obj).find(key => obj[key] === value)\n}\n\nexport const log = (...args) => {\n console.log(args)\n}\nexport const error = (...args) => {\n console.error(args)\n}\n/**\n * @comment 优化显示, 保留用户输入内容, 如广告组名称\n * @param str string\n */\nexport const secHtmlNew = (str) => {\n str = (str || '').toString()\n let character = {\n '<': '<',\n '>': '>',\n '&': '&',\n '\"': '"',\n '\\'': '''\n }\n return str.replace(/[<>&\"']/g, function (c) {\n return character[c]\n })\n}\n/**\n * @param htmlStr string\n * @param whiteTags optional String 'a div p span'\n * @param spliter optional String ' '\n */\nexport const secHtml = function (htmlStr, whiteTags, spliter) {\n let rootTagName = Math.random().toString(36).replace('0.', 'byted')\n let dom = (new window.DOMParser())\n .parseFromString('<' + rootTagName + '>' + (htmlStr || '') + '', 'text/html')\n .getElementsByTagName(rootTagName)[0]\n let attrFilterRules = [{\n name: 'rull-style',\n attrs: ['style'],\n reg: /expression\\(.*\\)/i,\n replaceValue: ''\n\n },\n {\n name: 'rull-href',\n attrs: ['src', 'href'],\n reg: /^(javascript|vbscript|jscript|ecmascript):|data:text\\/html/i,\n replaceValue: ''\n\n },\n {\n name: 'rule-onevent',\n attrs: (function () {\n let tags = []\n for (let attr in dom) {\n if (attr.indexOf('on') === 0) {\n tags.push(attr)\n }\n }\n return tags\n })(),\n replaceValue: ''\n\n }\n ]\n if (spliter === void 0) {\n spliter = /\\s+/g\n }\n if (whiteTags === void 0) {\n whiteTags = ['A', 'ADDRESS', 'B', 'BIG', 'BLOCKQUOTE', 'BR', 'CAPTION', 'CENTER', 'CITE', 'CODE', 'DD',\n 'DEL', 'DIV', 'DL', 'DT', 'EM', 'FONT', 'H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'HR', 'I', 'IMG', 'KBD',\n 'LI', 'NOBR', 'OL', 'P', 'PRE', 'S', 'SECTION', 'SMALL', 'SPAN', 'STRIKE', 'STRONG', 'STRONG', 'SUB',\n 'SUP', 'SVG', 'TABLE', 'TBODY', 'TD', 'TFOOT', 'TH', 'THEAD', 'TR', 'U', 'UL', 'let'\n ]\n } else {\n whiteTags = whiteTags.split(spliter).map(function (tag) {\n return tag.toUpperCase()\n })\n }\n let toArray = function (obj) {\n return [].slice.apply(obj)\n }\n toArray(dom.querySelectorAll('*')).forEach(function (node, i) {\n if (whiteTags.indexOf(node.tagName) > -1) {\n toArray(node.attributes).forEach(function (attr) {\n attrFilterRules.some(function (rule) {\n let tagMatched = rule.attrs.indexOf(attr.nodeName) > -1\n if (tagMatched) {\n if ((rule.reg && rule.reg.test(attr.nodeValue.replace(/\\s/g, ''))) || !rule.reg) {\n attr.nodeValue = rule.replaceValue\n }\n }\n return tagMatched\n })\n })\n } else {\n node.outerHTML = en(node.outerHTML)\n }\n })\n return dom.innerHTML\n}\n\n/**\n *\n * @param str - 编码html\n */\nexport const en = function (str) {\n str = (str || '').toString()\n var character = {\n '<': '<',\n '>': '>',\n '&': '&',\n '\"': '"',\n '\\'': '''\n }\n return (function () {\n return str.replace(/[<>&\"']/g, function (c) {\n return character[c]\n })\n }())\n}\n\n/**\n *节流函数 按最早时间触发 响应最早动作 保证指定间隔执行一次\n * @param action 回调动作\n * @param interval 间隔时间\n * @returns {function(...[*]=)}\n */\nexport const throttle = (action, interval = 100) => {\n let timer = 0\n return (...args) => {\n if (!timer) {\n timer = setTimeout(() => {\n action && action.apply(null, args)\n timer = 0\n }, interval)\n }\n }\n}\n\n/**\n * 节流函数 按最新时间触发 响应最新动作 连续动作只执行一次\n * @param action 回调动作\n * @param interval 间隔时间\n * @returns {function(...[*]=)}\n */\nexport const debounce = (action, interval = 100) => {\n let timer = 0\n return (...args) => {\n timer && clearTimeout(timer)\n timer = setTimeout(() => {\n action && action.apply(null, args)\n }, interval)\n }\n}\n\nexport const sessionStore = {\n getObj (key) {\n let data = {}\n try {\n data = JSON.parse(window.sessionStorage.getItem(key)) || {}\n } catch (e) {\n\n }\n return data\n },\n removeObj (key) {\n try {\n window.sessionStorage.removeItem(key)\n } catch (e) {\n error(e)\n }\n },\n setObj (key, data) {\n let result = true\n try {\n window.sessionStorage.setItem(key, JSON.stringify(data))\n } catch (e) {\n result = false\n }\n return result\n }\n}\n\nexport const randomChar = (len = 6, str = '') => {\n while (str.length < len) {\n str += String.fromCharCode((Math.random() > 0.5 ? 97 : 65) + Math.round(Math.random() * 25))\n }\n return str\n}\n// ??//\nexport const trys = (fn, ...args) => {\n try {\n fn && fn.apply(null, args)\n } catch (e) {\n error(e)\n }\n}\n\nexport const StrLen = (str) => {\n return (str || '').replace(new RegExp(Regs.strWithZhCn, 'g'), '00').length\n}\n\n/**\n * @description: 字段校验\n * @param {type} data 需要校验的字段\n * @param {type} rules 校验规则\n * @param {type} config modules.js中的config\n * @param {type} modules\n * @return: 校验结果\n */\nexport const validField = (data, rules, config, modules) => {\n const result = {\n ok: true,\n msg: ''\n }\n rules.some(rule => {\n if (!rule.ok(data, config, modules)) {\n result.ok = false\n result.msg = typeof rule.msg === 'function'\n ? rule.msg(data, config, modules)\n : rule.msg\n return true\n }\n })\n\n return result\n}\n\nexport const clearObj = (obj, whiteKeys = []) => {\n Object.keys(obj).forEach(key => {\n if (whiteKeys && whiteKeys.indexOf(key) > -1) {\n return\n }\n delete obj[key]\n })\n return obj\n}\n\nexport const clearArr = (arr) => {\n while (arr.length) {\n arr.splice(0, 1)\n }\n return arr\n}\n\nexport const isSupported = (() => {\n let funs = []\n try {\n funs = JSON.parse(window.GLOBAL_VAR.funcsOpened)\n } catch (e) {}\n return (value) => {\n return funs.includes(parseInt(value))\n }\n})()\n\nexport const isBpSupported = (() => {\n let funcs = []\n try {\n funcs = JSON.parse(window.GLOBAL_VAR.funcsOpenedUser)\n } catch (e) {}\n return (value) => {\n return funcs.includes(parseInt(value))\n }\n})()\n\nexport const parseUrl = (url) => {\n url = url || window.location.href\n if (window.URL) {\n try {\n return new window.URL(url)\n } catch (e) {}\n }\n\n let a = document.createElement('a')\n a.href = url\n return {\n protocol: a.protocol,\n host: a.host,\n hostname: a.hostname,\n href: a.href,\n origin: a.origin,\n port: a.port || '80',\n search: a.search,\n searchParams: queryToJson(a.href),\n hash: a.hash,\n pathname: a.pathname,\n password: a.password,\n username: a.username\n }\n}\n\nexport const randArr = (arr) => {\n return arr.map(value => {\n return {\n value: value,\n factor: Math.random()\n }\n })\n .sort((a, b) => a.factor - b.factor)\n .map(item => item.value)\n}\n\n/**\n * 数组全排列\n * @param list 数组\n * @returns [[]]\n */\nexport const permutation = (list) => {\n return list.length ? list.reduce((acc, x) => acc.concat(permutation(list.filter(e => e !== x)).map(a => [x].concat(a))), []) : [\n []\n ]\n}\n\n/**\n * 保留n位小数,四舍五入(toFixed四舍五入有陷阱)\n * @param number\n * @param fractionDigits\n * @returns string\n */\nexport const rounding = (number, fractionDigits) => {\n return (!isNaN(number) && !isNaN(fractionDigits)) ? (Math.round(number * Math.pow(10, fractionDigits)) / Math.pow(10, fractionDigits)).toFixed(fractionDigits) : ''\n}\n\n/**\n * 获得连续的子数组\n * 用法见 weektime.vue\n * @param arr: Array\n * @returns rangeArr: Array\n */\nexport const getContinuousChildArr = (arr) => {\n if (!(arr instanceof Array)) {\n console.error('ERROR: getContinuousChildArr() Input is not Array.')\n return []\n }\n\n let rangeArr = []\n\n let rangeStartIndex = 0\n let rangeEndIndex = 0\n arr.forEach((item, curIndex, thisArr) => {\n const nextIndex = curIndex + 1\n const nextItem = thisArr[nextIndex]\n\n const itemIsContinuous = (nextItem === item + 1)\n\n if (!itemIsContinuous) {\n if (rangeStartIndex !== rangeEndIndex) {\n rangeArr.push([\n thisArr[rangeStartIndex],\n thisArr[rangeEndIndex]\n ])\n } else {\n rangeArr.push([item])\n }\n\n rangeStartIndex = nextIndex\n rangeEndIndex = nextIndex\n } else {\n rangeEndIndex = nextIndex\n }\n })\n\n return rangeArr\n}\n\n/**\n * 将时间索引转化为字符串\n * 详情见 weektime.vue\n * @param id: String,\n * @param type: String,\n * @returns clock: String\n */\nexport const getClockString = (id, type) => {\n if (!Number.isInteger(id)) {\n console.error('ERROR: getClockString() Input id is not integer.')\n return ''\n }\n if (type !== 'start' && type !== 'end') {\n console.error('ERROR: getClockString() Input type is not legal.')\n return ''\n }\n\n let clock = ''\n let h = Math.floor(id / 2)\n let min = id % 2\n if (type === 'end' && min === 1) {\n h += 1\n }\n\n if (h <= 9) {\n clock += '0' + h\n } else {\n clock += h\n }\n if (type === 'start') {\n if (min === 1) {\n clock += ':30'\n } else {\n clock += ':00'\n }\n } else {\n if (min === 0) {\n clock += ':30'\n } else {\n clock += ':00'\n }\n }\n return clock\n}\n/**\n * 最小8位、大小写、特殊字符、数字\n * @param val\n * @returns {boolean}\n */\nexport const checkPwd = (val = '') => {\n let rules = [{\n regFun () {\n return val.replace(/\\s+/, '').length >= 8\n },\n msg: $bp_t('在8位以上', 'bp.util_tool_above_eight_digit')\n },\n {\n reg: new RegExp('[A-Z]'),\n msg: $bp_t('包含大写字母', 'bp.util_tool_include_capital_letters')\n },\n {\n reg: new RegExp('[a-z]'),\n msg: $bp_t('包含小写字母', 'bp.util_tool_include_lowercase_letters')\n },\n {\n reg: new RegExp('[0-9]'),\n msg: $bp_t('包含数字', 'bp.util_tool_include_digit')\n },\n {\n reg: new RegExp('[!%&@#\\\\$\\\\^\\\\*\\\\?_~`\\\\.\\\\/\\\\+={}:\"\\\\(\\\\);,\\\\-\\'<>\\\\[\\\\|\\\\]]'),\n msg: $bp_t('包含特殊字符', 'bp.util_tool_contains_special_characters')\n }\n ]\n let msg = ''\n if (rules.some(rule => {\n let macth = rule.regFun ? rule.regFun() : rule.reg.test(val)\n if (!macth) {\n msg = rule.msg\n return true\n }\n })) {\n return $bp_t('您的密码须', 'bp.util_tool_your_password_must_be') + ':' + msg\n }\n return msg\n}\n\nexport const isOneOf = (value, validList) => {\n for (let i = 0; i < validList.length; i++) {\n if (value === validList[i]) {\n return true\n }\n }\n return false\n}\n\n// https://lodash.com/docs/4.17.11#get\nexport {\n safetyGet\n}\n// 执行深比较来确定两者的值是否相等\n\nexport const getCascaderValue = (value, validList) => {\n let result = []\n let cascader1 = []\n let cascader2 = []\n if (!(validList && validList.length)) {\n return false\n }\n validList.forEach(function (item) {\n if (item.children) {\n cascader1 = where(item.children, {\n 'value': value\n })\n if (cascader1.length) {\n result[0] = item.value\n result[1] = value\n } else {\n item.children.forEach(function (item2) {\n if (item2.children) {\n cascader2 = where(item2.children, {\n 'value': value\n })\n if (cascader2.length) {\n result[0] = item.value\n result[1] = item2.value\n result[2] = value\n }\n }\n })\n }\n }\n })\n if (!result.length) return [value]\n return result\n}\n\nexport const getCascaderText = (value, validList) => {\n let result = []\n let cascader1 = []\n let cascader2 = []\n if (!(validList && validList.length)) {\n return false\n }\n validList.forEach(function (item) {\n if (item.children) {\n cascader1 = where(item.children, {\n 'value': value\n })\n if (cascader1.length) {\n result[0] = item.label\n result[1] = cascader1[0].label\n } else {\n item.children.forEach(function (item2) {\n if (item2.children) {\n cascader2 = where(item2.children, {\n 'value': value\n })\n if (cascader2.length) {\n result[0] = item.label\n result[1] = item2.label\n result[2] = cascader2[0].label\n }\n }\n })\n }\n }\n })\n return result\n}\n\n/**\n * @param text 文字内容\n * @param fontStyle 被计算的文字的样式\n */\nexport const measureTextWidth = (text, styleObj) => {\n /*\n * font参数的值分为\n * font-style: normal(正常), italic(斜体字), oblique(倾斜字体)\n * font-variant: normal(正常), small-caps(英文小写字母变成小的大写)\n * font-weight: normal(正常), bold(加粗) 100-900(一般不用)\n * font-size: 文字大小\n * font-family: 字体样式\n */\n styleObj = styleObj || {}\n\n let fontStyle = styleObj.fontStyle || 'normal'\n let fontVariant = styleObj.fontVariant || 'normal'\n let fontWeight = styleObj.fontWeight || 'normal'\n let fontSize = styleObj.fontSize || '14px'\n let fontFamily = styleObj.fontFamily || 'PingFangSC-Regular, tahoma, arial, \"Hiragino Sans GB\", \"Microsoft yahei\", sans-serif'\n\n let canvas = document.createElement('canvas')\n let ctx = canvas.getContext('2d')\n ctx.font = `${fontStyle} ${fontVariant} ${fontWeight} ${fontSize} ${fontFamily}`\n let width = ctx.measureText(text).width\n ctx = null\n return width\n}\n\n// 千位分隔符\nexport const milliFormat = (num) => {\n return num && num.toString()\n .replace(/(^|\\s)\\d+/g, (m) => m.replace(/(?=(?!\\b)(\\d{3})+$)/g, ','))\n}\n\n// 检测是否包含emoji\nexport const emojiCheck = (str) => {\n return new RegExp(emojiRegex).test(str)\n}\n\n/**\n * 校验输入数字合法性\n * @param str 输入数字\n * @param decimal 小数位数(=0是为整数)默认 2\n * @returns {String} 返回报错文案\n */\nexport const validNumberString = (str, decimal = 2) => {\n let decimalReg = RegExp(`^-?([0-9])+(.[0-9]{1,${decimal || 1}})?$`)\n if (!str) {\n return ''\n } else if (isNaN(str)) {\n return $bp_t('仅支持输入数字', 'bp.util_tool_only_input_numbers')\n } else if (/^-?0([0-9])+(.[0-9]{1,2})?$/.test(str)) {\n return $bp_t('不能以0开头,请正确输入', 'bp.util_tool_cannot_start_with_zero')\n } else if (decimal === 0 && !/^-?\\d+$/.test(str)) {\n return $bp_t('仅支持输入整数', 'bp.util_tool_only_integers_supported')\n } else if (decimal > 0 && !decimalReg.test(str)) {\n return $bp_t(`仅支持最多${decimal}位小数`, 'bp.util_tool_only_support_most_decimal', {\n data: decimal\n })\n }\n return ''\n}\n\nexport const uniqueArr = (arr) => {\n const x = new Set(arr)\n return [...x]\n}\n\n// 寻找 vue 组件\nexport const findComponent = function (filter, cb) {\n this.$children.forEach(child => {\n if (filter(child)) {\n cb(child)\n } else {\n findComponent.apply(child, [filter, cb])\n }\n })\n}\n\nexport const halfStrLen = (str) => {\n return StrLen(str) / 2\n}\n\n// 标题中双字节字符为1个字,单字节字符为0.5个字\nexport const calTitleLength = (value = '') => {\n let reg = new RegExp(Regs.strWithZhCn, 'g')\n return Math.ceil(value.replace(reg, '01').length / 2)\n}\n\n/**\n * 二级域名替换\n * 将当前域名的二级域名替换为targetName\n */\nexport const subDomainChange = (targetName) => {\n let hostArr = window.location.hostname.split('.')\n hostArr[0] = targetName\n return '//' + hostArr.join('.')\n}\n/**\n * 判断访问来源是否是pc\n * true则pc,false则mobile\n */\nexport const isPC = () => {\n let u = navigator.userAgent\n let Agents = ['Android', 'iPhone', 'webOS', 'BlackBerry', 'SymbianOS', 'Windows Phone', 'iPad', 'iPod']\n let flag = true\n for (let i = 0; i < Agents.length; i++) {\n if (u.indexOf(Agents[i]) > 0) {\n flag = false\n break\n }\n }\n return flag\n}\n\n/**\n * 页面跳转,对要跳转的URL做合法性校验\n * @param url 要跳转的 url\n * @param options 可选,其他配置项 {target: '_self', checkWhiteHost: true}\n */\nexport const openUrl = function (url, options = {}) {\n options = Object.assign({\n checkWhiteHost: true,\n target: '_self'\n }, options)\n\n let urlParse = parseUrl(url)\n if (/^https?:/.test(urlParse.protocol)) {\n let {\n target,\n checkWhiteHost\n } = options\n if (checkWhiteHost) {\n let white = whiteHost.some(host => {\n // 拼接一个 . 为了兼容 toutiao.com 这类的主域名\n return urlParse.hostname && ('.' + urlParse.hostname).endsWith(host)\n })\n if (!white) {\n showHint($bp_t('跳转链接有误', 'bp.util_tool_wrong_jump_link'), 'error', 3000)\n return false\n }\n }\n var a = document.createElement('a')\n a.href = Urls.updateQueryWithAdvid(urlParse.href)\n a.target = target\n a.click()\n } else {\n showHint($bp_t('跳转链接有误', 'bp.util_tool_wrong_jump_link'), 'error', 3000)\n }\n}\n\n/**\n * 受众预估数字格式化成中文单位\n * 格式化规则详见:https://wiki.bytedance.net/pages/viewpage.action?pageId=346091913\n * @param num 要格式化的数\n */\nexport const formatEstimateNum = (num) => {\n if (!isNaN(Number(num))) {\n switch (true) {\n case num < 1e4:\n num = `<1${$bp_t('万', 'common.ten_thousand')}`\n break\n case num >= 1e4 && num < 1e5:\n num = `${rounding(num / 1e4, 1)}${$bp_t('万', 'common.ten_thousand')}`\n break\n case num >= 1e5 && num < 1e6:\n num = `${rounding(num / 1e4, 0)}${$bp_t('万', 'common.ten_thousand')}`\n break\n case num >= 1e6 && num < 1e7:\n num = `${rounding(num / 1e5, 0)}0${$bp_t('万', 'common.ten_thousand')}`\n break\n case num >= 1e7 && num < 1e8:\n num = `${rounding(num / 1e6, 0)}00${$bp_t('万', 'common.ten_thousand')}`\n break\n case num >= 1e8:\n num = `${rounding(num / 1e8, 1)}${$bp_t('亿', 'bp.util_tool_a_hundred_million')}`\n break\n default:\n break\n }\n }\n return num\n}\n\n/**\n * 判断是否支持某一个css属性\n * @param attr 属性\n * @param value 属性的值\n */\nexport const cssSupport = (attr, value) => {\n var element = document.createElement('div')\n if (attr in element.style) {\n element.style[attr] = value\n return element.style[attr] === value\n } else {\n return false\n }\n}\n// \"main_brand\":{\n// \"8026\":\"OPPO\"\n// },\n// \"sub_brand\":{\n// \"8026\":{\n// \"451325\":\"OPPO K1\"\n// }\n// }\n\n/**\n * 将上面的用一级数据表示的 tree 转换为一颗 符合 byted-cascader options 的 tree\n */\nexport const data2BytedCascaderOptions = (...levels) => {\n const mainLevel = levels[0]\n const data2Option = (obj) => {\n return Object.keys(obj).map(v => ({\n label: obj[v],\n value: v\n }))\n }\n const data2Array = (obj) => {\n return Object.keys(obj).map(v => ({\n key: v,\n child: data2Option(obj[v])\n }))\n }\n const result = data2Option(mainLevel)\n let curIndex = 0\n const perform = (parent, someLevel) => {\n if (!parent || curIndex >= someLevel.length) {\n return\n }\n for (let i = 0; i < parent.length; i++) {\n if (parent[i].value === someLevel[curIndex].key) {\n parent[i].children = someLevel[curIndex].child\n curIndex++\n } else {\n perform(parent[i].children, someLevel)\n }\n }\n }\n for (let i = 1; i < levels.length; i++) {\n curIndex = 0\n perform(result, data2Array(levels[i]))\n }\n return result\n}\n\n// 摊平数组\nexport const floorArr = (arr) => {\n let res = []\n if (arr.length <= 0) {\n return res\n }\n const isArr = (v) => v instanceof Array\n arr.forEach(v => {\n res = res.concat(\n isArr(v) ? floorArr(v) : v\n )\n })\n return res\n}\n\nexport const dateDifference = (sDate1, sDate2) => { // sDate1和sDate2是2006-12-18格式\n var dateSpan\n var iDays\n sDate1 = Date.parse(sDate1)\n sDate2 = Date.parse(sDate2)\n dateSpan = sDate2 - sDate1\n dateSpan = Math.abs(dateSpan)\n iDays = Math.floor(dateSpan / (24 * 3600 * 1000))\n return iDays\n}\n\nexport const formatThousandsCommas = (num) => {\n num = String(num)\n const nums = num.split('.')\n if (nums.length) {\n nums[0] = nums[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')\n }\n return nums.join('.')\n}\n\nexport const transformMetricsParams = (item) => {\n if (!!item && item.metrics) {\n Object.keys(item.metrics).forEach(val => {\n item[val] = item.metrics[val]\n })\n }\n return item\n}\nexport const selectPath = (path) => {\n if (path === 'reports_search_words') {\n return 'reports_query'\n } else if (path === 'reports_creative_procedural') {\n return 'reports_procreative'\n } else if (path === 'bp_reports_advertiser') {\n return 'bp_reports_account'\n } else {\n return path\n }\n}\nexport const parseIntSafe = (num, def = 0, cb = parsed => parsed) => {\n const parsed = parseInt(num)\n return isNaN(parsed) ? def : cb(parsed)\n}\n\nexport const isBp = () => {\n // isBp函数兼容boe中的bp域名\n return window.location.origin.includes('business')\n}\n// 试玩素材\nexport const isPlayableMaterial = () => {\n return window.location.pathname.includes('playable_material') && !showNavigator()\n}\n\nexport const isPercentage = percentStr => /(\\d|,)+(\\.\\d\\d)?%$/.test(percentStr)\n\n/**\n * 定时去除 hot icon\n * @param {Date} now 现在时间\n * @param {number} days 保留天数\n * @param {string} date 上线日期: yyyy-mm-dd\n */\nexport const isNowDaysAfterDate = (now, days, date) => {\n const offset = dayjs(now).diff(date, 'day')\n if (offset > 0 && Math.abs(offset) > days) {\n return true\n }\n return false\n}\n\n// 是否为BOE环境\nexport const isBoe = () => {\n const origins = window.location.host.split('.')\n const secondOrigin = origins[0]\n return /^.*-boe$/.test(secondOrigin)\n}\n\n// 获取BP Host\nexport const getBusinessHost = () => {\n const onlineHost = 'https://business.oceanengine.com'\n if (isBoe()) {\n return onlineHost\n .replace('https', 'http')\n .replace('business', 'business-boe')\n }\n return onlineHost\n}\n\n// 判断是否是ad2.0\nexport const isAdV2 = () => {\n const userVersion = window.localStorage.getItem('version')\n try {\n const aadvId = window.GLOBAL_VAR.advertiser.id\n if (aadvId) {\n const version = JSON.parse(userVersion)[aadvId] || 1\n return version === 2\n } else {\n return false\n }\n } catch (e) {\n return false\n }\n}\n\n// 判断是账户密码登陆,不是附身登陆就是账户密码登陆\nexport const loginByPassword = () => {\n // staff附身,内部附身\n // coreUser附身,外部附身\n return !(window.GLOBAL_VAR?.sales !== 'false' || window.GLOBAL_VAR?.user_jobbed !== 'false')\n}\n/**\n * @desc 以下页面并且hide_main_nav=1的为嵌入页面,不显示header和leftMenu\n * @returns {boolean}\n */\nexport const showNavigator = () => {\n const query = queryToJson()\n const whiteList = new Set([\n '/pages/toolbox/material_library.html',\n '/pages/toolbox/playable_material/index.html',\n '/pages/toolbox/playable_material/create.html'\n ])\n return !(whiteList.has(window.location.pathname) && query['hide_main_nav'] === '1')\n}\nexport const getCSRFToken = () => {\n return $.cookie('csrftoken')\n}\n// 处理上传图片接口更换/nbs/api/ads/creative/material/picture/upload带来的数据差异\nexport const transformUploadImgResp = (_result, file, isAdLab = false) => {\n const result = {\n 'data': {},\n 'code': _result.code,\n 'extra': _result.extra,\n 'msg': _result.msg\n }\n if (_result.code !== 0) {\n return result\n }\n try {\n if (isAdLab) {\n result.data = {\n 'images': [\n {\n 'exist': false,\n 'image_info': {\n 'file_name': file.name,\n 'height': _result.data.height,\n 'ratio': 1,\n 'web_uri': _result.data.web_uri,\n 'width': _result.data.width\n },\n 'sign_url': _result.data.sign_url,\n 'uri': [_result.data.web_uri],\n 'url': _result.data.web_uri,\n 'image_mode': '3'\n },\n {\n 'exist': false,\n 'image_info': {\n 'file_name': file.name,\n 'height': _result.data.width,\n 'ratio': 1,\n 'web_uri': _result.data.web_uri,\n 'width': _result.data.height\n },\n 'sign_url': _result.data.sign_url,\n 'uri': [_result.data.web_uri],\n 'url': _result.data.web_uri,\n 'image_mode': '16'\n }\n ],\n 'only_upload': false\n }\n } else {\n result.data = {\n 'exist': false,\n 'image_info': {\n 'file_name': file.name,\n 'height': _result.data.height,\n 'ratio': 1,\n 'web_uri': _result.data.web_uri,\n 'width': _result.data.width\n },\n 'sign_url': _result.data.sign_url,\n 'uri': [_result.data.web_uri],\n 'url': _result.data.web_uri\n }\n }\n } catch (e) {}\n return result\n}\n// 处理剪切图片接口更换/nbs/api/ads/creative/material/picture/crop带来的数据差异\nexport const transformCropImgResp = (_result, temp) => {\n const result = {\n 'data': {},\n 'code': _result.code,\n 'extra': _result.extra,\n 'msg': _result.msg\n }\n if (_result.code !== 0) {\n return result\n }\n try {\n result.data = {\n 'exist': false,\n 'image_info': {\n 'file_name': temp.id,\n 'height': _result.data.height,\n 'ratio': 1,\n 'web_uri': _result.data.web_uri,\n 'width': _result.data.width\n },\n 'sign_url': _result.data.sign_url,\n 'uri': [_result.data.web_uri],\n 'url': _result.data.web_url\n }\n } catch (e) {}\n return result\n}\n\n// 拼接数据\nexport const transformJssDKData = (info) => {\n return {\n ...info,\n video: {\n bitrate: info?.uploadResult?.VideoMeta?.Bitrate,\n duration: info?.uploadResult?.VideoMeta?.Duration,\n fileType: info?.uploadResult?.VideoMeta?.FileType,\n format: info?.uploadResult?.VideoMeta?.Format,\n height: info?.uploadResult?.VideoMeta?.Height,\n md5: info?.uploadResult?.VideoMeta?.Md5,\n originHeight: info?.uploadResult?.VideoMeta?.OriginHeight,\n originWidth: info?.uploadResult?.VideoMeta?.OriginWidth,\n size: info?.uploadResult?.VideoMeta?.Size,\n uri: info?.uploadResult?.VideoMeta?.Uri,\n width: info?.uploadResult?.VideoMeta?.Width,\n codec: info?.uploadResult?.VideoMeta?.Codec\n },\n poster: {\n oid: info?.uploadResult?.PosterUri\n },\n vid: info?.uploadResult?.Vid,\n uploadID: info?.UploadHeader?.UploadID || 0,\n statusCode: info?.res?.status || 200\n }\n}\n\nexport default {\n transformJssDKData,\n showHint,\n isAdV2,\n loginByPassword,\n jsonToQuery,\n queryToJson,\n getValFromArray,\n getStringLen,\n getStr,\n updateQueryNoRefresh,\n updateQueryRefresh,\n replaceQueryNoRefresh,\n repeat,\n secondToMinute,\n parseSecondToDate,\n dateFormat,\n getTotalDaysOfTimeRange,\n timestampConverter,\n getTodayTimestamp,\n formatBigNum,\n type,\n getKeyByValue,\n getObjectKeyByValue,\n log,\n error,\n secHtmlNew,\n secHtml,\n en,\n throttle,\n debounce,\n sessionStore,\n randomChar,\n trys,\n StrLen,\n validField,\n clearObj,\n clearArr,\n isSupported,\n isBpSupported,\n parseUrl,\n randArr,\n permutation,\n rounding,\n getContinuousChildArr,\n getClockString,\n checkPwd,\n isOneOf,\n safetyGet,\n getCascaderValue,\n getCascaderText,\n measureTextWidth,\n milliFormat,\n emojiCheck,\n validNumberString,\n uniqueArr,\n findComponent,\n halfStrLen,\n calTitleLength,\n subDomainChange,\n isPC,\n openUrl,\n formatEstimateNum,\n cssSupport,\n data2BytedCascaderOptions,\n floorArr,\n dateDifference,\n formatThousandsCommas,\n transformMetricsParams,\n parseIntSafe,\n isBp,\n isPercentage,\n isNowDaysAfterDate,\n isBoe,\n getBusinessHost,\n showNavigator\n}\n","/**\n * @file JSON格式数据处理相关API\n * @author lizhuo(lizhuo@bytedance.com)\n */\n\n/**\n * 将JSON数据解析为JS对象,可捕获异常\n * @param {string} json JSON形式的字符串,可以不符合json规则或undefined\n * @returns {object} obj 经JSON.parse()后的结果,若无法解析,则为undefined\n */\nexport function catchableParse (json) {\n try {\n return JSON.parse(json)\n } catch (e) {}\n}\nexport function uniqArray (array) {\n let resultArray = []\n if (array && array.length) {\n array.forEach(function (item) {\n let value = $.trim(item)\n if (value.length) {\n resultArray.push(value)\n }\n })\n }\n return resultArray\n}\n\n/**\n *\n * @param source\n * @returns {*}\n */\nexport function deepCopy (source) {\n let str, newobj\n if (typeof source !== 'object') {\n return\n }\n try {\n newobj = source.constructor === Array ? [] : {}\n } catch (e) {\n return\n }\n if (window.JSON) {\n str = JSON.stringify(source)\n newobj = JSON.parse(str)\n } else {\n for (let i in source) {\n newobj[i] = typeof source[i] === 'object' ? this.deepCopy(source[i]) : source[i]\n }\n }\n return newobj\n}\n\nexport default {\n catchableParse,\n uniqArray,\n deepCopy\n}\n","module.exports = __webpack_public_path__ + \"static/image/lesson_path_4.svg?c4977453a1172700d690dc4353ff224d\";","\nvar content = require(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","export * from \"-!../../../../node_modules/style-loader/index.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./success-cases.vue?vue&type=style&index=0&id=2baf00ce&scoped=true&lang=scss&\"","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".ad-lessons-container[data-v-67b799ff]{margin:20px 0;width:100%;height:114px;font-family:PingFangSC-Medium;display:flex;justify-content:space-between}.ad-lessons-container .ad-lesson[data-v-67b799ff]{display:inline-block;width:285px;height:100%;background:#FFFFFF;border-radius:4px;position:relative;vertical-align:middle;cursor:pointer;transition:all .5s}.ad-lessons-container .ad-lesson[data-v-67b799ff]:hover{transform:translateY(-3px);box-shadow:0px 4px 20px 0px rgba(10,33,64,0.07)}.ad-lessons-container .ad-lesson .img-style[data-v-67b799ff]{width:74px;height:74px;border-radius:50%;position:absolute;right:20px;top:20px}.ad-lessons-container .ad-lesson .img-style img[data-v-67b799ff]{width:100%;height:100%;border-radius:50%}.ad-lessons-container .ad-lesson .lesson-show-title[data-v-67b799ff]{width:161px;height:24px;font-size:16px;font-family:PingFangSC-Semibold;font-weight:600;color:#222;line-height:24px;margin:27px 10px 0 20px}.ad-lessons-container .ad-lesson .lesson-show-content[data-v-67b799ff]{width:163px;height:20px;font-size:14px;font-family:PingFangSC-Regular;font-weight:400;color:#999;line-height:20px;margin:16px 8px 27px 20px}\\n\", \"\"]);\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./auto-slider-bar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./auto-slider-bar.vue?vue&type=script&lang=js&\"","export default {\n data () {\n return {\n curIndex: 0,\n totalSliders: []\n }\n },\n props: {\n sliderNum: {\n type: Number,\n default: 3\n },\n width: {\n type: Number,\n default: 44\n },\n height: {\n type: Number,\n default: 5\n },\n step: {\n type: Number,\n default: 0.15\n },\n isStop: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n sliderContainerStyle () {\n return {\n 'width': this.width + 'px',\n 'height': this.height + 'px'\n }\n }\n },\n mounted () {\n Object.keys(Array.apply(null, { length: this.sliderNum })).forEach((value) => {\n this.totalSliders.push({\n width: 0\n })\n })\n this.autoSlide()\n },\n methods: {\n autoSlide () {\n if (this.isStop) {\n setTimeout(this.autoSlide, 10)\n return\n }\n let curObj = this.totalSliders[this.curIndex]\n\n curObj.width += this.step\n if (curObj.width >= this.width) {\n this.curIndex++\n this.curIndex = this.curIndex >= this.sliderNum ? 0 : this.curIndex\n setTimeout(() => {\n curObj.width = 0\n this.$emit('changeImg', this.curIndex)\n this.autoSlide()\n }, 600)\n } else {\n setTimeout(this.autoSlide, 10)\n }\n },\n selectSomeone (value, index) {\n if (index === this.curIndex) return\n this.totalSliders.forEach(item => {\n item.width = 0\n })\n this.curIndex = index\n this.$emit('changeImg', this.curIndex)\n }\n }\n}\n","import { render, staticRenderFns } from \"./auto-slider-bar.vue?vue&type=template&id=3fa39526&scoped=true&\"\nimport script from \"./auto-slider-bar.vue?vue&type=script&lang=js&\"\nexport * from \"./auto-slider-bar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./auto-slider-bar.vue?vue&type=style&index=0&id=3fa39526&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3fa39526\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"auto-slider-bar\"},_vm._l((_vm.totalSliders),function(value,key){return _c('div',{staticClass:\"slider-container\",style:(_vm.sliderContainerStyle),on:{\"click\":function($event){_vm.selectSomeone(value, key)}}},[_c('div',{staticClass:\"slider-active\",style:({'width': value.width + 'px'})})])}))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./carousel-map.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./carousel-map.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./carousel-map.vue?vue&type=template&id=2e9f7ed8&scoped=true&\"\nimport script from \"./carousel-map.vue?vue&type=script&lang=js&\"\nexport * from \"./carousel-map.vue?vue&type=script&lang=js&\"\nimport style0 from \"./carousel-map.vue?vue&type=style&index=0&id=2e9f7ed8&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2e9f7ed8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"carousel-container\",style:(_vm.isWhite ? 'width: 1198px;' : 'width: 840px;')},[_c('byted-carousel',{attrs:{\"arrow\":\"hover\",\"autoplay\":true,\"loop\":true,\"dots-type\":\"solid\",\"dots-style\":{align: 'center', dotsWidth: 38}},on:{\"change\":_vm.changeImage}},_vm._l((_vm.slideList),function(item,index){return _c('byted-carousel-item',{key:item.img},[_c('img',{attrs:{\"src\":item.img},on:{\"click\":function($event){_vm.imageClick(index)}}})])}))],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ad-lessons.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ad-lessons.vue?vue&type=script&lang=js&\"","\n\n\n\n\n\n","import { render, staticRenderFns } from \"./ad-lessons.vue?vue&type=template&id=67b799ff&scoped=true&\"\nimport script from \"./ad-lessons.vue?vue&type=script&lang=js&\"\nexport * from \"./ad-lessons.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ad-lessons.vue?vue&type=style&index=0&id=67b799ff&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"67b799ff\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ad-lessons-container\"},_vm._l((_vm.lessons),function(lesson,index){return _c('div',{staticClass:\"ad-lesson\",on:{\"click\":function($event){_vm.go2path(lesson)}}},[_c('div',{staticClass:\"lesson-show-title\"},[_vm._v(_vm._s(lesson.title))]),_vm._v(\" \"),_c('div',{staticClass:\"lesson-show-content\",attrs:{\"title\":lesson.description}},[_vm._v(_vm._s(lesson.description))]),_vm._v(\" \"),_c('div',{staticClass:\"img-style\"},[_c('img',{attrs:{\"src\":_vm.imgs[index]}})])])}))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ad-products.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ad-products.vue?vue&type=script&lang=js&\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./ad-products.vue?vue&type=template&id=594998cd&scoped=true&\"\nimport script from \"./ad-products.vue?vue&type=script&lang=js&\"\nexport * from \"./ad-products.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ad-products.vue?vue&type=style&index=0&id=594998cd&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"594998cd\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ad-products-container\"},[_c('div',{staticClass:\"ad-products-title\"},[_c('span',{staticClass:\"title\"},[_vm._v(\"产品专区\")]),_vm._v(\" \"),_c('a',{staticClass:\"more\",attrs:{\"href\":\"/academy/product_list/\",\"target\":\"_blank\"},on:{\"mouseenter\":function($event){_vm.hoverImg = true},\"mouseleave\":function($event){_vm.hoverImg = false}}},[_vm._v(\"\\n 更多\\n \"),(_vm.hoverImg)?_c('img',{attrs:{\"src\":require(\"../../../static/images/icon/login-icon/help_more_hover.svg\")}}):_c('img',{attrs:{\"src\":require(\"../../../static/images/icon/login-icon/help_more.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"ad-products\"},[_c('transition-group',{attrs:{\"name\":\"opacity-switch\"}},_vm._l((_vm.products),function(product){return _c('div',{key:product.title,staticClass:\"ad-product\",on:{\"mouseenter\":function($event){product.isHover = true},\"mouseleave\":function($event){product.isHover = false}}},[_c('img',{staticClass:\"img-style\",attrs:{\"src\":_vm.getSrc(product.img)}}),_vm._v(\" \"),_c('div',{staticClass:\"product-title\"},[_vm._v(_vm._s(product.title))]),_vm._v(\" \"),(product.link && product.product_link)?_c('transition-group',{staticClass:\"btn-list\",attrs:{\"name\":\"opacity\",\"tag\":\"div\"}},[(product.isHover)?_c('div',{key:product.desc,staticClass:\"product-button-list\"},[_c('div',{key:product.product_link,staticClass:\"product-btn-course\",on:{\"click\":function($event){_vm.go2ProductLesson(product)}}},[_vm._v(\"产品教程\")]),_vm._v(\" \"),_c('div',{key:product.link,staticClass:\"product-btn-use\",on:{\"click\":function($event){_vm.go2Product(product)}}},[_vm._v(\"立即使用\")])]):_vm._e()]):_vm._e(),_vm._v(\" \"),_c('transition-group',{attrs:{\"name\":\"opacity-desc\",\"tag\":\"div\"}},[(!product.isHover || !product.link)?_c('div',{key:product.desc,staticClass:\"product-content\",attrs:{\"title\":product.desc}},[_vm._v(_vm._s(product.desc))]):_vm._e()])],1)}))],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./help-center.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./help-center.vue?vue&type=script&lang=js&\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./help-center.vue?vue&type=template&id=1fc3fd39&scoped=true&\"\nimport script from \"./help-center.vue?vue&type=script&lang=js&\"\nexport * from \"./help-center.vue?vue&type=script&lang=js&\"\nimport style0 from \"./help-center.vue?vue&type=style&index=0&id=1fc3fd39&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1fc3fd39\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"help-center-container\"},[_c('div',{staticClass:\"help-center-title\"},[_c('span',{staticClass:\"title\"},[_vm._v(\"帮助中心\")]),_vm._v(\" \"),_c('a',{staticClass:\"more\",attrs:{\"href\":_vm.helpData.more,\"target\":\"_blank\"},on:{\"mouseenter\":function($event){_vm.hoverImg = true},\"mouseleave\":function($event){_vm.hoverImg = false}}},[_vm._v(\"\\n 更多\\n \"),(_vm.hoverImg)?_c('img',{attrs:{\"src\":require(\"../../../static/images/icon/login-icon/help_more_hover.svg\")}}):_c('img',{attrs:{\"src\":require(\"../../../static/images/icon/login-icon/help_more.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"help-center-content\"},[_vm._l((_vm.listData),function(content){return _c('div',{staticClass:\"content\",on:{\"mouseenter\":function($event){content.detailHover = true},\"mouseleave\":function($event){content.detailHover = false},\"click\":function($event){_vm.go2Link(content)}}},[_c('img',{staticClass:\"icon\",attrs:{\"src\":content.icon}}),_vm._v(\" \"),_c('span',{staticClass:\"content-title\"},[_vm._v(_vm._s(content.title))]),_vm._v(\" \"),_c('span',{staticClass:\"detail\"},[_vm._v(\"\\n 查看详情\\n \"),(content.detailHover)?_c('img',{staticClass:\"help_more\",attrs:{\"src\":require(\"../../../static/images/icon/login-icon/help_more_hover.svg\")}}):_c('img',{staticClass:\"help_more\",attrs:{\"src\":require(\"../../../static/images/icon/login-icon/help_more.svg\")}})])])}),_vm._v(\" \"),_c('section',{staticClass:\"vertical-line\"})],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./courses.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./courses.vue?vue&type=script&lang=js&\"","\n\n\n\n","import { render, staticRenderFns } from \"./courses.vue?vue&type=template&id=6514681d&scoped=true&\"\nimport script from \"./courses.vue?vue&type=script&lang=js&\"\nexport * from \"./courses.vue?vue&type=script&lang=js&\"\nimport style0 from \"./courses.vue?vue&type=style&index=0&id=6514681d&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6514681d\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"courses-container\"},[_c('div',{staticClass:\"courses-title\"},[_c('span',{class:[{'title': _vm.activeStatus === 'new'}, {'sub-title': _vm.activeStatus !== 'new'}],on:{\"click\":function($event){_vm.activeStatus='new'}}},[_vm._v(\"最新课程\")]),_vm._v(\" \"),_c('span',{class:[{'title': _vm.activeStatus === 'hot'}, {'sub-title': _vm.activeStatus !== 'hot'}],on:{\"click\":function($event){_vm.activeStatus='hot'}}},[_vm._v(\"最热课程\")]),_vm._v(\" \"),_c('a',{staticClass:\"more\",attrs:{\"href\":_vm.newCourseData.more,\"target\":\"_blank\"},on:{\"mouseenter\":function($event){_vm.hoverImg = true},\"mouseleave\":function($event){_vm.hoverImg = false}}},[_vm._v(\"\\n 更多\\n \"),(_vm.hoverImg)?_c('img',{attrs:{\"src\":require(\"../../../static/images/icon/login-icon/help_more_hover.svg\")}}):_c('img',{attrs:{\"src\":require(\"../../../static/images/icon/login-icon/help_more.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"courses-content-recommend\"},_vm._l((_vm.items),function(item){return _c('div',{staticClass:\"content-without-img\"},[_c('a',{staticClass:\"content-title\",attrs:{\"href\":item.link,\"target\":\"_blank\"}},[_vm._v(_vm._s(item.title))])])}))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./success-cases.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./success-cases.vue?vue&type=script&lang=js&\"","\n\n\n\n","import { render, staticRenderFns } from \"./success-cases.vue?vue&type=template&id=2baf00ce&scoped=true&\"\nimport script from \"./success-cases.vue?vue&type=script&lang=js&\"\nexport * from \"./success-cases.vue?vue&type=script&lang=js&\"\nimport style0 from \"./success-cases.vue?vue&type=style&index=0&id=2baf00ce&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2baf00ce\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"success-cases-container\"},[_c('div',{staticClass:\"success-cases-title\"},[_c('span',{staticClass:\"title\"},[_vm._v(\"成功案例\")]),_vm._v(\" \"),_c('a',{staticClass:\"more\",attrs:{\"href\":\"/academy/case/\",\"target\":\"_blank\"},on:{\"mouseenter\":function($event){_vm.hoverImg = true},\"mouseleave\":function($event){_vm.hoverImg = false}}},[_vm._v(\"\\n 更多\\n \"),(_vm.hoverImg)?_c('img',{attrs:{\"src\":require(\"../../../static/images/icon/login-icon/help_more_hover.svg\")}}):_c('img',{attrs:{\"src\":require(\"../../../static/images/icon/login-icon/help_more.svg\")}})])]),_vm._v(\" \"),_c('div',{staticClass:\"success-cases-content\"},_vm._l((_vm.contents),function(content){return _c('div',{staticClass:\"content\",on:{\"click\":function($event){_vm.go2Link(content)}}},[_c('div',{staticClass:\"img-style\"},[_c('img',{attrs:{\"src\":content.image}})]),_vm._v(\" \"),_c('img',{staticClass:\"img-icon\",attrs:{\"src\":content.icon}}),_vm._v(\" \"),_c('div',{staticClass:\"content-title\"},[_vm._v(_vm._s(content.title))]),_vm._v(\" \"),_c('div',{staticClass:\"blue-line\"}),_vm._v(\" \"),_c('div',{staticClass:\"content-title-sub\"},[_vm._v(_vm._s(content.subTitle))]),_vm._v(\" \"),_c('div',{staticClass:\"content-title-tag\"},_vm._l((_vm.tags),function(tag){return _c('a',{attrs:{\"href\":content.link}},[_vm._v(\"\\n \"+_vm._s(tag.name)+\"\\n \"),_c('div',{staticClass:\"vertical-line\"})])})),_vm._v(\" \"),_c('div',{staticClass:\"horizonal-line\"}),_vm._v(\" \"),_c('div',{staticClass:\"statistics\"},_vm._l((content.dataArr),function(item){return _c('div',{staticClass:\"stat\"},[_c('div',{staticClass:\"stat-num\"},[_vm._v(_vm._s(item.value)),_c('span',{staticStyle:{\"font-size\":\"12px\"}},[_vm._v(_vm._s(item.unit))])]),_vm._v(\" \"),_c('div',{class:['stat-title', {'margin-right-t': item.right}]},[_vm._v(_vm._s(item.type))])])}))])}))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=js&\"","\n\n\n","import { render, staticRenderFns } from \"./login.vue?vue&type=template&id=b331dc6a&\"\nimport script from \"./login.vue?vue&type=script&lang=js&\"\nexport * from \"./login.vue?vue&type=script&lang=js&\"\nimport style0 from \"./login.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!this.isLoading)?_c('byted-layout',[_c('template',{slot:\"header\"},[_c('div',{staticClass:\"login-header\"},[_c('div',{attrs:{\"id\":\"root-common-header\"}})])]),_vm._v(\" \"),_c('div',{staticClass:\"content-container\"},[_c('carousel-map',{staticClass:\"carousel-map-style\",attrs:{\"isWhite\":this.isWhite}}),_vm._v(\" \"),(!this.isWhite)?_c('div',{staticClass:\"login-style\",attrs:{\"id\":\"login\"}}):_vm._e(),_vm._v(\" \"),_c('ad-lessons',{attrs:{\"learning-path-data\":_vm.loginData.learning_path_data}}),_vm._v(\" \"),_c('ad-products'),_vm._v(\" \"),_c('help-center',{attrs:{\"help-data\":_vm.loginData.help_data}}),_vm._v(\" \"),_c('courses',{attrs:{\"new-course-data\":_vm.loginData.new_course_data}}),_vm._v(\" \"),_c('success-cases')],1),_vm._v(\" \"),_c('new-footer')],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import 'Src/basic/new-boot/index'\nimport Apps from 'Src/pagelets/login.vue'\nVue.config.devtools = true\n\nexport default new Vue({\n el: '#app',\n render: creator => creator(Apps)\n})\n","exports = module.exports = require(\"../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".ad-color-text-link{color:#2F88FF}.ad-color-text{color:#333}.ad-color-active{color:#2F88FF}.ad-color-text-hint{color:#999}.ad-color-text-body{color:#666}.ad-color-text-holder{color:#C1C1C1}.ad-color-text-border-hint{color:#F45858}.ad-d-hide{display:none !important}.ad-d-flex,.ad-btn{display:flex;align-items:center}.ad-d-flex-grow{flex-grow:1}.ad-d-flex-column{flex-direction:column}.ad-d-flex-row{flex-direction:row}.ad-d-flex-column-reverse{flex-direction:column-reverse}.ad-d-flex-around{justify-content:space-around !important}.ad-d-flex-between{justify-content:space-between !important}.ad-d-flex-center,.ad-btn{justify-content:center !important}.ad-d-flex-end{justify-content:flex-end !important}.ad-d-flex-start{justify-content:flex-start !important}.ad-d-flex-align-start{align-items:flex-start}.ad-d-flex-align-center{align-items:center}.ad-d-flex-align-flex-end{align-items:flex-end}.ad-d-flex-align-self-end{align-self:flex-end}.ad-font-size-sm{font-size:12px;line-height:20px}.ad-font-size{font-size:14px;line-height:20px}.ad-font-size-lg{font-size:16px}.ad-font-size-xlg{font-size:18px}.ad-font-size-xxlg{font-size:28px}.ad-font-weight-thin{font-weight:100}.ad-font-weight-extralight{font-weight:200}.ad-font-weight-light{font-weight:300}.ad-font-weight-normal{font-weight:400}.ad-font-weight-medium{font-weight:500}.ad-font-weight-semibold{font-weight:600}.ad-font-weight-bold{font-weight:700}.ad-font-weight-extrabold{font-weight:800}.ad-font-weight-black{font-weight:900}.ad-m{margin:16px}.ad-m-l{margin-left:16px}.ad-m-l-md{margin-left:24px}.ad-m-l-lg{margin-left:32px}.ad-m-l-xlg{margin-left:48px}.ad-m-l-sm{margin-left:12px}.ad-m-l-xxs{margin-left:4px}.ad-m-l-xs{margin-left:8px}.ad-m-l-auto{margin-left:auto}.ad-m-l-zero{margin-bottom:0 !important}.ad-m-t{margin-top:16px}.ad-m-t-md{margin-top:24px}.ad-m-t-lg{margin-top:32px}.ad-m-t-xlg{margin-top:48px}.ad-m-t-sm{margin-top:12px}.ad-m-t-xms{margin-top:6px}.ad-m-t-xxs{margin-top:4px}.ad-m-t-xs{margin-top:8px}.ad-m-t-auto{margin-top:auto}.ad-m-t-zero{margin-bottom:0 !important}.ad-m-r{margin-right:16px}.ad-m-r-md{margin-right:24px}.ad-m-r-lg{margin-right:32px}.ad-m-r-xlg{margin-right:48px}.ad-m-r-sm{margin-right:12px}.ad-m-r-xxs{margin-right:4px}.ad-m-r-xs{margin-right:8px}.ad-m-r-auto{margin-right:auto}.ad-m-r-zero{margin-bottom:0 !important}.ad-m-b{margin-bottom:16px}.ad-m-b-md{margin-bottom:24px}.ad-m-b-lg{margin-bottom:32px}.ad-m-b-xlg{margin-bottom:48px}.ad-m-b-sm{margin-bottom:12px}.ad-m-b-xxs{margin-bottom:4px}.ad-m-b-xs{margin-bottom:8px}.ad-m-b-auto{margin-bottom:auto}.ad-m-b-zero{margin-bottom:0 !important}.ad-m-xlg{margin:48px}.ad-m-lg{margin:32px}.ad-m-md{margin:24px}.ad-m-sm{margin:12px}.ad-m-xxs{margin:4px}.ad-m-xs{margin:8px}.ad-m-auto{margin:auto}.ad-m-zero{margin:0 !important}.ad-p{padding:16px}.ad-p-l{padding-left:16px}.ad-p-l-md{padding-left:24px}.ad-p-l-lg{padding-left:32px}.ad-p-l-xlg{padding-left:48px}.ad-p-l-sm{padding-left:12px}.ad-p-l-xs{padding-left:8px}.ad-p-l-xxs{padding-left:4px}.ad-p-t{padding-top:16px}.ad-p-t-md{padding-top:24px}.ad-p-t-lg{padding-top:32px}.ad-p-t-xlg{padding-top:48px}.ad-p-t-sm{padding-top:12px}.ad-p-t-xs{padding-top:8px}.ad-p-t-xxs{padding-top:4px}.ad-p-r{padding-right:16px}.ad-p-r-md{padding-right:24px}.ad-p-r-lg{padding-right:32px}.ad-p-r-xlg{padding-right:48px}.ad-p-r-sm{padding-right:12px}.ad-p-r-xs{padding-right:8px}.ad-p-b{padding-bottom:16px}.ad-p-b-md{padding-bottom:24px}.ad-p-b-lg{padding-bottom:32px}.ad-p-b-xlg{padding-bottom:48px}.ad-p-b-sm{padding-bottom:12px}.ad-p-b-xs{padding-bottom:8px}.ad-p-b-xxs{padding-bottom:4px}.ad-p-md{padding:24px}.ad-p-lg{padding:32px}.ad-p-xlg{padding:48px}.ad-p-sm{padding:12px}.ad-p-xs{padding:8px}.ad-p-xxs{padding:4px}.ad-w-100{width:100%}.ad-w-90{width:90%}.ad-w-80{width:80%}.ad-w-70{width:70%}.ad-w-60{width:60%}.ad-w-50{width:50%}.ad-w-40{width:40%}.ad-w-30{width:30%}.ad-w-20{width:20%}.ad-w-10{width:10%}.ad-h-100{height:100%}.ad-h-90{height:90%}.ad-h-80{height:80%}.ad-h-70{height:70%}.ad-h-60{height:60%}.ad-h-50{height:50%}.ad-h-40{height:40%}.ad-h-30{height:30%}.ad-h-20{height:20%}.ad-h-10{height:10%}.ad-z-index-10{z-index:10}.ad-z-index-20{z-index:20}.ad-z-index-30{z-index:30}.ad-z-index-40{z-index:40}.ad-z-index-50{z-index:40}.ad-flex-1{flex:1 1 0%}.ad-flex-auto{flex:1 1 auto}.ad-flex-initial{flex:0 1 auto}.ad-flex-grow{flex:1 0 auto}.ad-flex-none{flex:none}.ad-text-xs{font-size:12px;line-height:20px}.ad-text-sm{font-size:13px;line-height:20px}.ad-text-base{font-size:14px;line-height:22px}.ad-text-lg{font-size:16px;line-height:24px}.ad-text-xl{font-size:20px;line-height:28px}.ad-text-2xl{font-size:24px;line-height:32px}.ad-text-3xl{font-size:26px;line-height:34px}.ad-text-4xl{font-size:28px;line-height:36px}.ad-text-5xl{font-size:30px;line-height:38px}.ad-text-6xl{font-size:32px;line-height:40px}.ad-text-7xl{font-size:34px;line-height:42px}.ad-text-8xl{font-size:36px;line-height:44px}.ad-overflow-auto{overflow:auto}.ad-overflow-hidden{overflow:hidden}.ad-overflow-visible{overflow:visible}.ad-overflow-scroll{overflow:scroll}.ad-overflow-x-auto{overflow-x:auto}.ad-overflow-y-auto{overflow-y:auto}.ad-overflow-x-hidden{overflow-x:hidden}.ad-overflow-y-hidden{overflow-y:hidden}.ad-overflow-x-visible{overflow-x:visible}.ad-overflow-y-visible{overflow-y:visible}.ad-overflow-x-scroll{overflow-x:scroll}.ad-overflow-y-scroll{overflow-y:scroll}@font-face{font-family:'bui-num';font-weight:400;src:url(\\\"//sf1-ttcdn-tos.pstatp.com/obj/ttfe/adfe/bui/font/Oswald-Regular.ttf\\\")}@font-face{font-family:'bui-num';font-weight:500;src:url(\\\"//sf1-ttcdn-tos.pstatp.com/obj/ttfe/adfe/bui/font/Oswald-Medium.ttf\\\")}@font-face{font-family:'bui-num';font-weight:600;src:url(\\\"//sf1-ttcdn-tos.pstatp.com/obj/ttfe/adfe/bui/font/Oswald-SemiBold.ttf\\\")}@font-face{font-family:'report-oppo-sans';src:url(\\\"//lf3-static.bytednsdoc.com/obj/eden-cn/ukj_zsvva_kuh_ayvwly/ljhwZthlaukjlkulzlp/font-face/OPPOSans-H.ttf\\\")}.bui-num{font-family:'bui-num'}.report-oppo-sans{font-family:'report-oppo-sans'}body{font-family:PingFangSC-Regular, tahoma, arial, \\\"Hiragino Sans GB\\\", \\\"Microsoft yahei\\\", sans-serif;background:#F9F9F9;color:#333}body .byted-layout .layout-body .layout-content{height:auto;overflow:inherit;background-color:#F9F9F9}body .intelli-app-wrapper{z-index:2003 !important}.ad-icon{position:relative;display:inline-block;width:16px;height:16px;line-height:16px;cursor:pointer}.ad-icon-lg{width:26px;height:26px;line-height:26px}.ad-icon img{width:100%;height:100%;vertical-align:top}.align-left{text-align:left}.align-center{text-align:center}.align-right{text-align:right}.transparent{background-color:rgba(0,0,0,0) !important}.relative{position:relative}.absolute{position:absolute}.cover{position:absolute;top:0;left:0;right:0;bottom:0}.pointer{cursor:pointer}.ad-row-title{font-size:22px;margin-bottom:32px}.ad-scroller-content-wrap{display:flex;justify-content:flex-start}.ad-con-right{padding:16px;flex-grow:1}.ad-con-right-fold{padding:12px;flex-grow:1;z-index:666}.no-select{user-select:none}input,textarea{font-size:14px;color:#C1C1C1}.ad-link{color:#2F88FF}.ad-link:hover,.ad-link:visited,.ad-link:active{color:#2F88FF;text-decoration:none}.row-spliter{background:#E4E9ED;margin:48px 0;width:790px;height:1px;margin-left:20px}.row-normal{line-height:34px;height:34px}.bui-icon-link{vertical-align:-1px}.icon-in-button{top:-1px;vertical-align:bottom}.ad-icon-offset svg{margin-top:-2px}.ad-spliter,.ad-spliter-slash{width:1px;height:16px;background:#e4e9ed}.ad-spliter-slash{transform:rotate(20deg)}.ad-btn{cursor:pointer;user-select:none;background:#f8f8f8;border-radius:4px;border:1px solid #dadfe3;height:30px}.ad-link-text-btn{color:#2F88FF}.ad-link-text-btn .byted-icon svg,.ad-link-text-btn .bui-icon svg{fill:#2F88FF}.ad-link-text-btn .byted-icon,.ad-link-text-btn .bui-icon{top:1px}.ad-link-text-btn:focus{color:#1C68D9}.ad-link-text-btn:focus .byted-icon svg,.ad-link-text-btn:focus .bui-icon svg{fill:#1C68D9}.ad-link-text-btn:hover{color:#57a5ff}.ad-link-text-btn:hover .byted-icon svg,.ad-link-text-btn:hover .bui-icon svg{fill:#57a5ff}.ad-link-text-btn:active{color:#1C68D9}.ad-link-text-btn:active .byted-icon svg,.ad-link-text-btn:active .bui-icon svg{fill:#1C68D9}.ad-link-text-btn[disabled]{color:#A8D7FF}.ad-link-text-btn[disabled] .byted-icon svg,.ad-link-text-btn[disabled] .bui-icon svg{fill:#A8D7FF}.creative-workbench-iframe-bg{background-color:rgba(0,0,0,0.65);z-index:1999}.creative-workbench-container{z-index:1999;transition:transform linear .1s, width linear .1s}.creative-workbench-btn-text{font-size:14px;color:#fff;font-weight:400}.creative-workbench-btn-icon-loading{width:16px;height:16px;position:relative}.creative-workbench-btn-icon-loading .rotate{display:inline-block;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.creative-workbench-btn-icon-loading .rotate svg{fill:#fff;position:absolute}.creative-workbench-btn-icon-loading .rotate-small{width:66.7%;height:66.7%}.creative-workbench-btn-icon-loading .rotate-small svg{-webkit-animation:rotate1 linear 2.5s infinite;animation:rotate1 linear 2.5s infinite}.creative-workbench-btn-icon-loading .rotate-large{width:100%;height:100%}.creative-workbench-btn-icon-loading .rotate-large svg{-webkit-animation:rotate linear 2s infinite;animation:rotate linear 2s infinite}@keyframes animal{0%{transform:rotate(0deg);-ms-transform:rotate(0deg);-webkit-transform:rotate(0deg)}100%{transform:rotate(-360deg);-ms-transform:rotate(-360deg);-webkit-transform:rotate(-360deg)}}.link-dimension-help{margin-left:-16px;font-size:12px}\\n\", \"\"]);\n\n","/**\n * @file url处理相关API\n * @author zhoujiequn(zhoujiequn@bytedance.com)\n * lizhuo(lizhuo@bytedance.com)\n */\n\n// var = {\n\n/**\n * 将url参数部分解析成key/value形式\n * @param {string} query 格式key=value&key=value\n * @returns {object} json 对象{key:value,key:value}\n */\nexport const queryToJson = function (query) {\n if (!query) {\n return {}\n }\n var reg = /^[?|#]{1}/\n if (reg.test(query)) {\n query = query.replace('?', '')\n }\n var result = {}\n var pairs = query.split('&')\n var i\n var keyValue\n var len\n for (i = 0, len = pairs.length; i < len; i++) {\n keyValue = pairs[i].split('=')\n result[keyValue[0]] = decodeURIComponent(keyValue[1])\n }\n return result\n}\n\n/**\n * json转换为url\n * @param {object} json json数据\n * @returns {string} url\n */\nexport const jsonToQuery = function (json) {\n if (!json) {\n return ''\n }\n var arr = []\n var key\n for (key in json) {\n if (json.hasOwnProperty(key)) {\n arr.push(key + '=' + encodeURIComponent(json[key]))\n }\n }\n return arr.join('&')\n}\n\n/**\n * 不刷新页面更新url的query\n * @param {object} newQueryObj 需要更新的query\n * @param {object} state 路由状态\n */\nexport const updateQueryNoRefresh = function (newQueryObj, state) {\n if (!newQueryObj) {\n return\n }\n var queryObj = queryToJson(window.location.search)\n var newUrl\n for (var key in newQueryObj) {\n if (newQueryObj.hasOwnProperty(key)) {\n queryObj[key] = newQueryObj[key]\n }\n }\n newUrl = window.location.pathname + '?' + jsonToQuery(queryObj)\n window.history.pushState(state || {}, 0, newUrl)\n}\n\n/**\n * 不刷新页面替换url的query\n * @param {object} newQueryObj - 新的query\n * @param {object} state - 路由状态\n */\nexport const replaceQueryNoRefresh = function (newQueryObj, state) {\n if (!newQueryObj) {\n return\n }\n var params = jsonToQuery(newQueryObj)\n var newUrl = window.location.pathname + (params ? '?' + params : '')\n window.history.pushState(state || {}, 0, newUrl)\n}\n\n/**\n * 不刷新页面删除url的某个query\n * @param {string} deleteKey 需要删除的query\n * @returns {boolean} deletedFlag true代表被删除,false代表不存在这个key\n */\nexport const deleteQueryNoRefresh = function (deleteKey) {\n if (!deleteKey) {\n return false\n }\n var queryObj = queryToJson(window.location.search)\n var newUrl\n if (!queryObj.hasOwnProperty(deleteKey)) {\n return false\n }\n delete queryObj[deleteKey]\n newUrl = window.location.pathname + '?' + jsonToQuery(queryObj)\n window.history.pushState({}, 0, newUrl)\n return true\n}\nexport function updateQueryWithAdvid (href, queryObj = {}) {\n if (!href) {\n return href\n }\n if (href.startsWith('/pages/')) {\n href = window.location.protocol + '//' + ADOE_ORIGIN + href\n }\n const advertiser = (window.GLOBAL_VAR && GLOBAL_VAR.advertiser) || {}\n const aadvidObj = {\n aadvid: advertiser.id || ''\n }\n return addOrReplaceParam(href, {\n ...aadvidObj,\n ...queryObj\n })\n}\n/**\n * 给定URL增加|更新query参数\n * @param {string} 给定URL\n * @param {object} queryObj 要增加或者修改的 query参数\n */\nexport function addOrReplaceParam (href, queryObj = {}, res = false) {\n let pos\n let hash = ''\n let query = ''\n // extract fragment\n pos = href.indexOf('#')\n if (pos > -1) {\n hash = href.substring(pos) || ''\n href = href.substring(0, pos)\n }\n // extract query\n pos = href.indexOf('?')\n if (pos > -1) {\n query = href.substring(pos) || ''\n href = href.substring(0, pos)\n }\n\n var originQueryObj = queryToJson(query)\n var finalQuery = jsonToQuery({\n ...originQueryObj,\n ...queryObj\n })\n var finalHref = href + (finalQuery ? '?' + finalQuery : '') + hash\n // slardar打个log,排查一个一户多开 # 被 encode 的问题\n\n if (finalHref.indexOf('%23') > -1 && window.Slardar) {\n var logValue = {\n href,\n finalQuery,\n finalHref\n }\n window.Slardar('emit', 'log', {\n value: JSON.stringify(logValue),\n level: 'info',\n tags: {\n path: window.location.pathname\n }\n })\n }\n if (res) {\n return {\n href,\n finalQuery,\n finalHref,\n query: {\n ...originQueryObj,\n ...queryObj\n }\n }\n }\n return finalHref\n}\nexport function getQueryWithAdvid (href = '', queryObj = {}) {\n const advertiser = (window.GLOBAL_VAR && GLOBAL_VAR.advertiser) || {}\n const aadvidObj = {\n aadvid: advertiser.id || ''\n }\n return addOrReplaceParam(href, {\n ...aadvidObj,\n ...queryObj\n }, true)\n}\n\nexport default {\n queryToJson,\n jsonToQuery,\n updateQueryNoRefresh,\n replaceQueryNoRefresh,\n deleteQueryNoRefresh,\n updateQueryWithAdvid,\n addOrReplaceParam,\n getQueryWithAdvid\n}\n","exports = module.exports = require(\"../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"*{margin:0;padding:0;box-sizing:border-box}.byted-layout .layout-body{margin-top:64px}.byted-layout .layout-body .layout-content{background-color:#F7F8FA !important}.byted-layout .layout-body .layout-content .content-container{width:1200px;margin:20px auto 0px;font-size:0}.login-header{width:100%;background:#0A2140;position:fixed;top:0;left:0;z-index:999;height:64px}#root-common-header{width:1200px;margin:0 auto}.carousel-map-style{vertical-align:top;display:inline-block}.login-style{display:inline-block;margin-left:20px}.login-header .navigator-header-container .entrance{position:relative;margin-left:auto;left:25px}.login-header .navigator-header-container .entrance .before{display:none}.login-header .navigator-header-container .sdk-common-nav-login{display:none !important}\\n\", \"\"]);\n\n","export * from \"-!../../../../node_modules/style-loader/index.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./courses.vue?vue&type=style&index=0&id=6514681d&scoped=true&lang=scss&\"","export * from \"-!../../../../node_modules/style-loader/index.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./new-footer.vue?vue&type=style&index=0&id=d2d420d2&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"static/image/help_center_audit_related.svg?60f6bbcb3acd34be2732f0e9493729d9\";","/*\n * @Author: liyibo\n * @Email: liyibo.puck@bytedance.com\n * @Describe: 生成device_id,作为设为唯一标识\n * @document: https://bytedance.feishu.cn/docs/doccn4P2DQH6QT1lRxCKYlqDgMb\n */\nconst { v4: uuidv4 } = require('uuid')\n\n;(function (root) {\n var key = 'oceanengine_bp_device_id'\n var deviceId = window.localStorage.getItem(key)\n if (!deviceId) {\n deviceId = uuidv4() || ''\n window.localStorage.setItem(key, deviceId)\n }\n root.deviceId = deviceId\n})(window)\n","module.exports = __webpack_public_path__ + \"static/image/luhu.svg?2d848f3eee95dd406ad1ae53ec3a6052\";","module.exports = __webpack_public_path__ + \"static/image/MK.png?8e67a37da59f9e07693ddc9f7def9e6b\";","/* eslint-disable */\n// 接入Slardar和Sentry\n\n// 判断是否为ppe环境\nconst isPPE = window.GLOBAL_VAR && window.GLOBAL_VAR.template_config_key && window.GLOBAL_VAR.template_config_key.indexOf('ppe') > -1\n// 判断是否为开发或测试环境\nconst isDEVorTest = ['development', 'test', 'abtest'].indexOf(CONF_ENV) > -1\n// 格式化组件名称\nfunction formatComponentName (vm) {\n if (vm.$root === vm) {\n return 'root instance'\n }\n const name = vm._isVue ? vm.$options.name || vm.$options._componentTag : vm.name\n return (\n (name ? 'component <' + name + '>' : 'anonymous component') +\n (vm._isVue && vm.$options.__file ? ' at ' + vm.$options.__file : '')\n )\n}\n\n// dev && test && abtest && ppe 环境不进行信息上报\n// if (!(isPPE || isDEVorTest) && !window.Slardar) {\n// (function (i, s, o, g, r, a, m) {\n// i['SlardarMonitorObject'] = r\n// i[r] = i[r] || function () { (i[r].q = i[r].q || []).push(arguments) }\n// i[r].l = 1 * new Date()\n// a = s.createElement(o)\n// m = s.getElementsByTagName(o)[0]\n// a.async = 1\n// a.src = g\n// m.parentNode.insertBefore(a, m)\n// console.log('slardar loaded')\n// })(window, document, 'script', 'https://i.snssdk.com/slardar/sdk.js?bid=ad_fe_platform_web', 'Slardar')\n\n// const slardarWebId = (window.GLOBAL_VAR && window.GLOBAL_VAR.advertiser && window.GLOBAL_VAR.advertiser.id) || ''\n// const adminName = (window.GLOBAL_VAR && window.GLOBAL_VAR.coreUser && window.GLOBAL_VAR.coreUser.adminName) || ''\n// const id = (window.GLOBAL_VAR && window.GLOBAL_VAR.coreUser && window.GLOBAL_VAR.coreUser.id) || ''\n// window.Slardar && window.Slardar('config', {\n// sampleRate: 1,\n// bid: 'ad_fe_platform_web',\n// pid: window.location.pathname.replace(/[/.]/g, '_'),\n// ignoreAjax: ['mcs.snssdk.com', 'api.growingio.com', '//lf3-config.bytetcc.com/obj/tcc-config-web/'],\n// ignoreStatic: ['default/layer.css'],\n// hookFetch: true,\n// enableSizeStats: true,\n// domain: 'i.snssdk.com', // 注意上报域名如果使用默认域名 i.snssdk.com, 可不填写。 如果是国际化项目,请改成 mon-va.byteoversea.com\n// slardar_web_id: slardarWebId,\n// context: {\n// adminName,\n// id,\n// locale: $.cookie('locale') || 'zh'\n// },\n// plugins: {\n// sentry: {\n// beforeSend (event, hint) {\n// // 过滤无效错误\n// if (event.message && event.message.startsWith('Non-Error exception captured')) {\n// if (hint && hint.originalException && hint.originalException.error) {\n// window.Slardar('Sentry', function (Sentry) {\n// Sentry.withScope && Sentry.withScope(function (scope) {\n// scope.setExtra('nonErrorException', true)\n// Sentry.captureException(hint.originalException.error)\n// })\n// })\n// }\n// return null\n// }\n// return event\n// }\n// }\n// }\n// })\n// // 处理vue全局报错函数\n// Vue.config.errorHandler = function (error, vm, info) {\n// // 打印错误在控制台\n// console.error(error)\n\n// const metaData = {}\n\n// // vm and lifecycleHook are not always available\n// if (Object.prototype.toString.call(vm) === '[object Object]') {\n// metaData.componentName = formatComponentName(vm)\n// metaData.propsData = vm.$options.propsData\n// }\n// if (typeof info !== 'undefined') {\n// metaData.lifecycleHook = info\n// }\n\n// window.Slardar && window.Slardar('Sentry', function (Sentry) {\n// Sentry.captureException(error, {\n// extra: {\n// components: vm.name,\n// info: info\n// }\n// })\n// })\n// }\n// // 发送pv\n// window.Slardar('send', 'pageview')\n// }\n","export * from \"-!../../../../node_modules/style-loader/index.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ad-lessons.vue?vue&type=style&index=0&id=67b799ff&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"static/image/help_center_create_ad.svg?da0f06171a46c9f551420c3419b0338e\";","window.BUS = new Vue()\n","// /**\n// * Created by zhouyiyang on 2018/10/22.\n// * tea log sdk config\n// */\n// dev && ppe 环境关闭调试日志\nimport { isBp } from 'Src/util/tool.js'\nconst defaultGLOBAL = {}\nconst GLOBAL_VAR = window.GLOBAL_VAR ? window.GLOBAL_VAR : defaultGLOBAL\nconst isProdEnv = !((GLOBAL_VAR?.fe_config_env && ['test', 'abtest', 'development'].indexOf(GLOBAL_VAR?.fe_config_env) > -1) ||\n (GLOBAL_VAR?.template_config_key && GLOBAL_VAR?.template_config_key?.indexOf('ppe') > -1))\n\nconst dataRangersWhiteList = ['4645318181', '1634672144186371'].indexOf(window.GLOBAL_VAR?.advertiser?.id) > -1;\n\n(function (i, s, o, g, r, a, m) {\n i['LogAnalyticsObject'] = r\n i[r] = i[r] || function () {\n (i[r].q = i[r].q || []).push(arguments)\n }\n i[r].l = +new Date()\n a = s.createElement(o)\n m = s.getElementsByTagName(o)[0]\n a.async = 1\n a.src = g\n m.parentNode.insertBefore(a, m)\n})(window, document, 'script', dataRangersWhiteList ? 'https://lf3-data.volccdn.com/obj/data-static/log-sdk/collect/5.0/collect-rangers-v5.0.0.js' : 'https://lf3-cdn-tos.bytescm.com/obj/static/log-sdk/collect/5.0/collect.js', 'teaEvent')\n\nwindow.teaEvent('init', {\n app_id: dataRangersWhiteList ? 175950 : 1192,\n channel: 'cn',\n autotrack: true,\n log: !isProdEnv\n})\n// 初始化设备信息\nconst deviceInfo = getUaInfo()\n// 获取信息信息\nfunction getUaInfo () {\n var ua = navigator.userAgent\n var isWindowsPhone = /(?:Windows Phone)/.test(ua)\n var isSymbian = /(?:SymbianOS)/.test(ua) || isWindowsPhone\n var isAndroid = /(?:Android)/.test(ua)\n var isFireFox = /(?:Firefox)/.test(ua)\n var isTablet = /(?:iPad|PlayBook)/.test(ua) || (isAndroid && !/(?:Mobile)/.test(ua)) || (isFireFox && /(?:Tablet)/.test(ua))\n var isPhone = /(?:iPhone)/.test(ua) && !isTablet\n var isPc = !isPhone && !isAndroid && !isSymbian && !isTablet\n var deviceType = ''\n if (isPc) {\n deviceType = 'pc'\n } else if (isTablet) {\n deviceType = 'pad'\n } else if (isPhone) {\n deviceType = 'ios'\n } else {\n deviceType = 'android'\n }\n return {\n deviceType: deviceType,\n userAgent: ua\n }\n}\nwindow.teaEvent('config', {\n user_unique_id: isBp() ? GLOBAL_VAR?.coreUser?.id : GLOBAL_VAR?.advertiser?.id,\n evtParams: { // 设置共有的事件属性\n bp_device_id: window.deviceId || '',\n device_type: deviceInfo?.deviceType || '',\n user_agent: deviceInfo.userAgent || '',\n possess_from: GLOBAL_VAR?.possessor_origin_app_key || ''\n },\n core_user_id: GLOBAL_VAR?.coreUser?.id\n})\n\nwindow.teaEvent('start')\n\npageEnteredVariableTeaEvent()\n\n/**\n * tea多实例\n * @param name\n * @param initParams\n * @param appId\n */\nexport function teaInstanceInit ({ name, initParams, appId }) {\n window.teaEvent(`${name}init`, {\n app_id: appId,\n channel: 'cn',\n log: process.env.NODE_ENV === 'development' // 开启调试日志\n })\n window.teaEvent(`${name}config`, initParams || {})\n window.teaEvent(`${name}send`)\n}\n\nwindow.promotionTeaEvent = (eventName, paramCallback, type) => {\n try {\n console.log(paramCallback())\n window.teaEventV1(eventName, () => {\n return {\n ...paramCallback()\n }\n }, type)\n } catch (error) {\n console.error(error)\n }\n}\n\nexport function pageEnteredVariableTeaEvent () {\n window.teaEvent('page_entered_variable', {\n 'request_url': window.location.href,\n 'GLOBAL_VAR_user_sales': GLOBAL_VAR?.sales || '',\n 'GLOBAL_VAR_user_jobbed': GLOBAL_VAR?.user_jobbed || '',\n 'GLOBAL_VAR_staff_sequence': GLOBAL_VAR?.staff_sequence || '',\n 'GLOBAL_VAR_customer_type': GLOBAL_VAR?.customerType || '',\n 'GLOBAL_VAR_adv_search_tag': GLOBAL_VAR?.adv_search_tag || '',\n 'GLOBAL_VAR_adv_feed_tag': GLOBAL_VAR?.adv_feed_tag || '',\n 'GLOBAL_VAR_advertiser_name': GLOBAL_VAR?.advertiser?.name || '',\n 'GLOBAL_VAR_advertiser_role': GLOBAL_VAR?.advertiser?.role || '',\n 'GLOBAL_VAR_advertiser_first_industry': GLOBAL_VAR?.advertiser?.first_industry || '',\n 'GLOBAL_VAR_advertiser_industry': GLOBAL_VAR?.advertiser?.industry || '',\n 'GLOBAL_VAR_staff_id': GLOBAL_VAR?.staff?.id || '',\n 'GLOBAL_VAR_user_role': GLOBAL_VAR?.isAdUser?.role || '',\n 'GLOBAL_VAR_is_admin': GLOBAL_VAR?.isAdmin || '',\n 'GLOBAL_VAR_core_user_id': GLOBAL_VAR?.coreUser?.id || ''\n })\n}\n\nwindow.reporterTeaEvent = (eventName, paramCallback, type) => {\n try {\n window.teaEventV1(eventName, () => {\n return {\n ...paramCallback(),\n platform: isBp() ? 'bp' : 'ad'\n }\n }, type)\n } catch (error) {\n console.error(error)\n }\n}\n","module.exports = __webpack_public_path__ + \"static/image/help-center-platform-intro.svg?320cba727f93d6f488abef33c5f2adfa\";","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ad-lessons.vue?vue&type=style&index=0&id=67b799ff&scoped=true&lang=scss&\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ad-lessons.vue?vue&type=style&index=0&id=67b799ff&scoped=true&lang=scss&\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ad-lessons.vue?vue&type=style&index=0&id=67b799ff&scoped=true&lang=scss&\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./auto-slider-bar.vue?vue&type=style&index=0&id=3fa39526&scoped=true&lang=scss&\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./auto-slider-bar.vue?vue&type=style&index=0&id=3fa39526&scoped=true&lang=scss&\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./auto-slider-bar.vue?vue&type=style&index=0&id=3fa39526&scoped=true&lang=scss&\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".auto-slider-bar[data-v-3fa39526]{position:absolute;bottom:33px;left:72px}.slider-container[data-v-3fa39526]{background:rgba(255,255,255,0.251);border-radius:4px;display:inline-block;cursor:pointer;margin-right:8px}.slider-container[data-v-3fa39526]:last-child{margin-right:0}.slider-container .slider-active[data-v-3fa39526]{height:100%;background-color:#fff;border-radius:4px}\\n\", \"\"]);\n\n","module.exports = __webpack_public_path__ + \"static/image/meituan.svg?e1e43dd551feb0efe1f9692e5b7fd120\";","/**\n* @params data: cdn地址返回的结果\n* @return 展示的banner列表\n*/\nexport const getIMCList = (data) => {\n // 获取0点时间戳\n const dataKey = Object.keys(data)[0]\n const originList = data[dataKey]\n const finalList = []\n const backData = Array.isArray(originList) ? originList.shift() : [] // 兜底数据\n const todayTime = getTime(new Date(), true) + 10 // 获取当天0点0.01秒时间戳\n // 筛选当天要展示的素材\n Array.isArray(originList) && originList.forEach(item => {\n if (!item) return\n const sDate = item.imc_start_time.replace(new RegExp(/-/gm), '/')\n const eDate = item.imc_end_time.replace(new RegExp(/-/gm), '/')\n const startTime = getTime(new Date(sDate), true) // 排期开始时间当天0点\n const endTime = getTime(new Date(eDate), false) // 排期结束时间当天23:59:59\n if (todayTime >= startTime && todayTime <= endTime) {\n finalList.push(item)\n }\n })\n // 按优先级排序\n finalList.sort((pre, next) => next.imc_priority - pre.imc_priority)\n // 如果不存在排期素材,则展示兜底素材\n if (!finalList.length && backData && backData.img) {\n finalList.push(backData)\n }\n return finalList\n}\n\n// 获取时间戳,type为true表示是0点,false还是23:59:59\nfunction getTime (data, type) {\n const endtime = type ? ' 00:00:00' : ' 23:59:59'\n const today = data.getFullYear() + '/' + (data.getMonth() + 1) + '/' + data.getDate() + endtime\n return new Date(today).getTime()\n}\n","module.exports = __webpack_public_path__ + \"static/image/help_center_traffic_realisation.svg?d109e580d220b0054934cc94338536e4\";","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".ad-products-container[data-v-594998cd]{width:1200px;height:619px;background:#FFFFFF;border-radius:4px;box-shadow:0px 2px 5px 0px rgba(222,228,245,0.06);font-family:PingFangSC-Medium}.ad-products-container .ad-products-title[data-v-594998cd]{display:inline-block;margin-top:24px;width:100%;height:28px;line-height:28px;color:#222;position:relative;padding-left:32px}.ad-products-container .ad-products-title .title[data-v-594998cd]{font-size:20px;font-weight:500}.ad-products-container .ad-products-title .more[data-v-594998cd]{font-size:12px;font-family:PingFangSC-Regular;font-weight:400;color:#999999;position:absolute;right:29px;cursor:pointer;text-decoration:none}.ad-products-container .ad-products-title .more[data-v-594998cd]:hover{color:#2F88FF}.ad-products-container .ad-products-title img[data-v-594998cd]{position:absolute;right:-11px;top:8.6px;width:11px;height:10px}.ad-products-container .ad-products[data-v-594998cd]{vertical-align:top;width:100%;border-top-right-radius:4px;border-bottom-right-radius:4px;padding:16px 32px 0}.ad-products-container .ad-product[data-v-594998cd]{width:283px;height:268px;display:inline-block;vertical-align:middle;text-align:center;position:relative;transition:all .5s}.ad-products-container .ad-product:hover .img-style[data-v-594998cd],.ad-products-container .ad-product:hover .product-title[data-v-594998cd]{transform:translateY(-6px)}.ad-products-container .ad-product .btn-list[data-v-594998cd]{position:absolute;width:100%;top:178px}.ad-products-container .ad-product[data-v-594998cd]:hover{background:#fff;box-shadow:0px 3px 12px 0px rgba(0,0,0,0.08)}.ad-products-container .ad-product[data-v-594998cd]:nth-of-type(2),.ad-products-container .ad-product[data-v-594998cd]:nth-of-type(3){border-bottom:1px solid rgba(234,234,234,0.4989)}.ad-products-container .ad-product[data-v-594998cd]:after{content:'';position:absolute;right:0;bottom:0;width:1px;height:229px;background:rgba(234,234,234,0.4989)}.ad-products-container .ad-product[data-v-594998cd]:nth-of-type(5):after,.ad-products-container .ad-product[data-v-594998cd]:nth-of-type(6):after,.ad-products-container .ad-product[data-v-594998cd]:nth-of-type(7):after{top:0;height:225px}.ad-products-container .ad-product[data-v-594998cd]:nth-of-type(4):after,.ad-products-container .ad-product[data-v-594998cd]:nth-of-type(8):after{display:none}.ad-products-container .ad-product[data-v-594998cd]:first-of-type:before,.ad-products-container .ad-product[data-v-594998cd]:nth-of-type(4):before{content:'';position:absolute;right:0;bottom:0;width:267px;height:1px;background:rgba(234,234,234,0.4989)}.ad-products-container .ad-product[data-v-594998cd]:nth-of-type(4):before{left:0}.ad-products-container .ad-product .img-style[data-v-594998cd]{margin:42px auto 16px;vertical-align:baseline;width:80px;height:80px;transition:all .5s}.ad-products-container .ad-product .product-title[data-v-594998cd]{height:22px;font-size:16px;font-family:PingFangSC-Semibold;font-weight:600;color:#222;line-height:22px;margin:0 auto 24px;transition:all .5s}.ad-products-container .ad-product .product-content[data-v-594998cd]{width:226px;height:44px;font-size:14px;font-family:PingFangSC-Regular;font-weight:400;color:#999;line-height:22px;margin:0 auto}.ad-products-container .ad-product:nth-child(3) .product-content[data-v-594998cd]{text-indent:-2px}.ad-products-container .ad-product .product-button-list[data-v-594998cd]{margin:0 45.5px;font-size:0;font-family:PingFangSC-Regular;font-weight:400;height:34px;display:flex;justify-content:space-between}.ad-products-container .ad-product .product-btn-course[data-v-594998cd]{width:88px;height:34px;background:#f8f8f8;border-radius:4px;border:1px solid #dee4f5;color:#666666;cursor:pointer;line-height:34px;display:inline-block;font-size:14px}.ad-products-container .ad-product .product-btn-use[data-v-594998cd]{width:88px;height:34px;background:#2f88ff;border-radius:4px;color:#FFFFFF;cursor:pointer;line-height:34px;display:inline-block;font-size:14px}.ad-products-container .ad-product img.product-bg[data-v-594998cd]{position:absolute;top:0;left:0;width:100%;height:100%}.opacity-enter[data-v-594998cd]{opacity:0;transform:translateY(16px)}.opacity-enter-active[data-v-594998cd]{transition:all .5s}.opacity-enter-to[data-v-594998cd]{opacity:1}.opacity-leave[data-v-594998cd]{opacity:1}.opacity-leave-active[data-v-594998cd]{transition:all .5s}.opacity-leave-to[data-v-594998cd]{opacity:0;transform:translateY(16px)}.opacity-desc-enter[data-v-594998cd]{opacity:0}.opacity-desc-enter-active[data-v-594998cd]{transition:all .8s}.opacity-desc-enter-to[data-v-594998cd]{opacity:1}\\n\", \"\"]);\n\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./help-center.vue?vue&type=style&index=0&id=1fc3fd39&scoped=true&lang=scss&\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./help-center.vue?vue&type=style&index=0&id=1fc3fd39&scoped=true&lang=scss&\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./help-center.vue?vue&type=style&index=0&id=1fc3fd39&scoped=true&lang=scss&\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","export * from \"-!../../../../node_modules/style-loader/index.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ad-products.vue?vue&type=style&index=0&id=594998cd&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"static/image/help_more_hover.svg?919077fc6d135ce5564513dd17eef9f0\";","module.exports = __webpack_public_path__ + \"static/image/luhu.png?34190b48a7ac99b5ab95041abe4dfb5c\";","export * from \"-!../../../../node_modules/style-loader/index.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./help-center.vue?vue&type=style&index=0&id=1fc3fd39&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"static/image/help_center_common_question.svg?1471696b8dbfe1a7b93469af54f66c65\";","module.exports = __webpack_public_path__ + \"static/image/lesson_path_2.svg?fe33269876aa1695b3f8c62bb8afc495\";","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".help-center-container[data-v-1fc3fd39]{margin-top:20px;display:inline-block;width:840px;height:270px;background:#FFFFFF;border-radius:4px;font-family:PingFangSC-Medium;vertical-align:top}.help-center-container .help-center-title[data-v-1fc3fd39]{display:inline-block;margin-top:24px;width:100%;height:28px;line-height:28px;color:#222;position:relative;padding-left:32px}.help-center-container .help-center-title .title[data-v-1fc3fd39]{font-size:20px;font-weight:500}.help-center-container .help-center-title .more[data-v-1fc3fd39]{font-size:12px;font-family:PingFangSC-Regular;font-weight:400;color:#999999;position:absolute;right:29px;cursor:pointer;text-decoration:none}.help-center-container .help-center-title .more[data-v-1fc3fd39]:hover{color:#2F88FF}.help-center-container .help-center-title img[data-v-1fc3fd39]{position:absolute;right:-11px;top:8.6px;width:11px;height:10px}.help-center-container .help-center-content[data-v-1fc3fd39]{width:100%;margin-top:23px;padding-left:32px;padding-right:20px;height:164px;display:flex;flex-direction:column;flex-wrap:wrap;position:relative}.help-center-container .help-center-content .content[data-v-1fc3fd39]{display:inline-block;width:352px;height:32px;line-height:32px;color:#222222;font-weight:400;font-size:14px;font-family:PingFangSC-Regular;margin-bottom:9px;position:relative}.help-center-container .help-center-content .content .content-title[data-v-1fc3fd39]{vertical-align:middle;margin-left:16px}.help-center-container .help-center-content .content img.icon[data-v-1fc3fd39]{vertical-align:text-top;width:20px;height:20px}.help-center-container .help-center-content .content img.help_more[data-v-1fc3fd39]{margin-top:-2px}.help-center-container .help-center-content .content .detail[data-v-1fc3fd39]{font-size:12px;color:#999999;margin-left:180px;cursor:pointer}.help-center-container .help-center-content .content[data-v-1fc3fd39]:hover{background:#f9f9f9;cursor:pointer;border-radius:2px}.help-center-container .help-center-content .content:hover .detail[data-v-1fc3fd39]{color:#2f88ff}.help-center-container .help-center-content .content[data-v-1fc3fd39]:nth-child(5),.help-center-container .help-center-content .content[data-v-1fc3fd39]:nth-child(6),.help-center-container .help-center-content .content[data-v-1fc3fd39]:nth-child(7),.help-center-container .help-center-content .content[data-v-1fc3fd39]:nth-child(8){margin-left:81px}.help-center-container .help-center-content .vertical-line[data-v-1fc3fd39]{width:0;height:146px;position:absolute;top:6px;left:420px;border-radius:1px;border-right:1px solid rgba(234,234,234,0.5)}\\n\", \"\"]);\n\n","module.exports = __webpack_public_path__ + \"static/image/help_center_effect_evaluation.svg?2849df9a0dbe1ebd18c2e2dd9e7ca94e\";","export * from \"-!../../../../node_modules/style-loader/index.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/sass-resources-loader/lib/loader.js??ref--4-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./auto-slider-bar.vue?vue&type=style&index=0&id=3fa39526&scoped=true&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"footer-container\"},[_vm._m(0),_vm._v(\" \"),_c('div',{staticClass:\"second-line\"},[_c('span',[_vm._v(\"互联网药品信息服务证资格证编号:(京)-经营性-2020-0032\")]),_vm._v(\" \"),_vm._l((_vm.contents),function(content){return _c('a',{key:content.name,attrs:{\"href\":content.link,\"target\":\"_blank\"}},[_vm._v(\"\\n \"+_vm._s(content.name)+\"\\n \")])})],2),_vm._v(\" \"),_c('div',{staticClass:\"second-line\"},[_c('a',{attrs:{\"href\":\"https://beian.miit.gov.cn/\",\"target\":\"_blank\"}},[_vm._v(\"© \"+_vm._s(_vm.currentYear)+\" 巨量引擎 京ICP备17021358号-2\")]),_vm._v(\" \"),_vm._l((_vm.contentsLink),function(content){return _c('a',{key:content.name,attrs:{\"href\":content.link,\"target\":\"_blank\"}},[_vm._v(\"\\n \"+_vm._s(content.name)+\"\\n \")])}),_vm._v(\" \"),_c('span',[_vm._v(\"北京巨量引擎网络技术有限公司\")])],2),_vm._v(\" \"),_vm._m(1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"first-line\"},[_c('span',{staticClass:\"first-line-span\"},[_vm._v(\"网络文化许可证-京网文-(2021)1897-496号\")]),_vm._v(\" \"),_c('span',[_vm._v(\"经营许可证编号:京B2-20181623\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"last-line\"},[_c('img',{staticClass:\"last-line-img\",attrs:{\"src\":require(\"../../../static/images/jinggongwang.png\")}}),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=11010802029672\",\"target\":\"_blank\"}},[_vm._v(\"\\n 京公网安备 11010802029672号\\n \")])])}]\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./new-footer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./new-footer.vue?vue&type=script&lang=js&\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./new-footer.vue?vue&type=template&id=d2d420d2&scoped=true&\"\nimport script from \"./new-footer.vue?vue&type=script&lang=js&\"\nexport * from \"./new-footer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./new-footer.vue?vue&type=style&index=0&id=d2d420d2&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d2d420d2\",\n null\n \n)\n\nexport default component.exports","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".courses-container[data-v-6514681d]{display:inline-block;width:340px;height:270px;margin-top:20px;margin-left:20px;background:#FFFFFF;border-radius:4px;font-family:PingFangSC-Medium}.courses-container .courses-title[data-v-6514681d]{display:inline-block;margin-top:24px;width:100%;height:28px;line-height:28px;color:#222;position:relative;padding-left:32px}.courses-container .courses-title .title[data-v-6514681d]{font-size:20px;font-weight:500;cursor:pointer;position:relative}.courses-container .courses-title .title[data-v-6514681d]:after{content:'';position:absolute;width:77px;height:2px;background:#2f88ff;bottom:-2px;left:1.4px}.courses-container .courses-title .sub-title[data-v-6514681d]{font-size:14px;font-family:PingFangSC-Regular;vertical-align:top;position:relative;cursor:pointer}.courses-container .courses-title span[data-v-6514681d]:nth-child(1){margin-left:0}.courses-container .courses-title span[data-v-6514681d]:nth-child(2){margin-left:25px}.courses-container .courses-title span[data-v-6514681d]:nth-child(2):before{content:'';position:absolute;width:1px;height:16px;background:#EAEAEA;top:3px;left:-11px;cursor:default}.courses-container .courses-title span:nth-child(2).title[data-v-6514681d]:before{top:5px}.courses-container .courses-title .more[data-v-6514681d]{font-size:12px;font-family:PingFangSC-Regular;font-weight:400;color:#999999;position:absolute;right:29px;cursor:pointer;text-decoration:none}.courses-container .courses-title .more[data-v-6514681d]:hover{color:#2F88FF}.courses-container .courses-title img[data-v-6514681d]{position:absolute;right:-11px;top:8.6px;width:11px;height:10px}.courses-container .courses-content-recommend[data-v-6514681d]{width:100%;margin-top:24px;padding-left:32px;position:relative}.courses-container .courses-content-recommend .content-without-img[data-v-6514681d]{height:32px;line-height:32px;font-family:PingFangSC-Regular;font-weight:400;margin-bottom:9px}.courses-container .courses-content-recommend .content-without-img[data-v-6514681d]:last-child{margin-bottom:0}.courses-container .courses-content-recommend .content-without-img>span[data-v-6514681d],.courses-container .courses-content-recommend .content-without-img>a[data-v-6514681d]{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.courses-container .courses-content-recommend .content-without-img .content-title[data-v-6514681d]{width:219px;font-size:14px;color:#222222;text-decoration:none}.courses-container .courses-content-recommend .content-without-img .content-title[data-v-6514681d]:hover{color:#2F88FF}.courses-container .courses-content-recommend .content-without-img .num[data-v-6514681d]{margin-left:8px;width:66px;font-size:10px;color:#999999;vertical-align:top}\\n\", \"\"]);\n\n","// 请求接入风控,人机识别,在 url 中拼接一个签名\nimport { sign } from '@byted/acrawler'\nimport tool from 'Src/util/tool'\nimport qs from 'qs'\n\nconst host = window.location.host\nconst httpMethodValid = ['GET', 'POST']\nconst contentTypeHandled = ['application/json', 'application/x-www-form-urlencoded']\n\nexport function addSignature (settings) {\n let url = settings.url || ''\n let requestMethod = (settings.type || '').toUpperCase()\n let contentType = settings.contentType || ''\n let isPost = requestMethod === 'POST'\n let parsedUrl = tool.parseUrl(url)\n\n if (parsedUrl.host !== host ||\n httpMethodValid.indexOf(requestMethod) <= -1 ||\n (isPost && contentTypeHandled.every(k => contentType.indexOf(k) <= -1))\n ) {\n return url\n }\n\n let nonce = {\n url: parsedUrl.href\n }\n if (isPost) {\n const isFormData = contentType.indexOf('application/x-www-form-urlencoded') > -1\n nonce.bodyVal2str = isFormData\n nonce.body = {}\n if (isFormData) {\n nonce.body = qs.parse(settings.data || '')\n } else {\n let body = settings.data || '{}'\n try {\n nonce.body = JSON.parse(body)\n } catch (e) {\n }\n }\n }\n\n const signature = sign(nonce)\n const str = `${url.indexOf('?') > -1 ? '&' : '?'}_signature=${signature}`\n return url + str\n}\n","// import sparkMd5 from 'spark-md5'\nimport { addSignature } from 'Src/util/request-signature'\nimport url from 'Src/util/url'\n\n// trace平台添加公共log参数\nfunction setTraceLogCookie () {\n $.removeCookie('trace_log_adv_id', { domain: '.oceanengine.com', path: '/' })\n $.removeCookie('trace_log_user_id', { domain: '.oceanengine.com', path: '/' })\n $.cookie('trace_log_adv_id',\n window.GLOBAL_VAR && GLOBAL_VAR.advertiser ? GLOBAL_VAR.advertiser.id : '',\n { domain: '.oceanengine.com', path: '/' })\n $.cookie('trace_log_user_id',\n window.GLOBAL_VAR && (GLOBAL_VAR.staff || GLOBAL_VAR.coreUser) ? (GLOBAL_VAR.staff.id || GLOBAL_VAR.coreUser.id || '') : '',\n { domain: '.oceanengine.com', path: '/' })\n}\n// 页面进入时设置trace_log cookie 保证路由记录正确\nsetTraceLogCookie()\n\n// const token = sparkMd5.hash(`${new Date().getTime()}${Math.random().toString(36).substr(2)}`)\nconst RESPONSE_CODE = {\n 0: {\n text: '成功'\n },\n 40000: {\n text: '参数错误'\n },\n 40001: {\n text: '未登录'\n },\n 40002: {\n text: '权限错误'\n },\n 40003: {\n text: '数据不存在'\n },\n 50000: {\n text: '系统错误'\n },\n 50001: {\n text: '系统维护'\n },\n 50002: {\n text: '未知错误'\n },\n 50100: {\n text: '内部服务错误'\n },\n 50101: {\n text: '内部服务超时'\n },\n 50102: {\n text: '内部服务错误'\n },\n 100000: {\n text: '评论更新失败'\n },\n 100001: {\n text: '广告没有推广的内容,操作失败'\n },\n 100002: {\n text: '非抖音评论'\n },\n 100003: {\n text: '查询的结束时间必须晚于开始时间'\n },\n 100004: {\n text: '系统异常,暂时只支持查看单条计划'\n },\n 100005: {\n text: '单次查询数量超过限制'\n }\n}\n$.ajaxSetup({\n cache: false,\n dataType: 'json',\n beforeSend: function (xhr, settings) {\n if (!(/^http:.*/.test(settings.url) || /^https:.*/.test(settings.url))) {\n // 只给相对路径加X-CSRFToken,避免外部接口因为加上特殊Header,被处理成了非简单请求、需要发送预检请求\n xhr.setRequestHeader('X-CSRFToken', $.cookie('csrftoken'))\n // 增加当前tab唯一表示,用于后端埋点\n xhr.setRequestHeader('X-SessionId', window.sessionId || '')\n }\n // xhr.setRequestHeader('Authorization', token) // 后端用来防重复点击\n // }\n // 请求前重置trace_log cookie确保一致性\n setTraceLogCookie()\n settings.url = url.updateQueryWithAdvid(settings.url) // 一户多开:接口请求前增加adv_id\n settings.url = addSignature(settings) // 风控: 人机识别\n }\n})\n// 通用成功处理\n$(document).ajaxSuccess(function (event, jqxhr, settings) {\n // 针对不同状态码处理\n if (jqxhr && jqxhr.responseJSON && jqxhr.responseJSON.code !== undefined) {\n switch (jqxhr.responseJSON.code) {\n case 0:\n break\n // 40001 未登录特殊处理\n case 40001:\n if (jqxhr.responseJSON.extra && jqxhr.responseJSON.extra.redirect_url) {\n window.location.href = jqxhr.responseJSON.extra.redirect_url\n }\n break\n // 40102 无此操作权限\n case 40102:\n (new Vue()).$message('无此操作权限', 'error')\n break\n // 其余错误码处理逻辑\n default:\n console.log(settings.url, 'Error Code', jqxhr.responseJSON.code, 'Error Msg', jqxhr.responseJSON.msg || RESPONSE_CODE[jqxhr.responseJSON.code])\n }\n }\n})\n\n$(document).ajaxError(function (event, jqxhr, settings) {\n // 针对不同状态码处理\n if (jqxhr && jqxhr.responseJSON && jqxhr.responseJSON.code !== undefined) {\n switch (jqxhr.responseJSON.code) {\n case 0:\n break\n // 40001 未登录特殊处理\n case 40001:\n if (jqxhr.responseJSON.extra && jqxhr.responseJSON.extra.redirect_url) {\n window.location.href = jqxhr.responseJSON.extra.redirect_url\n }\n break\n // 40102 无此操作权限\n case 40102:\n (new Vue()).$message('无此操作权限', 'error')\n break\n // 其余错误码处理逻辑\n default:\n console.log(settings.url, 'Error Code', jqxhr.responseJSON.code, 'Error Msg', jqxhr.responseJSON.msg || RESPONSE_CODE[jqxhr.responseJSON.code])\n }\n }\n})\n\nconst userObj = window.GLOBAL_VAR || {}\nconst STATUS = {\n 401: {\n text: '您没有权限操作'\n },\n 403: {\n text: '您没有权限操作'\n },\n 404: {\n text: '当前资源不存在'\n },\n 500: {\n text: '系统异常,请稍后重试'\n }\n}\n\nBUI.fetch2 = function (config) {\n if (config.success) {\n const successFun = config.success\n config.success = function (resp) {\n if (resp.status === 'success') {\n successFun(resp)\n } else {\n config.error(resp)\n }\n }\n }\n return BUI.fetch(config)\n}\n\nBUI.fetch = function (config) {\n if ($ && $.prototype.jquery) {\n return $.ajax($.extend({\n method: 'GET',\n error: function (resp) {\n // /* eslint-disable no-undef */\n window.TA('track', 'fetch_error', {\n advertiser_id: (userObj.advertiser && userObj.advertiser.id) || 0,\n url: config.url || 'unknown',\n status: resp.status === undefined ? 600 : resp.status === undefined,\n referer: window.location.href\n });\n (new Vue()).$message(STATUS[resp.status] ? STATUS[resp.status].text : '网络异常,请刷新重试~', 'error')\n }\n }, config))\n }\n}\n\nBUI.update = function (config) {\n if ($ && $.prototype.jquery) {\n return $.ajax($.extend({\n method: 'POST',\n error: function (resp) {\n /* eslint-disable no-undef */\n window.TA('track', 'update_error', {\n advertiser_id: (userObj.advertiser && userObj.advertiser.id) || 0,\n url: config.url || 'unknown',\n status: resp.status === undefined ? 600 : resp.status === undefined,\n referer: window.location.href\n });\n (new Vue()).$message(STATUS[resp.status] ? STATUS[resp.status].text : '网络异常,请刷新重试~', 'error')\n }\n }, config))\n }\n}\nBUI.ajax = $.ajax\n","module.exports = __webpack_public_path__ + \"static/image/MK.svg?7cbb274c8ef48cd18e217e1894c55317\";"],"sourceRoot":""}