淘宝判断手机PC.html 145 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. </head>
  7. <body>
  8. <script>
  9. /*! 2018-02-06 20:38:35 v8.2.1 */ ! function(e) {
  10. function i(n) {
  11. if(o[n]) return o[n].exports;
  12. var r = o[n] = {
  13. exports: {},
  14. id: n,
  15. loaded: !1
  16. };
  17. return e[n].call(r.exports, r, r.exports, i), r.loaded = !0, r.exports
  18. }
  19. var o = {};
  20. return i.m = e, i.c = o, i.p = "", i(0)
  21. }([function(e, i) {
  22. "use strict";
  23. var o = window,
  24. n = document;
  25. ! function() {
  26. var e = 2,
  27. r = "ali_analytics";
  28. if(o[r] && o[r].ua && e <= o[r].ua.version) return void(i.info = o[r].ua);
  29. var t, a, d, s, c, u, h, l, m, b, f, v, p, w, g, x, z, O = o.navigator,
  30. k = O.appVersion,
  31. T = O && O.userAgent || "",
  32. y = function(e) {
  33. var i = 0;
  34. return parseFloat(e.replace(/\./g, function() {
  35. return 0 === i++ ? "." : ""
  36. }))
  37. },
  38. _ = function(e, i) {
  39. var o, n;
  40. i[o = "trident"] = .1, (n = e.match(/Trident\/([\d.]*)/)) && n[1] && (i[o] = y(n[1])), i.core = o
  41. },
  42. N = function(e) {
  43. var i, o;
  44. return(i = e.match(/MSIE ([^;]*)|Trident.*; rv(?:\s|:)?([0-9.]+)/)) && (o = i[1] || i[2]) ? y(o) : 0
  45. },
  46. P = function(e) {
  47. return e || "other"
  48. },
  49. M = function(e) {
  50. function i() {
  51. for(var i = [
  52. ["Windows NT 5.1", "winXP"],
  53. ["Windows NT 6.1", "win7"],
  54. ["Windows NT 6.0", "winVista"],
  55. ["Windows NT 6.2", "win8"],
  56. ["Windows NT 10.0", "win10"],
  57. ["iPad", "ios"],
  58. ["iPhone;", "ios"],
  59. ["iPod", "ios"],
  60. ["Macintosh", "mac"],
  61. ["Android", "android"],
  62. ["Ubuntu", "ubuntu"],
  63. ["Linux", "linux"],
  64. ["Windows NT 5.2", "win2003"],
  65. ["Windows NT 5.0", "win2000"],
  66. ["Windows", "winOther"],
  67. ["rhino", "rhino"]
  68. ], o = 0, n = i.length; o < n; ++o)
  69. if(e.indexOf(i[o][0]) !== -1) return i[o][1];
  70. return "other"
  71. }
  72. function r(e, i, n, r) {
  73. var t, a = o.navigator.mimeTypes;
  74. try {
  75. for(t in a)
  76. if(a.hasOwnProperty(t) && a[t][e] == i) {
  77. if(void 0 !== n && r.test(a[t][n])) return !0;
  78. if(void 0 === n) return !0
  79. }
  80. return !1
  81. } catch(e) {
  82. return !1
  83. }
  84. }
  85. var t, a, d, s, c, u, h, l = "",
  86. m = l,
  87. b = l,
  88. f = [6, 9],
  89. v = "{{version}}",
  90. p = "<!--[if IE " + v + "]><s></s><![endif]-->",
  91. w = n && n.createElement("div"),
  92. g = [],
  93. x = {
  94. webkit: void 0,
  95. edge: void 0,
  96. trident: void 0,
  97. gecko: void 0,
  98. presto: void 0,
  99. chrome: void 0,
  100. safari: void 0,
  101. firefox: void 0,
  102. ie: void 0,
  103. ieMode: void 0,
  104. opera: void 0,
  105. mobile: void 0,
  106. core: void 0,
  107. shell: void 0,
  108. phantomjs: void 0,
  109. os: void 0,
  110. ipad: void 0,
  111. iphone: void 0,
  112. ipod: void 0,
  113. ios: void 0,
  114. android: void 0,
  115. nodejs: void 0,
  116. extraName: void 0,
  117. extraVersion: void 0
  118. };
  119. if(w && w.getElementsByTagName && (w.innerHTML = p.replace(v, ""), g = w.getElementsByTagName("s")), g.length > 0) {
  120. for(_(e, x), s = f[0], c = f[1]; s <= c; s++)
  121. if(w.innerHTML = p.replace(v, s), g.length > 0) {
  122. x[b = "ie"] = s;
  123. break
  124. }!x.ie && (d = N(e)) && (x[b = "ie"] = d)
  125. } else((a = e.match(/AppleWebKit\/*\s*([\d.]*)/i)) || (a = e.match(/Safari\/([\d.]*)/))) && a[1] ? (x[m = "webkit"] = y(a[1]), (a = e.match(/OPR\/(\d+\.\d+)/)) && a[1] ? x[b = "opera"] = y(a[1]) : (a = e.match(/Chrome\/([\d.]*)/)) && a[1] ? x[b = "chrome"] = y(a[1]) : (a = e.match(/\/([\d.]*) Safari/)) && a[1] ? x[b = "safari"] = y(a[1]) : x.safari = x.webkit, (a = e.match(/Edge\/([\d.]*)/)) && a[1] && (m = b = "edge", x[m] = y(a[1])), / Mobile\//.test(e) && e.match(/iPad|iPod|iPhone/) ? (x.mobile = "apple", a = e.match(/OS ([^\s]*)/), a && a[1] && (x.ios = y(a[1].replace("_", "."))), t = "ios", a = e.match(/iPad|iPod|iPhone/), a && a[0] && (x[a[0].toLowerCase()] = x.ios)) : / Android/i.test(e) ? (/Mobile/.test(e) && (t = x.mobile = "android"), a = e.match(/Android ([^\s]*);/), a && a[1] && (x.android = y(a[1]))) : (a = e.match(/NokiaN[^\/]*|Android \d\.\d|webOS\/\d\.\d/)) && (x.mobile = a[0].toLowerCase()), (a = e.match(/PhantomJS\/([^\s]*)/)) && a[1] && (x.phantomjs = y(a[1]))) : (a = e.match(/Presto\/([\d.]*)/)) && a[1] ? (x[m = "presto"] = y(a[1]), (a = e.match(/Opera\/([\d.]*)/)) && a[1] && (x[b = "opera"] = y(a[1]), (a = e.match(/Opera\/.* Version\/([\d.]*)/)) && a[1] && (x[b] = y(a[1])), (a = e.match(/Opera Mini[^;]*/)) && a ? x.mobile = a[0].toLowerCase() : (a = e.match(/Opera Mobi[^;]*/)) && a && (x.mobile = a[0]))) : (d = N(e)) ? (x[b = "ie"] = d, _(e, x)) : (a = e.match(/Gecko/)) && (x[m = "gecko"] = .1, (a = e.match(/rv:([\d.]*)/)) && a[1] && (x[m] = y(a[1]), /Mobile|Tablet/.test(e) && (x.mobile = "firefox")), (a = e.match(/Firefox\/([\d.]*)/)) && a[1] && (x[b = "firefox"] = y(a[1])));
  126. t || (t = i());
  127. var z, O, T;
  128. if(!r("type", "application/vnd.chromium.remoting-viewer")) {
  129. z = "scoped" in n.createElement("style"), T = "v8Locale" in o;
  130. try {
  131. O = o.external || void 0
  132. } catch(e) {}
  133. if(a = e.match(/360SE/)) u = "360";
  134. else if((a = e.match(/SE\s([\d.]*)/)) || O && "SEVersion" in O) u = "sougou", h = y(a[1]) || .1;
  135. else if((a = e.match(/Maxthon(?:\/)+([\d.]*)/)) && O) {
  136. u = "maxthon";
  137. try {
  138. h = y(O.max_version || a[1])
  139. } catch(e) {
  140. h = .1
  141. }
  142. } else z && T ? u = "360se" : z || T || !/Gecko\)\s+Chrome/.test(k) || x.opera || x.edge || (u = "360ee")
  143. }(a = e.match(/TencentTraveler\s([\d.]*)|QQBrowser\/([\d.]*)/)) ? (u = "tt", h = y(a[2]) || .1) : (a = e.match(/LBBROWSER/)) || O && "LiebaoGetVersion" in O ? u = "liebao" : (a = e.match(/TheWorld/)) ? (u = "theworld", h = 3) : (a = e.match(/TaoBrowser\/([\d.]*)/)) ? (u = "taobao", h = y(a[1]) || .1) : (a = e.match(/UCBrowser\/([\d.]*)/)) && (u = "uc", h = y(a[1]) || .1), x.os = t, x.core = x.core || m, x.shell = b, x.ieMode = x.ie && n.documentMode || x.ie, x.extraName = u, x.extraVersion = h;
  144. var P = o.screen.width,
  145. M = o.screen.height;
  146. return x.resolution = P + "x" + M, x
  147. },
  148. S = function(e) {
  149. function i(e) {
  150. return Object.prototype.toString.call(e)
  151. }
  152. function o(e, o, n) {
  153. if("[object Function]" == i(o) && (o = o(n)), !o) return null;
  154. var r = {
  155. name: e,
  156. version: ""
  157. },
  158. t = i(o);
  159. if(o === !0) return r;
  160. if("[object String]" === t) {
  161. if(n.indexOf(o) !== -1) return r
  162. } else if(o.exec) {
  163. var a = o.exec(n);
  164. if(a) return a.length >= 2 && a[1] ? r.version = a[1].replace(/_/g, ".") : r.version = "", r
  165. }
  166. }
  167. var n = {
  168. name: "other",
  169. version: ""
  170. };
  171. e = (e || "").toLowerCase();
  172. for(var r = [
  173. ["nokia", function(e) {
  174. return e.indexOf("nokia ") !== -1 ? /\bnokia ([0-9]+)?/ : /\bnokia([a-z0-9]+)?/
  175. }],
  176. ["samsung", function(e) {
  177. return e.indexOf("samsung") !== -1 ? /\bsamsung(?:[ \-](?:sgh|gt|sm))?-([a-z0-9]+)/ : /\b(?:sgh|sch|gt|sm)-([a-z0-9]+)/
  178. }],
  179. ["wp", function(e) {
  180. return e.indexOf("windows phone ") !== -1 || e.indexOf("xblwp") !== -1 || e.indexOf("zunewp") !== -1 || e.indexOf("windows ce") !== -1
  181. }],
  182. ["pc", "windows"],
  183. ["ipad", "ipad"],
  184. ["ipod", "ipod"],
  185. ["iphone", /\biphone\b|\biph(\d)/],
  186. ["mac", "macintosh"],
  187. ["mi", /\bmi[ \-]?([a-z0-9 ]+(?= build|\)))/],
  188. ["hongmi", /\bhm[ \-]?([a-z0-9]+)/],
  189. ["aliyun", /\baliyunos\b(?:[\-](\d+))?/],
  190. ["meizu", function(e) {
  191. return e.indexOf("meizu") >= 0 ? /\bmeizu[\/ ]([a-z0-9]+)\b/ : /\bm([0-9x]{1,3})\b/
  192. }],
  193. ["nexus", /\bnexus ([0-9s.]+)/],
  194. ["huawei", function(e) {
  195. var i = /\bmediapad (.+?)(?= build\/huaweimediapad\b)/;
  196. return e.indexOf("huawei-huawei") !== -1 ? /\bhuawei\-huawei\-([a-z0-9\-]+)/ : i.test(e) ? i : /\bhuawei[ _\-]?([a-z0-9]+)/
  197. }],
  198. ["lenovo", function(e) {
  199. return e.indexOf("lenovo-lenovo") !== -1 ? /\blenovo\-lenovo[ \-]([a-z0-9]+)/ : /\blenovo[ \-]?([a-z0-9]+)/
  200. }],
  201. ["zte", function(e) {
  202. return /\bzte\-[tu]/.test(e) ? /\bzte-[tu][ _\-]?([a-su-z0-9\+]+)/ : /\bzte[ _\-]?([a-su-z0-9\+]+)/
  203. }],
  204. ["vivo", /\bvivo(?: ([a-z0-9]+))?/],
  205. ["htc", function(e) {
  206. return /\bhtc[a-z0-9 _\-]+(?= build\b)/.test(e) ? /\bhtc[ _\-]?([a-z0-9 ]+(?= build))/ : /\bhtc[ _\-]?([a-z0-9 ]+)/
  207. }],
  208. ["oppo", /\boppo[_]([a-z0-9]+)/],
  209. ["konka", /\bkonka[_\-]([a-z0-9]+)/],
  210. ["sonyericsson", /\bmt([a-z0-9]+)/],
  211. ["coolpad", /\bcoolpad[_ ]?([a-z0-9]+)/],
  212. ["lg", /\blg[\-]([a-z0-9]+)/],
  213. ["android", /\bandroid\b|\badr\b/],
  214. ["blackberry", function(e) {
  215. return e.indexOf("blackberry") >= 0 ? /\bblackberry\s?(\d+)/ : "bb10"
  216. }]
  217. ], t = 0; t < r.length; t++) {
  218. var a = r[t][0],
  219. d = r[t][1],
  220. s = o(a, d, e);
  221. if(s) {
  222. n = s;
  223. break
  224. }
  225. }
  226. return n
  227. },
  228. E = 1;
  229. try {
  230. t = M(T), a = S(T), d = t.os, s = t.shell, c = t.core, u = t.resolution, h = t.extraName, l = t.extraVersion, m = a.name, b = a.version, v = d ? d + (t[d] ? t[d] : "") : "", p = s ? s + parseInt(t[s]) : "", w = c, g = u, x = h ? h + (l ? parseInt(l) : "") : "", z = m + b
  231. } catch(e) {}
  232. f = {
  233. p: E,
  234. o: P(v),
  235. b: P(p),
  236. w: P(w),
  237. s: g,
  238. mx: x,
  239. ism: z
  240. }, o[r] || (o[r] = {}), o[r].ua || (o[r].ua = {}), o.goldlog || (o.goldlog = {}), i.info = o[r].ua = goldlog._aplus_client = {
  241. version: e,
  242. ua_info: f
  243. }
  244. }()
  245. }]); /*! 2017-10-31 20:15:15 v0.2.4 */
  246. ! function(t) {
  247. function e(o) {
  248. if(n[o]) return n[o].exports;
  249. var i = n[o] = {
  250. exports: {},
  251. id: o,
  252. loaded: !1
  253. };
  254. return t[o].call(i.exports, i, i.exports, e), i.loaded = !0, i.exports
  255. }
  256. var n = {};
  257. return e.m = t, e.c = n, e.p = "", e(0)
  258. }([function(t, e, n) {
  259. "use strict";
  260. ! function() {
  261. var t = window.goldlog || (window.goldlog = {});
  262. t._aplus_cplugin_utilkit || (t._aplus_cplugin_utilkit = {
  263. status: "init"
  264. }, n(1).init(t), t._aplus_cplugin_utilkit.status = "complete")
  265. }()
  266. }, function(t, e, n) {
  267. "use strict";
  268. var o = n(2),
  269. i = n(4);
  270. e.init = function(t) {
  271. t.setCookie = o.setCookie, t.getCookie = o.getCookie, t.on = i.on
  272. }
  273. }, function(t, e, n) {
  274. "use strict";
  275. var o = document,
  276. i = n(3),
  277. a = function(t) {
  278. var e = new RegExp("(?:^|;)\\s*" + t + "=([^;]+)"),
  279. n = o.cookie.match(e);
  280. return n ? n[1] : ""
  281. };
  282. e.getCookie = a;
  283. var r = function(t, e, n) {
  284. n || (n = {});
  285. var i = new Date;
  286. return n.expires && ("number" == typeof n.expires || n.expires.toUTCString) ? ("number" == typeof n.expires ? i.setTime(i.getTime() + 24 * n.expires * 60 * 60 * 1e3) : i = n.expires, e += "; expires=" + i.toUTCString()) : "session" !== n.expires && (i.setTime(i.getTime() + 63072e7), e += "; expires=" + i.toUTCString()), e += "; path=" + (n.path ? n.path : "/"), e += "; domain=" + n.domain, o.cookie = t + "=" + e, a(t)
  287. };
  288. e.setCookie = function(t, e, n) {
  289. try {
  290. if(n || (n = {}), n.domain) r(t, e, n);
  291. else
  292. for(var o = i.getDomains(), a = 0; a < o.length;) n.domain = o[a], r(t, e, n) ? a = o.length : a++
  293. } catch(t) {}
  294. }
  295. }, function(t, e) {
  296. "use strict";
  297. e.getDomains = function() {
  298. var t = [];
  299. try {
  300. for(var e = location.hostname, n = e.split("."), o = 2; o <= n.length;) t.push(n.slice(n.length - o).join(".")), o++
  301. } catch(t) {}
  302. return t
  303. }
  304. }, function(t, e) {
  305. "use strict";
  306. var n = window,
  307. o = document,
  308. i = !!o.attachEvent,
  309. a = "attachEvent",
  310. r = "addEventListener",
  311. c = i ? a : r,
  312. u = function(t, e) {
  313. var n = goldlog._$ || {},
  314. o = n.meta_info || {},
  315. i = o.aplus_ctap || {};
  316. if(i && "function" == typeof i.on) i.on(t, e);
  317. else {
  318. var a = "ontouchend" in document.createElement("div"),
  319. r = a ? "touchstart" : "mousedown";
  320. s(t, r, e)
  321. }
  322. },
  323. s = function(t, e, o) {
  324. return "tap" === e ? void u(t, o) : void t[c]((i ? "on" : "") + e, function(t) {
  325. t = t || n.event;
  326. var e = t.target || t.srcElement;
  327. "function" == typeof o && o(t, e)
  328. }, !1)
  329. };
  330. e.on = s;
  331. var d = function(t) {
  332. try {
  333. o.documentElement.doScroll("left")
  334. } catch(e) {
  335. return void setTimeout(function() {
  336. d(t)
  337. }, 1)
  338. }
  339. t()
  340. },
  341. l = function(t) {
  342. var e = 0,
  343. n = function() {
  344. 0 === e && t(), e++
  345. };
  346. "complete" === o.readyState && n();
  347. var i;
  348. if(o.addEventListener) i = function() {
  349. o.removeEventListener("DOMContentLoaded", i, !1), n()
  350. }, o.addEventListener("DOMContentLoaded", i, !1), window.addEventListener("load", n, !1);
  351. else if(o.attachEvent) {
  352. i = function() {
  353. "complete" === o.readyState && (o.detachEvent("onreadystatechange", i), n())
  354. }, o.attachEvent("onreadystatechange", i), window.attachEvent("onload", n);
  355. var a = !1;
  356. try {
  357. a = null === window.frameElement
  358. } catch(t) {}
  359. o.documentElement.doScroll && a && d(n)
  360. }
  361. };
  362. e.DOMReady = function(t) {
  363. l(t)
  364. }, e.onload = function(t) {
  365. "complete" === o.readyState ? t() : s(n, "load", t)
  366. }
  367. }]); /*! 2017-12-19 12:10:24 v0.2.9 */
  368. ! function(o) {
  369. function t(r) {
  370. if(e[r]) return e[r].exports;
  371. var a = e[r] = {
  372. exports: {},
  373. id: r,
  374. loaded: !1
  375. };
  376. return o[r].call(a.exports, a, a.exports, t), a.loaded = !0, a.exports
  377. }
  378. var e = {};
  379. return t.m = o, t.c = e, t.p = "", t(0)
  380. }([function(o, t, e) {
  381. "use strict";
  382. ! function() {
  383. var o = window.goldlog || (window.goldlog = {});
  384. o._aplus_cplugin_m || (o._aplus_cplugin_m = e(1).run())
  385. }()
  386. }, function(o, t, e) {
  387. "use strict";
  388. var r = e(2),
  389. a = e(3),
  390. n = e(4),
  391. s = navigator.sendBeacon ? "post" : "get";
  392. e(5).run(), t.run = function() {
  393. return {
  394. status: "complete",
  395. do_tracker_jserror: function(o) {
  396. try {
  397. var t = new n({
  398. logkey: o ? o.logkey : "",
  399. ratio: o && "number" == typeof o.ratio && o.ratio > 0 ? o.ratio : r.jsErrorRecordRatio
  400. }),
  401. e = ["Message: " + o.message, "Error object: " + o.error].join(" - "),
  402. c = goldlog.spm_ab || [],
  403. i = location.hostname + location.pathname;
  404. t.run({
  405. code: 110,
  406. page: i,
  407. msg: "record_jserror_by" + s + "_" + o.message,
  408. spm_a: c[0],
  409. spm_b: c[1],
  410. c1: e,
  411. c2: o.filename,
  412. c3: location.protocol + "//" + i
  413. })
  414. } catch(o) {
  415. a.logger({
  416. msg: o
  417. })
  418. }
  419. },
  420. do_tracker_lostpv: function(o) {
  421. var t = !1;
  422. try {
  423. if(o && o.page) {
  424. var e = o.spm_ab ? o.spm_ab.split(".") : [],
  425. c = "record_lostpv_by" + s + "_" + o.msg,
  426. i = new n({
  427. ratio: o.ratio || r.lostPvRecordRatio
  428. });
  429. i.run({
  430. code: 102,
  431. page: o.page,
  432. msg: c,
  433. spm_a: e[0],
  434. spm_b: e[1],
  435. c1: o.duration,
  436. c2: o.page_url
  437. }), t = !0
  438. }
  439. } catch(o) {
  440. a.logger({
  441. msg: o
  442. })
  443. }
  444. return t
  445. },
  446. do_tracker_obsolete_inter: function(o) {
  447. var t = !1;
  448. try {
  449. if(o && o.page) {
  450. var e = o.spm_ab ? o.spm_ab.split(".") : [],
  451. c = "record_obsolete interface be called by" + s,
  452. i = new n({
  453. ratio: o.ratio || r.obsoleteInterRecordRatio
  454. });
  455. i.run({
  456. code: 109,
  457. page: o.page,
  458. msg: c,
  459. spm_a: e[0],
  460. spm_b: e[1],
  461. c1: o.interface_name,
  462. c2: o.interface_params
  463. }), t = !0
  464. }
  465. } catch(o) {
  466. a.logger({
  467. msg: o
  468. })
  469. }
  470. return t
  471. },
  472. do_tracker_browser_support: function(o) {
  473. var t = !1;
  474. try {
  475. if(o && o.page) {
  476. var e = o.spm_ab ? o.spm_ab.split(".") : [],
  477. c = new n({
  478. ratio: o.ratio || r.browserSupportRatio
  479. }),
  480. i = goldlog._aplus_client || {},
  481. g = i.ua_info || {};
  482. c.run({
  483. code: 111,
  484. page: o.page,
  485. msg: o.msg + "_by" + s,
  486. spm_a: e[0],
  487. spm_b: e[1],
  488. c1: [g.o, g.b, g.w].join("_"),
  489. c2: o.etag || "",
  490. c3: o.cna || ""
  491. }), t = !0
  492. }
  493. } catch(o) {
  494. a.logger({
  495. msg: o
  496. })
  497. }
  498. return t
  499. }
  500. }
  501. }
  502. }, function(o, t) {
  503. "use strict";
  504. t.lostPvRecordRatio = "0.01", t.obsoleteInterRecordRatio = "0.01", t.jsErrorRecordRatio = "0.01", t.browserSupportRatio = "0.01", t.goldlogQueueRatio = "0.01"
  505. }, function(o, t) {
  506. "use strict";
  507. var e = function(o) {
  508. var t = o.level || "warn";
  509. window.console && window.console[t] && window.console[t](o.msg)
  510. };
  511. t.logger = e, t.assign = function(o, t) {
  512. if("function" != typeof Object.assign) {
  513. var e = function(o) {
  514. if(null === o) throw new TypeError("Cannot convert undefined or null to object");
  515. for(var t = Object(o), e = 1; e < arguments.length; e++) {
  516. var r = arguments[e];
  517. if(null !== r)
  518. for(var a in r) Object.prototype.hasOwnProperty.call(r, a) && (t[a] = r[a])
  519. }
  520. return t
  521. };
  522. return e(o, t)
  523. }
  524. return Object.assign({}, o, t)
  525. }, t.makeCacheNum = function() {
  526. return Math.floor(268435456 * Math.random()).toString(16)
  527. }, t.obj2param = function(o) {
  528. var t, e, r = [];
  529. for(t in o) o.hasOwnProperty(t) && (e = "" + o[t], r.push(t + "=" + encodeURIComponent(e)));
  530. return r.join("&")
  531. }
  532. }, function(o, t, e) {
  533. var r = e(3),
  534. a = {
  535. ratio: 1,
  536. logkey: "fsp.1.1",
  537. gmkey: "",
  538. chksum: "H46747615"
  539. },
  540. n = function(o) {
  541. o && "object" == typeof o || (o = a), this.opts = o, this.opts.ratio = o.ratio || a.ratio, this.opts.logkey = o.logkey || a.logkey, this.opts.gmkey = o.gmkey || a.gmkey, this.opts.chksum = o.chksum || a.chksum
  542. },
  543. s = n.prototype;
  544. s.getRandom = function() {
  545. return Math.floor(100 * Math.random()) + 1
  546. }, s.run = function(o) {
  547. var t, e, a = {
  548. pid: "aplus",
  549. code: 101,
  550. msg: "异常内容"
  551. },
  552. n = "";
  553. try {
  554. var s = window.goldlog || {},
  555. c = s._$ || {},
  556. i = c.meta_info || {},
  557. g = parseFloat(i["aplus-tracker-rate"]);
  558. if(t = this.opts || {}, "number" == typeof g && g + "" != "NaN" || (g = t.ratio), e = this.getRandom(), e <= 100 * g) {
  559. n = "//gm.mmstat.com/" + t.logkey, o.rel = c.script_name + "@" + s.lver, o.type = o.code, o.uid = encodeURIComponent(s.getCookie("cna")), o = r.assign(a, o);
  560. var l = r.obj2param(o);
  561. s.tracker = s.send(n, {
  562. cache: r.makeCacheNum(),
  563. gokey: l,
  564. logtype: "2"
  565. }, "POST")
  566. }
  567. } catch(o) {
  568. r.logger({
  569. msg: "tracker.run() exec error: " + o
  570. })
  571. }
  572. }, o.exports = n
  573. }, function(o, t, e) {
  574. "use strict";
  575. var r = e(6),
  576. a = function(o) {
  577. var t = window.goldlog || {},
  578. e = t._$ = t._$ || {},
  579. r = t.spm_ab ? t.spm_ab.join(".") : "0.0",
  580. a = e.send_pv_count || 0;
  581. if(a < 1 && navigator && navigator.sendBeacon) {
  582. var n = window.goldlog_queue || (window.goldlog_queue = []),
  583. s = location.hostname + location.pathname;
  584. n.push({
  585. action: ["goldlog", "_aplus_cplugin_m", "do_tracker_lostpv"].join("."),
  586. arguments: [{
  587. page: s,
  588. page_url: location.protocol + "//" + s,
  589. duration: o,
  590. spm_ab: r,
  591. msg: "dom_state=" + document.readyState
  592. }]
  593. })
  594. }
  595. };
  596. t.run = function() {
  597. var o = new Date;
  598. r.on(window, "beforeunload", function() {
  599. var t = new Date,
  600. e = t.getTime() - o.getTime();
  601. a(e)
  602. })
  603. }
  604. }, function(o, t) {
  605. "use strict";
  606. var e = window,
  607. r = document,
  608. a = !!r.attachEvent,
  609. n = "attachEvent",
  610. s = "addEventListener",
  611. c = a ? n : s;
  612. t.getIframeUrl = function(o) {
  613. var t, e = "//g.alicdn.com";
  614. return t = goldlog && "function" == typeof goldlog.getCdnPath ? goldlog.getCdnPath() || e : e, (o || "https") + ":" + t + "/alilog/aplus_cplugin/@@APLUS_CPLUGIN_VER/ls.html"
  615. }, t.on = function(o, t, r) {
  616. o[c]((a ? "on" : "") + t, function(o) {
  617. o = o || e.event;
  618. var t = o.target || o.srcElement;
  619. "function" == typeof r && r(o, t)
  620. }, !1)
  621. }, t.checkLs = function() {
  622. var o;
  623. try {
  624. window.localStorage && (localStorage.setItem("test_log_cna", "1"), "1" === localStorage.getItem("test_log_cna") && (localStorage.removeItem("test_log_cna"), o = !0))
  625. } catch(t) {
  626. o = !1
  627. }
  628. return o
  629. }, t.tracker_iframe_status = function(o, t) {
  630. var e = window.goldlog_queue || (window.goldlog_queue = []),
  631. r = goldlog.spm_ab ? goldlog.spm_ab.join(".") : "",
  632. a = "createIframe_" + t.status + "_id=" + o;
  633. t.msg && (a += "_" + t.msg), e.push({
  634. action: "goldlog._aplus_cplugin_m.do_tracker_browser_support",
  635. arguments: [{
  636. page: location.hostname + location.pathname,
  637. msg: a,
  638. browser_attr: navigator.userAgent,
  639. spm_ab: r,
  640. cna: t.duration || "",
  641. ratio: .01
  642. }]
  643. })
  644. }, t.tracker_ls_failed = function() {
  645. var o = window.goldlog_queue || (window.goldlog_queue = []),
  646. t = goldlog.spm_ab ? goldlog.spm_ab.join(".") : "";
  647. o.push({
  648. action: "goldlog._aplus_cplugin_m.do_tracker_browser_support",
  649. arguments: [{
  650. page: location.hostname + location.pathname,
  651. msg: "donot support localStorage",
  652. browser_attr: navigator.userAgent,
  653. spm_ab: t
  654. }]
  655. })
  656. }, t.processMsgData = function(o) {
  657. var t = {};
  658. try {
  659. t = "string" == typeof o ? JSON.parse(o) : o, t || (t = {})
  660. } catch(o) {
  661. t = {}
  662. }
  663. return t
  664. }, t.do_pub_fn = function(o, t) {
  665. var e = window.goldlog_queue || (window.goldlog_queue = []);
  666. e.push({
  667. action: "goldlog.aplus_pubsub.publish",
  668. arguments: [o, t]
  669. }), e.push({
  670. action: "goldlog.aplus_pubsub.cachePubs",
  671. arguments: [o, t]
  672. })
  673. }
  674. }]); /*! 2018-02-06 20:38:18 v8.2.1 */
  675. ! function(t) {
  676. function e(o) {
  677. if(n[o]) return n[o].exports;
  678. var a = n[o] = {
  679. exports: {},
  680. id: o,
  681. loaded: !1
  682. };
  683. return t[o].call(a.exports, a, a.exports, e), a.loaded = !0, a.exports
  684. }
  685. var n = {};
  686. return e.m = t, e.c = n, e.p = "", e(0)
  687. }([function(t, e, n) {
  688. t.exports = n(1)
  689. }, function(t, e, n) {
  690. "use strict";
  691. ! function() {
  692. var t = function() {
  693. n(2);
  694. var e = n(5);
  695. if(e.doPubMsg(["goldlogReady", "running"]), document.getElementsByTagName("body").length) {
  696. var o = window,
  697. a = "g_tb_aplus_loaded";
  698. if(o[a]) return;
  699. o[a] = 1, n(6).initGoldlog(), n(85).init()
  700. } else setTimeout(function() {
  701. t()
  702. }, 50)
  703. };
  704. t()
  705. }()
  706. }, function(t, e, n) {
  707. "use strict";
  708. ! function() {
  709. var t = window.goldlog || (window.goldlog = {}),
  710. e = n(3);
  711. t.aplus_pubsub || (t.aplus_pubsub = e.create())
  712. }()
  713. }, function(t, e, n) {
  714. "use strict";
  715. function o(t) {
  716. if("function" != typeof t) throw new TypeError(t + " is not a function");
  717. return t
  718. }
  719. var a = n(4),
  720. r = function(t) {
  721. for(var e = t.length, n = new Array(e - 1), o = 1; o < e; o++) n[o - 1] = t[o];
  722. return n
  723. },
  724. i = a.extend({
  725. create: function(t) {
  726. var e = new this;
  727. for(var n in t) e[n] = t[n];
  728. return e.handlers = [], e.pubs = {}, e
  729. },
  730. setHandlers: function(t) {
  731. this.handlers = t
  732. },
  733. subscribe: function(t, e) {
  734. o(e);
  735. var n = this,
  736. a = n.pubs || {};
  737. if(a[t]) {
  738. var r = a[t]();
  739. e.apply(n, r)
  740. }
  741. var i = n.handlers;
  742. return t in i || (i[t] = []), i[t].push(e), n.setHandlers(i), n
  743. },
  744. subscribeOnce: function(t, e) {
  745. o(e);
  746. var n, a = this;
  747. return this.subscribe.call(this, t, n = function() {
  748. a.unsubscribe.call(a, t, n);
  749. var o = Array.prototype.slice.call(arguments);
  750. e.apply(a, o)
  751. }), this
  752. },
  753. unsubscribe: function(t, e) {
  754. o(e);
  755. var n = this.handlers[t];
  756. if(!n) return this;
  757. if("object" == typeof n && n.length > 0) {
  758. for(var a = 0; a < n.length; a++) {
  759. var r = e.toString(),
  760. i = n[a].toString();
  761. r === i && n.splice(a, 1)
  762. }
  763. this.handlers[t] = n
  764. } else delete this.handlers[t];
  765. return this
  766. },
  767. publish: function(t) {
  768. var e = r(arguments),
  769. n = this.handlers,
  770. o = n[t] ? n[t].length : 0;
  771. if(o > 0)
  772. for(var a = 0; a < o; a++) n[t][a].apply(this, e);
  773. return this
  774. },
  775. cachePubs: function(t) {
  776. var e = this.pubs || {},
  777. n = r(arguments);
  778. e[t] = function() {
  779. return n
  780. }
  781. }
  782. });
  783. t.exports = i
  784. }, function(t, e) {
  785. "use strict";
  786. function n() {}
  787. n.prototype.extend = function() {}, n.prototype.create = function() {}, n.extend = function(t) {
  788. return this.prototype.extend.call(this, t)
  789. }, n.prototype.create = function(t) {
  790. var e = new this;
  791. for(var n in t) e[n] = t[n];
  792. return e
  793. }, n.prototype.extend = function(t) {
  794. var e = function() {};
  795. try {
  796. "function" != typeof Object.create && (Object.create = function(t) {
  797. function e() {}
  798. return e.prototype = t, new e
  799. }), e.prototype = Object.create(this.prototype);
  800. for(var n in t) e.prototype[n] = t[n];
  801. e.prototype.constructor = e, e.extend = e.prototype.extend, e.create = e.prototype.create
  802. } catch(t) {
  803. console.log(t)
  804. } finally {
  805. return e
  806. }
  807. }, t.exports = n
  808. }, function(t, e) {
  809. "use strict";
  810. var n = function() {
  811. var t = window.goldlog || {},
  812. e = t.aplus_pubsub || {},
  813. n = "function" == typeof e.publish;
  814. return n ? e : ""
  815. };
  816. e.doPubMsg = function(t) {
  817. var e = n();
  818. e && e.publish.apply(e, t)
  819. }, e.doCachePubs = function(t) {
  820. var e = n();
  821. e && "function" == typeof e.cachePubs && e.cachePubs.apply(e, t)
  822. }, e.doSubMsg = function(t, e) {
  823. var o = n();
  824. o && "function" == typeof o.subscribe && o.subscribe(t, e)
  825. }
  826. }, function(t, e, n) {
  827. "use strict";
  828. var o = n(7),
  829. a = n(5),
  830. r = n(8),
  831. i = n(34),
  832. s = i.getInfo(),
  833. u = "complete";
  834. e.initGoldlog = function() {
  835. var t = window.goldlog || (window.goldlog = {}),
  836. e = r.goldlog_path.run.create();
  837. for(var n in e) t[n] = e[n];
  838. var i = /TB\-PD/i.test(navigator.userAgent),
  839. c = t._$ = t._$ || {};
  840. return c.meta_info = s, c.is_terminal = "aplus_wap" === r.script_name || i || "1" == s["aplus-terminal"], c.send_pv_count = 0, c.status = u, c.script_name = r.script_name, t.lver = r.lver, t.nameStorage = o.nameStorage, a.doPubMsg(["goldlogReady", u]), a.doCachePubs(["goldlogReady", u]), t
  841. }
  842. }, function(t, e) {
  843. "use strict";
  844. var n = function() {
  845. function t() {
  846. var t, e = [],
  847. r = !0;
  848. for(var l in p) p.hasOwnProperty(l) && (r = !1, t = p[l] || "", e.push(c(l) + s + c(t)));
  849. n.name = r ? o : a + c(o) + i + e.join(u)
  850. }
  851. function e(t, e, n) {
  852. t && (t.addEventListener ? t.addEventListener(e, n, !1) : t.attachEvent && t.attachEvent("on" + e, function(e) {
  853. n.call(t, e)
  854. }))
  855. }
  856. var n = window;
  857. if(n.nameStorage) return n.nameStorage;
  858. var o, a = "nameStorage:",
  859. r = /^([^=]+)(?:=(.*))?$/,
  860. i = "?",
  861. s = "=",
  862. u = "&",
  863. c = encodeURIComponent,
  864. l = decodeURIComponent,
  865. p = {},
  866. g = {};
  867. return function(t) {
  868. if(t && 0 === t.indexOf(a)) {
  869. var e = t.split(/[:?]/);
  870. e.shift(), o = l(e.shift()) || "";
  871. for(var n, i, s, c = e.join(""), g = c.split(u), f = 0, d = g.length; f < d; f++) n = g[f].match(r), n && n[1] && (i = l(n[1]), s = l(n[2]) || "", p[i] = s)
  872. } else o = t || ""
  873. }(n.name), g.setItem = function(e, n) {
  874. e && "undefined" != typeof n && (p[e] = String(n), t())
  875. }, g.getItem = function(t) {
  876. return p.hasOwnProperty(t) ? p[t] : null
  877. }, g.removeItem = function(e) {
  878. p.hasOwnProperty(e) && (p[e] = null, delete p[e], t())
  879. }, g.clear = function() {
  880. p = {}, t()
  881. }, g.valueOf = function() {
  882. return p
  883. }, g.toString = function() {
  884. var t = n.name;
  885. return 0 === t.indexOf(a) ? t : a + t
  886. }, e(n, "beforeunload", function() {
  887. t()
  888. }), g
  889. }();
  890. e.nameStorage = n
  891. }, function(t, e, n) {
  892. "use strict";
  893. var o = n(9),
  894. a = n(10),
  895. r = n(11);
  896. e.APLUS_ENV = "production", e.lver = a.lver, e.toUtVersion = a.toUtVersion, e.script_name = a.script_name, e.recordTypes = o.recordTypes, e.KEY = o.KEY, e.context = r.context, e.context_prepv = r.context_prepv, e.aplus_init_plugins = n(18).aplus_init_plugins, e.plugins_pv = n(29).plugins_pv, e.plugins_prepv = n(60).plugins_prepv, e.context_hjlj = n(61), e.plugins_hjlj = n(63).plugins_hjlj, e.beforeUnload = n(70), e.initLoad = n(72), e.spmException = n(76), e.goldlog_path = n(77), e.is_auto_pv = "true", e.utilPvid = n(81), e.disablePvid = "false", e.mustSpmE = !0, e.LS_CNA_KEY = "APLUS_CNA"
  897. }, function(t, e) {
  898. "use strict";
  899. e.recordTypes = {
  900. hjlj: "COMMON_HJLJ",
  901. uhjlj: "DATACLICK_HJLJ",
  902. pv: "PV",
  903. prepv: "PREPV"
  904. }, e.KEY = {
  905. NAME_STORAGE: {
  906. REFERRER: "wm_referrer",
  907. REFERRER_PV_ID: "refer_pv_id",
  908. LOST_PV_PAGE_DURATION: "lost_pv_page_duration",
  909. LOST_PV_PAGE_SPMAB: "lost_pv_page_spmab",
  910. LOST_PV_PAGE: "lost_pv_page",
  911. LOST_PV_PAGE_MSG: "lost_pv_page_msg"
  912. }
  913. }
  914. }, function(t, e) {
  915. "use strict";
  916. e.lver = "8.2.1", e.toUtVersion = "v20180206", e.script_name = "aplus_std"
  917. }, function(t, e, n) {
  918. "use strict";
  919. e.context = n(12), e.context_prepv = n(17)
  920. }, function(t, e, n) {
  921. "use strict";
  922. function o() {
  923. return {
  924. compose: {
  925. maxTimeout: 5500
  926. },
  927. etag: {
  928. egUrl: "//log.mmstat.com/eg.js",
  929. cna: i.getCookie("cna")
  930. }
  931. }
  932. }
  933. function a() {
  934. return r.assign(new s.initConfig, new o)
  935. }
  936. var r = n(13),
  937. i = n(14),
  938. s = n(16);
  939. t.exports = a
  940. }, function(t, e) {
  941. "use strict";
  942. function n(t, e) {
  943. return "function" != typeof Object.assign ? function(t) {
  944. if(null === t) throw new TypeError("Cannot convert undefined or null to object");
  945. for(var e = Object(t), n = 1; n < arguments.length; n++) {
  946. var o = arguments[n];
  947. if(null !== o)
  948. for(var a in o) Object.prototype.hasOwnProperty.call(o, a) && (e[a] = o[a])
  949. }
  950. return e
  951. }(t, e) : Object.assign({}, t, e)
  952. }
  953. function o(t) {
  954. return "function" == typeof t
  955. }
  956. function a(t) {
  957. return "[object Array]" === Object.prototype.toString.call(t)
  958. }
  959. function r(t) {
  960. return "string" == typeof t
  961. }
  962. function i(t) {
  963. return "undefined" == typeof t
  964. }
  965. function s(t, e) {
  966. return t.indexOf(e) > -1
  967. }
  968. var u = window;
  969. e.assign = n, e.makeCacheNum = function() {
  970. return Math.floor(268435456 * Math.random()).toString(16)
  971. }, e.each = function(t, e) {
  972. var n, o = t.length;
  973. for(n = 0; n < o; n++) e(t[n])
  974. }, e.isStartWith = function(t, e) {
  975. return 0 === t.indexOf(e)
  976. }, e.isEndWith = function(t, e) {
  977. var n = t.length,
  978. o = e.length;
  979. return n >= o && t.indexOf(e) == n - o
  980. }, e.any = function(t, e) {
  981. var n, o = t.length;
  982. for(n = 0; n < o; n++)
  983. if(e(t[n])) return !0;
  984. return !1
  985. }, e.isFunction = o, e.isArray = a, e.isString = r, e.isNumber = function(t) {
  986. return "number" == typeof t
  987. }, e.isUnDefined = i, e.isContain = s;
  988. var c = function(t) {
  989. var e, n = t.constructor === Array ? [] : {};
  990. if("object" == typeof t) {
  991. if(u.JSON && u.JSON.parse) e = JSON.stringify(t), n = JSON.parse(e);
  992. else
  993. for(var o in t) n[o] = "object" == typeof t[o] ? c(t[o]) : t[o];
  994. return n
  995. }
  996. };
  997. e.cloneObj = c, e.cloneDeep = c
  998. }, function(t, e, n) {
  999. "use strict";
  1000. function o(t) {
  1001. var e = s.cookie.match(new RegExp("(?:^|;)\\s*" + t + "=([^;]+)"));
  1002. return e ? e[1] : ""
  1003. }
  1004. function a(t, e, n) {
  1005. n || (n = {});
  1006. var a = new Date;
  1007. return "session" === n.expires || (n.expires && ("number" == typeof n.expires || n.expires.toUTCString) ? ("number" == typeof n.expires ? a.setTime(a.getTime() + 24 * n.expires * 60 * 60 * 1e3) : a = n.expires, e += "; expires=" + a.toUTCString()) : (a.setTime(a.getTime() + 63072e7), e += "; expires=" + a.toUTCString())), e += "; path=" + (n.path ? n.path : "/"), e += "; domain=" + n.domain, s.cookie = t + "=" + e, o(t)
  1008. }
  1009. function r(t, e, n) {
  1010. try {
  1011. if(n || (n = {}), n.domain) a(t, e, n);
  1012. else
  1013. for(var o = c.getDomains(), r = 0; r < o.length;) n.domain = o[r], a(t, e, n) ? r = o.length : r++
  1014. } catch(t) {}
  1015. }
  1016. function i() {
  1017. var t = {};
  1018. return u.each(p, function(e) {
  1019. t[e] = o(e)
  1020. }), t.cnaui = /\btanx\.com$/.test(l) ? o("cnaui") : "", t
  1021. }
  1022. var s = document,
  1023. u = n(13),
  1024. c = n(15),
  1025. l = location.hostname;
  1026. e.getCookie = o, e.setCookie = r;
  1027. var p = ["tracknick", "thw", "cna"];
  1028. e.getData = i, e.getAda = function() {
  1029. return encodeURIComponent(o("_a_d_a") || "")
  1030. }
  1031. }, function(t, e) {
  1032. "use strict";
  1033. e.getDomains = function() {
  1034. var t = [];
  1035. try {
  1036. for(var e = location.hostname, n = e.split("."), o = 2; o <= n.length;) t.push(n.slice(n.length - o).join(".")), o++
  1037. } catch(t) {}
  1038. return t
  1039. }
  1040. }, function(t, e, n) {
  1041. "use strict";
  1042. function o(t, e, n) {
  1043. var o = window.goldlog || {},
  1044. s = o.getMetaInfo("aplus-ifr-pv") + "" == "1";
  1045. return e ? r(t) ? "yt" : "m" : n && !s ? a.isContain(t, "wrating.com") ? "k" : i(t) || "y" : i(t) || "v"
  1046. }
  1047. var a = n(13),
  1048. r = function(t) {
  1049. for(var e = ["youku.com", "soku.com", "tudou.com", "laifeng.com"], n = 0; n < e.length; n++) {
  1050. var o = e[n];
  1051. if(a.isContain(t, o)) return !0
  1052. }
  1053. return !1
  1054. },
  1055. i = function(t) {
  1056. for(var e = [
  1057. ["scmp.com", "sc"],
  1058. ["luxehomes.com.hk", "sc"],
  1059. ["ays.com.hk", "sc"],
  1060. ["cpjobs.com", "sc"],
  1061. ["educationpost.com.hk", "sc"],
  1062. ["cosmopolitan.com.hk", "sc"],
  1063. ["elle.com.hk", "sc"],
  1064. ["harpersbazaar.com.hk", "sc"],
  1065. ["1688.com", "6"],
  1066. ["youku.com", "yt"],
  1067. ["soku.com", "yt"],
  1068. ["tudou.com", "yt"],
  1069. ["laifeng.com", "yt"]
  1070. ], n = 0; n < e.length; n++) {
  1071. var o = e[n];
  1072. if(a.isContain(t, o[0])) return o[1]
  1073. }
  1074. return ""
  1075. };
  1076. e.getBeaconSrc = o, e.initConfig = function() {
  1077. return {
  1078. compose: {},
  1079. etag: {
  1080. egUrl: "//log.mmstat.com/eg.js",
  1081. cna: "",
  1082. tag: "",
  1083. stag: "",
  1084. lstag: "-1",
  1085. lscnastatus: ""
  1086. },
  1087. can_to_sendpv: {},
  1088. userdata: {},
  1089. what_to_sendpv: {
  1090. pvdata: {},
  1091. exparams: {}
  1092. },
  1093. what_to_pvhash: {
  1094. hash: []
  1095. },
  1096. what_to_sendpv_ut: {
  1097. pvdataToUt: {}
  1098. },
  1099. what_to_sendpv_ut2: {
  1100. isSuccess: !1,
  1101. pvdataToUt: {}
  1102. },
  1103. when_to_sendpv: {
  1104. aplusWaiting: ""
  1105. },
  1106. where_to_sendpv: {
  1107. url: "//log.mmstat.com/o.gif",
  1108. urlRule: o
  1109. },
  1110. where_to_sendlog_ut: {
  1111. aplusToUT: {},
  1112. toUTName: "toUT"
  1113. },
  1114. hjlj: {
  1115. what_to_hjlj: {
  1116. logdata: {}
  1117. },
  1118. what_to_hjlj_ut: {
  1119. logdataToUT: {}
  1120. }
  1121. },
  1122. network: {
  1123. connType: "UNKNOWN"
  1124. },
  1125. is_single: !1
  1126. }
  1127. }
  1128. }, function(t, e, n) {
  1129. "use strict";
  1130. function o() {
  1131. return {
  1132. etag: {
  1133. egUrl: "//log.mmstat.com/eg.js",
  1134. cna: a.getCookie("cna"),
  1135. tag: "",
  1136. stag: ""
  1137. },
  1138. compose: {},
  1139. where_to_prepv: {
  1140. url: "//log.mmstat.com/v.gif",
  1141. urlRule: r.getBeaconSrc
  1142. },
  1143. userdata: {},
  1144. what_to_prepv: {
  1145. logdata: {}
  1146. },
  1147. what_to_hjlj_exinfo: {
  1148. EXPARAMS_FLAG: "EXPARAMS",
  1149. exinfo: [],
  1150. exparams_key_names: ["uidaplus", "pc_i", "pu_i"]
  1151. },
  1152. is_single: !1
  1153. }
  1154. }
  1155. var a = n(14),
  1156. r = n(16);
  1157. t.exports = o
  1158. }, function(t, e, n) {
  1159. "use strict";
  1160. e.aplus_init_plugins = [{
  1161. name: "etag",
  1162. enable: !0,
  1163. path: n(19)
  1164. }]
  1165. }, function(t, e, n) {
  1166. "use strict";
  1167. var o = n(14),
  1168. a = n(20),
  1169. r = n(27),
  1170. i = n(23),
  1171. s = n(28);
  1172. t.exports = function() {
  1173. return {
  1174. init: function(t) {
  1175. this.options = t;
  1176. var e = this.options.context.etag || {};
  1177. this.cna = e.cna || o.getCookie("cna"), this.setTag(0), this.setStag(-1), this.setEtag(this.cna || ""), this.requesting = !1
  1178. },
  1179. setTag: function(t) {
  1180. this.tag = t, this.options.context.etag.tag = t
  1181. },
  1182. setStag: function(t) {
  1183. this.stag = t, this.options.context.etag.stag = t
  1184. },
  1185. setEtag: function(t) {
  1186. this.etag = t, this.options.context.etag.cna = t, o.getCookie("cna") !== t && o.setCookie("cna", t)
  1187. },
  1188. getUrl: function() {
  1189. var t = this.options.context.etag || {},
  1190. e = a.filterIntUrl(t.egUrl || "//log.mmstat.com/eg.js");
  1191. try {
  1192. var n = goldlog.getMetaInfo("aplus-rhost-v"),
  1193. o = /[[a-z|0-9\.]+[a-z|0-9]/,
  1194. r = n.match(o);
  1195. r && r[0] && (e = e.replace(o, r[0]))
  1196. } catch(t) {}
  1197. return e
  1198. },
  1199. run: function(t, e) {
  1200. var n = this;
  1201. if(n.cna) return void n.setTag(1);
  1202. var o = null,
  1203. a = this.getUrl();
  1204. if(0 === a.indexOf("//")) {
  1205. var u = i.getProtocal();
  1206. a = u + a
  1207. }
  1208. return n.requesting = !0, r.loadScript(a, function(t) {
  1209. if(t && "error" === t.type && n.setStag(-3), n.requesting) {
  1210. n.requesting = !1;
  1211. var a = s.getGoldlogVal("Etag");
  1212. a && n.setEtag(a);
  1213. var r = s.getGoldlogVal("stag");
  1214. "undefined" != typeof r && n.setStag(r), clearTimeout(o), e()
  1215. }
  1216. }), o = setTimeout(function() {
  1217. n.requesting = !1, n.setStag(-2), e()
  1218. }, 1e3), "pause"
  1219. }
  1220. }
  1221. }
  1222. }, function(t, e, n) {
  1223. "use strict";
  1224. function o(t) {
  1225. t = (t || "").split("#")[0].split("?")[0];
  1226. var e = t.length,
  1227. n = function(t) {
  1228. var e, n = t.length,
  1229. o = 0;
  1230. for(e = 0; e < n; e++) o = 31 * o + t.charCodeAt(e);
  1231. return o
  1232. };
  1233. return e ? n(e + "#" + t.charCodeAt(e - 1)) : -1
  1234. }
  1235. function a(t) {
  1236. for(var e = t.split("&"), n = 0, o = e.length, a = {}; n < o; n++) {
  1237. var r = e[n],
  1238. i = r.indexOf("="),
  1239. s = r.substring(0, i),
  1240. u = r.substring(i + 1);
  1241. a[s] = p.tryToDecodeURIComponent(u)
  1242. }
  1243. return a
  1244. }
  1245. function r(t) {
  1246. if("function" != typeof t) throw new TypeError(t + " is not a function");
  1247. return t
  1248. }
  1249. function i(t) {
  1250. var e, n, o, a = [],
  1251. r = t.length;
  1252. for(o = 0; o < r; o++) e = t[o][0], n = t[o][1], a.push(l.isStartWith(e, v) ? n : e + "=" + encodeURIComponent(n));
  1253. return a.join("&")
  1254. }
  1255. function s(t) {
  1256. var e, n, o, a = {},
  1257. r = t.length;
  1258. for(o = 0; o < r; o++) e = t[o][0], n = t[o][1], a[e] = n;
  1259. return a
  1260. }
  1261. function u(t, e) {
  1262. var n, o, a, r = [];
  1263. for(n in t) t.hasOwnProperty(n) && (o = "" + t[n], a = n + "=" + encodeURIComponent(o), e ? r.push(a) : r.push(l.isStartWith(n, v) ? o : a));
  1264. return r.join("&")
  1265. }
  1266. function c(t, e) {
  1267. var n = t.indexOf("?") == -1 ? "?" : "&",
  1268. o = e ? l.isArray(e) ? i(e) : u(e) : "";
  1269. return o ? t + n + o : t
  1270. }
  1271. var l = n(13),
  1272. p = n(21),
  1273. g = n(23),
  1274. f = parent !== self;
  1275. e.is_in_iframe = f, e.makeCacheNum = l.makeCacheNum, e.isStartWith = l.isStartWith, e.isEndWith = l.isEndWith, e.any = l.any, e.each = l.each, e.assign = l.assign, e.isFunction = l.isFunction, e.isArray = l.isArray, e.isString = l.isString, e.isNumber = l.isNumber, e.isUnDefined = l.isUnDefined, e.isContain = l.isContain, e.sleep = n(24).sleep, e.makeChkSum = o, e.tryToDecodeURIComponent = p.tryToDecodeURIComponent, e.nodeListToArray = p.nodeListToArray, e.parseSemicolonContent = p.parseSemicolonContent, e.param2obj = a;
  1276. var d = n(25),
  1277. h = function(t) {
  1278. return /^(\/\/){0,1}(\w+\.){1,}\w+$/.test(t)
  1279. };
  1280. e.hostValidity = h;
  1281. var m = function(t, e) {
  1282. var n = /^(\/\/){0,1}(\w+\.){1,}\w+\/\w+\.gif$/.test(t),
  1283. o = h(t),
  1284. a = "";
  1285. return n ? a = "isGifPath" : o && (a = "isHostPath"), a || d.logger({
  1286. msg: e + ": " + t + ' is invalid, suggestion: "xxx.mmstat.com"'
  1287. }), a
  1288. },
  1289. _ = function(t) {
  1290. return !/^\/\/gj\.mmstat/.test(t) && goldlog.isInternational() && (t = t.replace(/^\/\/\w+\.mmstat/, "//gj.mmstat")), t
  1291. };
  1292. e.filterIntUrl = _, e.getPvUrl = function(t) {
  1293. t || (t = {});
  1294. var e, n, o = t.metaValue && m(t.metaValue, t.metaName),
  1295. a = "";
  1296. "isGifPath" === o ? (e = /^\/\//.test(t.metaValue) ? "" : "//", a = e + t.metaValue) : "isHostPath" === o && (e = /^\/\//.test(t.metaValue) ? "" : "//", n = /\/$/.test(t.metaValue) ? "" : "/", a = e + t.metaValue + n + t.gifPath);
  1297. var r;
  1298. return a ? r = a : (e = 0 === t.gifPath.indexOf("/") ? t.gifPath : "/" + t.gifPath, r = t.url && t.url.replace(/\/\w+\.gif/, e)), r
  1299. }, e.indexof = n(26).indexof, e.callable = r;
  1300. var v = "::-plain-::";
  1301. e.mkPlainKey = function() {
  1302. return v + Math.random()
  1303. }, e.s_plain_obj = v, e.mkPlainKeyForExparams = function(t) {
  1304. var e = t || v;
  1305. return e + "exparams"
  1306. }, e.rndInt32 = function() {
  1307. return Math.round(2147483647 * Math.random())
  1308. }, e.arr2param = i, e.arr2obj = s, e.obj2param = u, e.makeUrl = c, e.ifAdd = function(t, e) {
  1309. var n, o, a, r, i = e.length;
  1310. for(n = 0; n < i; n++) o = e[n], a = o[0], r = o[1], r && t.push([a, r])
  1311. }, e.isStartWithProtocol = g.isStartWithProtocol, e.param2arr = function(t) {
  1312. for(var e, n = t.split("&"), o = 0, a = n.length, r = []; o < a; o++) e = n[o].split("="), r.push([e.shift(), e.join("=")]);
  1313. return r
  1314. }
  1315. }, function(t, e, n) {
  1316. "use strict";
  1317. function o(t, e) {
  1318. var n = e || "";
  1319. if(t) try {
  1320. n = decodeURIComponent(t)
  1321. } catch(t) {}
  1322. return n
  1323. }
  1324. var a = n(22);
  1325. e.tryToDecodeURIComponent = o, e.parseSemicolonContent = function(t, e, n) {
  1326. e = e || {};
  1327. var r, i, s = t.split(";"),
  1328. u = s.length;
  1329. for(r = 0; r < u; r++) {
  1330. i = s[r].split("=");
  1331. var c = a.trim(i.slice(1).join("="));
  1332. e[a.trim(i[0]) || ""] = n ? c : o(c)
  1333. }
  1334. return e
  1335. }, e.nodeListToArray = function(t) {
  1336. var e, n;
  1337. try {
  1338. return e = [].slice.call(t)
  1339. } catch(a) {
  1340. e = [], n = t.length;
  1341. for(var o = 0; o < n; o++) e.push(t[o]);
  1342. return e
  1343. }
  1344. }, e.nodeListToArray = function(t) {
  1345. var e, n;
  1346. try {
  1347. return e = [].slice.call(t)
  1348. } catch(a) {
  1349. e = [], n = t.length;
  1350. for(var o = 0; o < n; o++) e.push(t[o]);
  1351. return e
  1352. }
  1353. };
  1354. var r = {
  1355. set: function(t, e) {
  1356. try {
  1357. return localStorage.setItem(t, e), !0
  1358. } catch(t) {
  1359. return !1
  1360. }
  1361. },
  1362. get: function(t) {
  1363. return localStorage.getItem(t)
  1364. },
  1365. test: function() {
  1366. var t = "grey_test_key";
  1367. try {
  1368. return localStorage.setItem(t, 1), localStorage.removeItem(t), !0
  1369. } catch(t) {
  1370. return !1
  1371. }
  1372. },
  1373. remove: function(t) {
  1374. localStorage.removeItem(t)
  1375. }
  1376. };
  1377. e.store = r, e.getLsCna = function(t, e) {
  1378. var n = "",
  1379. o = r.get(t);
  1380. if(o) {
  1381. var a = o.split("_") || [];
  1382. n = e ? a.length > 1 && e === a[0] ? a[1] : "" : a.length > 1 ? a[1] : ""
  1383. }
  1384. return decodeURIComponent(n)
  1385. }, e.setLsCna = function(t, e, n) {
  1386. n && r.set && r.test() && r.set(t, e + "_" + encodeURIComponent(n))
  1387. }, e.getUrl = function(t) {
  1388. var e = t || "//log.mmstat.com/eg.js";
  1389. try {
  1390. var n = goldlog.getMetaInfo("aplus-rhost-v"),
  1391. o = /[[a-z|0-9\.]+[a-z|0-9]/,
  1392. a = n.match(o);
  1393. a && a[0] && (e = e.replace(o, a[0]))
  1394. } catch(t) {}
  1395. return e
  1396. }
  1397. }, function(t, e) {
  1398. "use strict";
  1399. function n(t) {
  1400. return "string" == typeof t ? t.replace(/^\s+|\s+$/g, "") : ""
  1401. }
  1402. e.trim = n
  1403. }, function(t, e, n) {
  1404. "use strict";
  1405. var o = n(13),
  1406. a = function() {
  1407. var t = location.protocol;
  1408. return "http:" !== t && "https:" !== t && (t = "https:"), t
  1409. };
  1410. e.getProtocal = a, e.isStartWithProtocol = function(t) {
  1411. for(var e = ["javascript:", "tel:", "sms:", "mailto:", "tmall://", "#"], n = 0, a = e.length; n < a; n++)
  1412. if(o.isStartWith(t, e[n])) return !0;
  1413. return !1
  1414. }
  1415. }, function(t, e) {
  1416. "use strict";
  1417. e.sleep = function(t, e) {
  1418. return setTimeout(function() {
  1419. e()
  1420. }, t)
  1421. }
  1422. }, function(t, e) {
  1423. "use strict";
  1424. var n = function() {
  1425. var t = !1;
  1426. return "boolean" == typeof goldlog.aplusDebug && (t = goldlog.aplusDebug), t
  1427. };
  1428. e.isDebugAplus = n;
  1429. var o = function(t) {
  1430. t || (t = {});
  1431. var e = t.level || "warn";
  1432. window.console && window.console[e] && window.console[e](t.msg)
  1433. };
  1434. e.logger = o
  1435. }, function(t, e) {
  1436. "use strict";
  1437. e.indexof = function(t, e) {
  1438. var n = -1;
  1439. try {
  1440. n = t.indexOf(e)
  1441. } catch(a) {
  1442. for(var o = 0; o < t.length; o++) t[o] === e && (n = o)
  1443. } finally {
  1444. return n
  1445. }
  1446. }
  1447. }, function(t, e, n) {
  1448. "use strict";
  1449. function o(t, e) {
  1450. return t && t.getAttribute ? t.getAttribute(e) || "" : ""
  1451. }
  1452. function a(t, e, n) {
  1453. if(t && t.setAttribute) try {
  1454. t.setAttribute(e, n)
  1455. } catch(t) {}
  1456. }
  1457. function r(t, e) {
  1458. if(t && t.removeAttribute) try {
  1459. t.removeAttribute(e)
  1460. } catch(n) {
  1461. a(t, e, "")
  1462. }
  1463. }
  1464. function i(t, e, n) {
  1465. var o = "script",
  1466. a = g.createElement(o);
  1467. a.type = "text/javascript", a.async = !0;
  1468. var r = "https:" == location.protocol ? e || t : t;
  1469. 0 === r.indexOf("//") && (r = u.getProtocal() + r), a.src = r, n && (a.id = n);
  1470. var i = g.getElementsByTagName(o)[0];
  1471. s = s || g.getElementsByTagName("head")[0], i ? i.parentNode.insertBefore(a, i) : s && s.appendChild(a)
  1472. }
  1473. var s, u = n(23),
  1474. c = n(22),
  1475. l = n(13),
  1476. p = n(25),
  1477. g = document;
  1478. e.tryToGetAttribute = o, e.tryToSetAttribute = a, e.tryToRemoveAttribute = r, e.addScript = i, e.loadScript = function(t, e) {
  1479. function n(t) {
  1480. o.onreadystatechange = o.onload = o.onerror = null, o = null, e(t)
  1481. }
  1482. var o = g.createElement("script");
  1483. if(s = s || g.getElementsByTagName("head")[0], o.async = !0, "onload" in o) o.onload = n;
  1484. else {
  1485. var a = function() {
  1486. /loaded|complete/.test(o.readyState) && n()
  1487. };
  1488. o.onreadystatechange = a, a()
  1489. }
  1490. o.onerror = function(t) {
  1491. n(t)
  1492. }, o.src = t, s.appendChild(o)
  1493. }, e.isTouch = function() {
  1494. return "ontouchend" in document.createElement("div")
  1495. }, e.tryToGetHref = function(t) {
  1496. var e;
  1497. try {
  1498. e = c.trim(t.getAttribute("href", 2))
  1499. } catch(t) {}
  1500. return e || ""
  1501. };
  1502. var f = function() {
  1503. var t = goldlog && goldlog._$ ? goldlog._$ : {},
  1504. e = t.meta_info || {};
  1505. return e["aplus-exparams"] || ""
  1506. };
  1507. e.getExParamsFromMeta = f, e.getExParams = function(t) {
  1508. var e = g.getElementById("beacon-aplus") || g.getElementById("tb-beacon-aplus"),
  1509. n = o(e, "exparams"),
  1510. a = d(n, f(), t) || "";
  1511. return a && a.replace(/&amp;/g, "&").replace(/\buserid=/, "uidaplus=")
  1512. };
  1513. var d = function(t, e, n) {
  1514. var o = "aplus&sidx=aplusSidex",
  1515. a = t || o;
  1516. try {
  1517. if(e) {
  1518. var r = n.param2obj(e),
  1519. i = ["aplus", "cna", "spm-cnt", "spm-url", "spm-pre", "logtype", "pre", "uidaplus", "asid", "sidx", "trid", "gokey"];
  1520. l.each(i, function(t) {
  1521. r.hasOwnProperty(t) && (p.logger({
  1522. msg: "Can not inject keywords: " + t
  1523. }), delete r[t])
  1524. }), delete r[""];
  1525. var s = "";
  1526. if(t) {
  1527. var u = t.match(/aplus&/).index,
  1528. c = u > 0 ? n.param2obj(t.substring(0, u)) : {};
  1529. delete c[""], s = n.obj2param(l.assign(c, r)) + "&" + t.substring(u, t.length)
  1530. } else s = n.obj2param(r) + "&" + o;
  1531. return s
  1532. }
  1533. return a
  1534. } catch(t) {
  1535. return a
  1536. }
  1537. };
  1538. e.mergeExparams = d
  1539. }, function(t, e) {
  1540. "use strict";
  1541. var n = function(t) {
  1542. var e;
  1543. try {
  1544. window.goldlog || (window.goldlog = {}), e = window.goldlog[t]
  1545. } catch(t) {
  1546. e = ""
  1547. } finally {
  1548. return e
  1549. }
  1550. };
  1551. e.getGoldlogVal = n;
  1552. var o = function(t, e) {
  1553. var n = !1;
  1554. try {
  1555. window.goldlog || (window.goldlog = {}), t && (window.goldlog[t] = e, n = !0)
  1556. } catch(t) {
  1557. n = !1
  1558. } finally {
  1559. return n
  1560. }
  1561. };
  1562. e.setGoldlogVal = o, e.getClientInfo = function() {
  1563. return n("_aplus_client") || {}
  1564. }
  1565. }, function(t, e, n) {
  1566. "use strict";
  1567. e.plugins_pv = [{
  1568. name: "etag",
  1569. enable: !0,
  1570. path: n(30)
  1571. }, {
  1572. name: "etag_sync",
  1573. enable: !0,
  1574. path: n(32)
  1575. }, {
  1576. name: "when_to_sendpv",
  1577. enable: !0,
  1578. path: n(33)
  1579. }, {
  1580. name: "where_to_sendlog_ut",
  1581. enable: !0,
  1582. path: n(36)
  1583. }, {
  1584. name: "is_single",
  1585. enable: !0,
  1586. path: n(38)
  1587. }, {
  1588. name: "what_to_pvhash",
  1589. enable: !0,
  1590. path: n(41)
  1591. }, {
  1592. name: "what_to_sendpv",
  1593. enable: !0,
  1594. path: n(42)
  1595. }, {
  1596. name: "what_to_sendpv_userdata",
  1597. enable: !0,
  1598. path: n(46),
  1599. deps: ["what_to_sendpv"]
  1600. }, {
  1601. name: "what_to_sendpv_etag",
  1602. enable: !0,
  1603. path: n(50),
  1604. deps: ["etag", "what_to_sendpv"]
  1605. }, {
  1606. name: "what_to_sendpv_ut",
  1607. enable: !0,
  1608. path: n(51),
  1609. deps: ["where_to_sendlog_ut", "is_single"]
  1610. }, {
  1611. name: "can_to_sendpv",
  1612. enable: !0,
  1613. path: n(52)
  1614. }, {
  1615. name: "where_to_sendpv",
  1616. enable: !0,
  1617. path: n(53),
  1618. deps: ["is_single"]
  1619. }, {
  1620. name: "do_sendpv",
  1621. enable: !0,
  1622. path: n(54),
  1623. deps: ["is_single", "what_to_sendpv", "where_to_sendpv"]
  1624. }, {
  1625. name: "do_sendpv_ut",
  1626. enable: !0,
  1627. path: n(55),
  1628. deps: ["what_to_sendpv_ut", "where_to_sendlog_ut"]
  1629. }, {
  1630. name: "cookiemapping",
  1631. enable: !0,
  1632. path: n(57),
  1633. deps: ["do_sendpv"]
  1634. }, {
  1635. name: "after_pv",
  1636. enable: !0,
  1637. path: n(59)
  1638. }]
  1639. }, function(t, e, n) {
  1640. "use strict";
  1641. var o = n(14),
  1642. a = n(27),
  1643. r = n(21),
  1644. i = n(31),
  1645. s = n(23),
  1646. u = n(28),
  1647. c = n(8);
  1648. t.exports = function() {
  1649. return {
  1650. init: function(t) {
  1651. this.options = t;
  1652. var e = this.options.context.etag || {};
  1653. this.cna = e.cna || o.getCookie("cna"), this.setTag(0), this.setStag(-1), this.setLsTag("-1"), this.setEtag(this.cna || ""), this.requesting = !1, this.today = i.getFormatDate()
  1654. },
  1655. setLsTag: function(t) {
  1656. this.lstag = t, this.options.context.etag.lstag = t
  1657. },
  1658. setTag: function(t) {
  1659. this.tag = t, this.options.context.etag.tag = t
  1660. },
  1661. setStag: function(t) {
  1662. this.stag = t, this.options.context.etag.stag = t
  1663. },
  1664. setEtag: function(t) {
  1665. this.etag = t, this.options.context.etag.cna = t, o.getCookie("cna") !== t && o.setCookie("cna", t)
  1666. },
  1667. setLscnaStatus: function(t) {
  1668. this.options.context.etag.lscnastatus = t
  1669. },
  1670. getUrl: function() {
  1671. var t = this.options.context.etag || {};
  1672. return r.getUrl(t.egUrl || "//log.mmstat.com/eg.js")
  1673. },
  1674. run: function(t, e) {
  1675. var n = this;
  1676. if(n.cna) return void n.setTag(1);
  1677. var o = null,
  1678. i = this.getUrl();
  1679. if(0 === i.indexOf("//")) {
  1680. var l = s.getProtocal();
  1681. i = l + i
  1682. }
  1683. n.requesting = !0;
  1684. var p = function() {
  1685. setTimeout(function() {
  1686. e()
  1687. }, 20), clearTimeout(o)
  1688. };
  1689. return a.loadScript(i, function(t) {
  1690. var e, o;
  1691. if(t && "error" === t.type ? n.setStag(-3) : (e = u.getGoldlogVal("Etag"), e && n.setEtag(e), o = u.getGoldlogVal("stag"), "undefined" != typeof o && n.setStag(o)), n.requesting) {
  1692. if(2 === o || 4 === o) {
  1693. var a = r.getLsCna(c.LS_CNA_KEY);
  1694. a ? (n.setLsTag(1), n.setEtag(a)) : (n.setLsTag(0), r.setLsCna(c.LS_CNA_KEY, n.today, e))
  1695. }
  1696. p()
  1697. }
  1698. }), o = setTimeout(function() {
  1699. n.requesting = !1, n.setStag(-2), e()
  1700. }, 1500), 2e3
  1701. }
  1702. }
  1703. }
  1704. }, function(t, e) {
  1705. "use strict";
  1706. function n(t, e, n) {
  1707. var o = "" + Math.abs(t),
  1708. a = e - o.length,
  1709. r = t >= 0;
  1710. return(r ? n ? "+" : "" : "-") + Math.pow(10, Math.max(0, a)).toString().substr(1) + o
  1711. }
  1712. e.getFormatDate = function(t) {
  1713. var e = new Date;
  1714. try {
  1715. return [e.getFullYear(), n(e.getMonth() + 1, 2, 0), n(e.getDate(), 2, 0)].join(t || "")
  1716. } catch(t) {
  1717. return ""
  1718. }
  1719. }
  1720. }, function(t, e, n) {
  1721. "use strict";
  1722. var o = n(21),
  1723. a = n(27),
  1724. r = n(8),
  1725. i = n(31),
  1726. s = o.store || {};
  1727. t.exports = function() {
  1728. return {
  1729. init: function(t) {
  1730. this.options = t, this.today = i.getFormatDate()
  1731. },
  1732. getUrl: function() {
  1733. var t = this.options.context.etag || {};
  1734. return o.getUrl(t.egUrl || "//log.mmstat.com/eg.js")
  1735. },
  1736. run: function() {
  1737. var t = this;
  1738. if(s.test()) {
  1739. var e = o.getLsCna(r.LS_CNA_KEY, this.today);
  1740. e || setTimeout(function() {
  1741. a.loadScript(t.getUrl(), function(e) {
  1742. e && "error" !== e.type && o.setLsCna(r.LS_CNA_KEY, t.today, goldlog.Etag)
  1743. })
  1744. }, 1e3)
  1745. }
  1746. }
  1747. }
  1748. }
  1749. }, function(t, e, n) {
  1750. "use strict";
  1751. var o = n(28),
  1752. a = n(24),
  1753. r = n(34);
  1754. t.exports = function() {
  1755. return {
  1756. init: function(t) {
  1757. this.options = t
  1758. },
  1759. getMetaInfo: function() {
  1760. var t = o.getGoldlogVal("_$") || {},
  1761. e = t.meta_info || r.getInfo();
  1762. return e
  1763. },
  1764. getAplusWaiting: function() {
  1765. var t = this.getMetaInfo() || {};
  1766. return t["aplus-waiting"]
  1767. },
  1768. run: function(t, e) {
  1769. var n = this.options.config || {},
  1770. o = this.getAplusWaiting();
  1771. if(o && n.is_auto) switch(o = this.getAplusWaiting() + "", this.options.context.when_to_sendpv = {
  1772. aplusWaiting: o
  1773. }, o) {
  1774. case "MAN":
  1775. return "done";
  1776. case "1":
  1777. return this.options.context.when_to_sendpv.isWait = !0, a.sleep(6e3, function() {
  1778. e()
  1779. }), 6e3;
  1780. default:
  1781. var r = 1 * o;
  1782. if(r + "" != "NaN") return this.options.context.when_to_sendpv.isWait = !0, a.sleep(r, function() {
  1783. e()
  1784. }), r
  1785. }
  1786. }
  1787. }
  1788. }
  1789. }, function(t, e, n) {
  1790. "use strict";
  1791. function o(t) {
  1792. var e, n, o, a = t.length,
  1793. r = {};
  1794. for(g._microscope_data = r, e = 0; e < a; e++) n = t[e], "microscope-data" == l.tryToGetAttribute(n, "name") && (o = l.tryToGetAttribute(n, "content"), u.parseSemicolonContent(o, r), g.is_head_has_meta_microscope_data = !0);
  1795. g._microscope_data_params = u.obj2param(r), g.ms_data_page_id = r.pageId, g.ms_data_shop_id = r.shopId, g.ms_data_instance_id = r.siteInstanceId, g.ms_data_siteCategoryId = r.siteCategory, g.ms_prototype_id = r.prototypeId, g.site_instance_id_or_shop_id = g.ms_data_instance_id || g.ms_data_shop_id, g._atp_beacon_data = {}, g._atp_beacon_data_params = ""
  1796. }
  1797. function a(t) {
  1798. var e, n = function() {
  1799. var e;
  1800. return document.querySelector && (e = document.querySelector("meta[name=data-spm]")), c.each(t, function(t) {
  1801. "data-spm" === l.tryToGetAttribute(t, "name") && (e = t)
  1802. }), e
  1803. },
  1804. o = n();
  1805. return o && (e = l.tryToGetAttribute(o, "data-spm-protocol")), e
  1806. }
  1807. function r(t) {
  1808. var e = t.isonepage || "-1",
  1809. n = e.split("|"),
  1810. o = n[0],
  1811. a = n[1] ? n[1] : "";
  1812. t.isonepage_data = {
  1813. isonepage: o,
  1814. urlpagename: a
  1815. }
  1816. }
  1817. function i() {
  1818. var t = p.getMetaTags();
  1819. o(t), c.each(t, function(t) {
  1820. var e = l.tryToGetAttribute(t, "name");
  1821. /^aplus/.test(e) && (g[e] = p.getMetaCnt(e))
  1822. }), c.each(f, function(t) {
  1823. g[t] = p.getMetaCnt(t)
  1824. }), g.spm_protocol = a(t);
  1825. var e, n, i = ["aplus-rate-ahot"],
  1826. s = i.length;
  1827. for(e = 0; e < s; e++) n = i[e], g[n] = parseFloat(g[n]);
  1828. return r(g), d = g || {}, g
  1829. }
  1830. function s() {
  1831. return d || i()
  1832. }
  1833. var u = n(20),
  1834. c = n(13),
  1835. l = n(27),
  1836. p = n(35),
  1837. g = {},
  1838. f = ["ahot-aplus", "isonepage", "spm-id", "data-spm", "microscope-data"],
  1839. d = {};
  1840. e.setMetaInfo = function(t, e) {
  1841. return d || (d = {}), d[t] = e, !0
  1842. }, e.getMetaInfo = function(t) {
  1843. return d || (d = {}), d[t] || ""
  1844. }, e.getInfo = i, e.qGet = s
  1845. }, function(t, e, n) {
  1846. "use strict";
  1847. function o(t) {
  1848. return i = i || document.getElementsByTagName("head")[0], s && !t ? s : i ? s = i.getElementsByTagName("meta") : []
  1849. }
  1850. function a(t) {
  1851. var e, n, a, r = o(),
  1852. i = r.length;
  1853. for(e = 0; e < i; e++) n = r[e], u.tryToGetAttribute(n, "name") === t && (a = u.tryToGetAttribute(n, "content"));
  1854. return a || ""
  1855. }
  1856. function r(t) {
  1857. var e = {
  1858. isonepage: "-1",
  1859. urlpagename: ""
  1860. },
  1861. n = t.qGet();
  1862. if(n && n.hasOwnProperty("isonepage_data")) e.isonepage = n.isonepage_data.isonepage, e.urlpagename = n.isonepage_data.urlpagename;
  1863. else {
  1864. var o = a("isonepage") || "-1",
  1865. r = o.split("|");
  1866. e.isonepage = r[0], e.urlpagename = r[1] ? r[1] : ""
  1867. }
  1868. return e
  1869. }
  1870. var i, s, u = n(27);
  1871. e.getMetaTags = o, e.getMetaCnt = a, e.getOnePageInfo = r
  1872. }, function(t, e, n) {
  1873. "use strict";
  1874. var o = n(37);
  1875. t.exports = function() {
  1876. return {
  1877. init: function(t) {
  1878. this.options = t
  1879. },
  1880. getAplusToUT: function() {
  1881. return {
  1882. toUT2: o.getAplusToUT("toUT2"),
  1883. toUT: o.getAplusToUT("toUT")
  1884. }
  1885. },
  1886. run: function() {
  1887. var t = this.getAplusToUT();
  1888. this.options.context.where_to_sendlog_ut.aplusToUT = t
  1889. }
  1890. }
  1891. }
  1892. }, function(t, e) {
  1893. "use strict";
  1894. var n = navigator.userAgent,
  1895. o = /WindVane/i.test(n);
  1896. e.is_WindVane = o;
  1897. var a = function() {
  1898. var t = goldlog.getMetaInfo("aplus_chnl");
  1899. return !(!t || !t.isAvailable || "function" != typeof t.toUT2 && "function" != typeof t.toUT) && t
  1900. };
  1901. e.isAplusChnl = a, e.getAplusToUT = function(t) {
  1902. var e = {},
  1903. n = a();
  1904. if("object" == typeof n) e.bridgeName = n.bridgeName || "customBridge", e.isAvailable = n.isAvailable, e.toUT2 = n.toUT2 || n.toUT;
  1905. else {
  1906. var r = window.WindVane || {};
  1907. if(o && r && r.isAvailable && "function" == typeof r.call) {
  1908. var i = t || "toUT";
  1909. e = {
  1910. bridgeName: "WindVane",
  1911. isAvailable: !0,
  1912. toUT2: function(t, e, n, o) {
  1913. return r.call("WVTBUserTrack", i, t, e, n, o)
  1914. }
  1915. }
  1916. }
  1917. }
  1918. return e
  1919. }
  1920. }, function(t, e, n) {
  1921. "use strict";
  1922. var o = n(28),
  1923. a = n(39),
  1924. r = n(8);
  1925. t.exports = function() {
  1926. return {
  1927. init: function(t) {
  1928. this.options = t
  1929. },
  1930. isSingle_pv: function() {
  1931. var t = o.getGoldlogVal("_$") || {};
  1932. return !(!t.is_WindVane || !a.isSingleUaVersion())
  1933. },
  1934. isSingle_hjlj: function(t) {
  1935. var e = o.getGoldlogVal("_$") || {};
  1936. return !(!e.is_WindVane || !a.isSingleSendLog(t))
  1937. },
  1938. isSingle_uhjlj: function(t) {
  1939. var e = o.getGoldlogVal("_$") || {};
  1940. return(!t || !/^\/aplus\.99\.(\d)+$/.test(t.logkey)) && !!(e.is_WindVane && t && t.logkey && a.isSingleUaVersion())
  1941. },
  1942. run: function() {
  1943. var t = this.options.context || {},
  1944. e = this.options.config || {},
  1945. n = t.where_to_sendlog_ut.aplusToUT || {},
  1946. o = n.toUT || {},
  1947. a = n.toUT2 || {},
  1948. i = !(!o.isAvailable && !a.isAvailable),
  1949. s = t.userdata || {},
  1950. u = !!t.is_single;
  1951. switch(e.recordType) {
  1952. case r.recordTypes.uhjlj:
  1953. u = this.isSingle_uhjlj(s);
  1954. break;
  1955. case r.recordTypes.hjlj:
  1956. u = this.isSingle_hjlj(s);
  1957. break;
  1958. case r.recordTypes.pv:
  1959. u = this.isSingle_pv(s);
  1960. break;
  1961. default:
  1962. u = this.isSingle_pv(s)
  1963. }
  1964. this.options.context.is_single = i && u
  1965. }
  1966. }
  1967. }
  1968. }, function(t, e, n) {
  1969. "use strict";
  1970. var o = n(40),
  1971. a = function(t) {
  1972. var e = t.logkey.toLowerCase();
  1973. 0 === e.indexOf("/") && (e = e.substr(1));
  1974. var n = t.gmkey.toUpperCase();
  1975. switch(n) {
  1976. case "EXP":
  1977. return "2201";
  1978. case "CLK":
  1979. return "2101";
  1980. case "SLD":
  1981. return "19999";
  1982. case "OTHER":
  1983. default:
  1984. return "19999"
  1985. }
  1986. },
  1987. r = function() {
  1988. var t = !1;
  1989. return t || o.webviewIsAbove({
  1990. version_ios_tb: [5, 11, 7],
  1991. version_ios_tm: [5, 24, 1],
  1992. version_android_tb: [5, 11, 7],
  1993. version_android_tm: [5, 24, 1]
  1994. })
  1995. };
  1996. e.isSingleUaVersion = r, e.isSingleSendLog = function(t) {
  1997. return(!t || !/^\/fsp\.1\.1$/.test(t.logkey)) && !!(t && t.logkey && t.gmkey && r() === !0)
  1998. }, e.getFunctypeValue = function(t) {
  1999. return e.isSingleSendLog(t) ? a(t) : "2101"
  2000. }, e.getFunctypeValue2 = function(t) {
  2001. return a(t)
  2002. }
  2003. }, function(t, e) {
  2004. "use strict";
  2005. var n = function(t) {
  2006. var e = [0, 0, 0];
  2007. try {
  2008. if(t) {
  2009. var n = t[1],
  2010. o = n.split(".");
  2011. if(o.length > 2)
  2012. for(var a = 0; a < o.length;) e[a] = parseInt(o[a]), a++
  2013. }
  2014. } catch(t) {
  2015. e = [0, 0, 0]
  2016. } finally {
  2017. return e
  2018. }
  2019. };
  2020. e.parseVersion = n;
  2021. var o = function(t, e) {
  2022. var n = !1;
  2023. try {
  2024. var o = t[0] > e[0],
  2025. a = t[1] > e[1],
  2026. r = t[2] > e[2],
  2027. i = t[0] === e[0],
  2028. s = t[1] === e[1],
  2029. u = t[2] === e[2];
  2030. n = !!o || (!(!i || !a) || (!!(i && s && r) || !!(i && s && u)))
  2031. } catch(t) {
  2032. n = !1
  2033. } finally {
  2034. return n
  2035. }
  2036. };
  2037. e.isAboveVersion = o, e.webviewIsAbove = function(t, e) {
  2038. var a = !1;
  2039. try {
  2040. e || (e = navigator.userAgent);
  2041. var r = e.match(/AliApp\(TB\/(\d+[._]\d+[._]\d+)/i),
  2042. i = n(r),
  2043. s = e.match(/AliApp\(TM\/(\d+[._]\d+[._]\d+)/i),
  2044. u = n(s),
  2045. c = /iPhone|iPad|iPod|ios/i.test(e),
  2046. l = /android/i.test(e);
  2047. c ? r && i ? a = o(i, t.version_ios_tb) : s && u && (a = o(u, t.version_ios_tm)) : l && (r && i ? a = o(i, t.version_android_tb) : s && u && (a = o(u, t.version_android_tm)))
  2048. } catch(t) {
  2049. a = !1
  2050. }
  2051. return a
  2052. }
  2053. }, function(t, e, n) {
  2054. "use strict";
  2055. var o = n(28);
  2056. t.exports = function() {
  2057. return {
  2058. init: function(t) {
  2059. this.options = t
  2060. },
  2061. run: function() {
  2062. var t = this.options.context.what_to_pvhash || {},
  2063. e = o.getGoldlogVal("_$") || {},
  2064. n = e.meta_info || {},
  2065. a = n["aplus-pvhash"] || "",
  2066. r = [];
  2067. "1" === a && (r = ["_aqx_uri", encodeURIComponent(location.href)]), t.hash = r, this.options.context.what_to_pvhash = t
  2068. }
  2069. }
  2070. }
  2071. }, function(t, e, n) {
  2072. "use strict";
  2073. var o = n(20),
  2074. a = n(13),
  2075. r = n(27),
  2076. i = n(28),
  2077. s = n(14),
  2078. u = n(43),
  2079. c = n(44),
  2080. l = n(45);
  2081. t.exports = function() {
  2082. return a.assign(l, {
  2083. init: function(t) {
  2084. this.options = t, this.cookie_data || (this.cookie_data = s.getData()), this.client_info || (this.client_info = i.getClientInfo() || {});
  2085. var e = location.hash;
  2086. e && 0 === e.indexOf("#") && (e = e.substr(1)), this.loc_hash = e
  2087. },
  2088. getExParams: function() {
  2089. var t = window,
  2090. e = document,
  2091. n = [],
  2092. i = parent !== t.self,
  2093. s = e.getElementById("beacon-aplus") || e.getElementById("tb-beacon-aplus"),
  2094. c = r.tryToGetAttribute(s, "exparams"),
  2095. l = r.mergeExparams(c, r.getExParamsFromMeta(), o) || "";
  2096. l = l.replace(/&amp;/g, "&");
  2097. var p, g, f = ["taobao.com", "tmall.com", "etao.com", "hitao.com", "taohua.com", "juhuasuan.com", "alimama.com"];
  2098. if(i) {
  2099. for(g = f.length, p = 0; p < g; p++)
  2100. if(o.isContain(location.hostname, f[p])) return n.push([o.mkPlainKeyForExparams(), l]), n;
  2101. l = l.replace(/\buserid=\w*&?/, "")
  2102. }
  2103. l = l.replace(/\buserid=/, "uidaplus="), l && n.push([o.mkPlainKeyForExparams(), l]);
  2104. var d = a.makeCacheNum();
  2105. return u.updateKey(n, "cache", d), n
  2106. },
  2107. getExtra: function() {
  2108. var t = [],
  2109. e = i.getGoldlogVal("_$") || {},
  2110. n = e.meta_info || {},
  2111. a = this.cookie_data || {},
  2112. r = this.getClientInfo(!0) || [];
  2113. return o.ifAdd(t, r), o.ifAdd(t, [
  2114. ["thw", a.thw],
  2115. ["bucket_id", c.getBucketId(n)],
  2116. ["urlokey", this.loc_hash],
  2117. ["wm_instanceid", n.ms_data_instance_id]
  2118. ]), t
  2119. }
  2120. })
  2121. }
  2122. }, function(t, e) {
  2123. "use strict";
  2124. function n(t, e, n) {
  2125. r(t, "spm-cnt", function(t) {
  2126. var o = t.split(".");
  2127. return o[0] = goldlog.spm_ab[0], o[1] = goldlog.spm_ab[1], e ? o[1] = o[1].split("/")[0] + "/" + e : o[1] = o[1].split("/")[0], n && (o[4] = n), o.join(".")
  2128. })
  2129. }
  2130. function o(t, e) {
  2131. var n = window.g_SPM && g_SPM._current_spm;
  2132. n && r(t, "spm-url", function() {
  2133. return [n.a, n.b, n.c, n.d].join(".") + (e ? "." + e : "")
  2134. }, "spm-cnt")
  2135. }
  2136. function a(t, e) {
  2137. var n, o, a, r = -1;
  2138. for(n = 0, o = t.length; n < o; n++)
  2139. if(a = t[n], a[0] === e) {
  2140. r = n;
  2141. break
  2142. }
  2143. r >= 0 && t.splice(r, 1)
  2144. }
  2145. function r(t, e, n, o) {
  2146. var a, r, i = t.length,
  2147. s = -1,
  2148. u = "function" == typeof n;
  2149. for(a = 0; a < i; a++) {
  2150. if(r = t[a], r[0] === e) return void(u ? r[1] = n(r[1]) : r[1] = n);
  2151. o && r[0] === o && (s = a)
  2152. }
  2153. o && (u && (n = n()), s > -1 ? t.splice(s, 0, [e, n]) : t.push([e, n]))
  2154. }
  2155. t.exports = {
  2156. updateSPMCnt: n,
  2157. updateSPMUrl: o,
  2158. updateKey: r,
  2159. removeKey: a
  2160. }
  2161. }, function(t, e, n) {
  2162. "use strict";
  2163. function o(t, e) {
  2164. var n, o = 2146271213;
  2165. for(n = 0; n < t.length; n++) o = (o << 5) + o + t.charCodeAt(n);
  2166. return(65535 & o) % e
  2167. }
  2168. function a(t) {
  2169. var e, n = r.getCookie("t");
  2170. return "3" != t.ms_prototype_id && "5" != t.ms_prototype_id || (e = n ? o(n, 20) : ""), e
  2171. }
  2172. var r = n(14);
  2173. e.getBucketId = a
  2174. }, function(t, e, n) {
  2175. "use strict";
  2176. var o = n(20),
  2177. a = n(13),
  2178. r = n(28),
  2179. i = n(37),
  2180. s = n(14),
  2181. u = n(8);
  2182. t.exports = {
  2183. init: function(t) {
  2184. this.options = t, this.cookie_data || (this.cookie_data = s.getData())
  2185. },
  2186. getBasicParams: function() {
  2187. var t = document,
  2188. e = r.getGoldlogVal("_$") || {},
  2189. n = e.spm || {},
  2190. i = e.meta_info || {},
  2191. u = i["aplus-ifr-pv"] + "" == "1",
  2192. c = o.is_in_iframe && !u ? 0 : 1,
  2193. l = [
  2194. ["logtype", c],
  2195. [o.mkPlainKey(), "title=" + escape(t.title)],
  2196. ["pre", e.page_referrer],
  2197. ["cache", a.makeCacheNum()],
  2198. ["scr", screen.width + "x" + screen.height]
  2199. ],
  2200. p = this.cookie_data || {},
  2201. g = this.options.context || {},
  2202. f = g.etag || {},
  2203. d = f.cna || p.cna || s.getCookie("cna");
  2204. d && l.push([o.mkPlainKey(), "cna=" + d]), p.tracknick && l.push([o.mkPlainKey(), "nick=" + p.tracknick]);
  2205. var h = n.spm_url || "";
  2206. if(window.g_SPM && window.g_SPM._current_spm) {
  2207. var m = [];
  2208. for(var _ in g_SPM._current_spm) m.push(g_SPM._current_spm[_]);
  2209. m.length > 0 && (h = m.join("."))
  2210. }
  2211. return o.ifAdd(l, [
  2212. ["wm_pageid", i.ms_data_page_id],
  2213. ["wm_prototypeid", i.ms_prototype_id],
  2214. ["wm_sid", i.ms_data_shop_id],
  2215. ["spm-url", h],
  2216. ["spm-pre", n.spm_pre],
  2217. ["spm-cnt", n.spm_cnt],
  2218. ["cnaui", p.cnaui]
  2219. ]), l
  2220. },
  2221. getExParams: function() {
  2222. return []
  2223. },
  2224. getExtra: function() {
  2225. return []
  2226. },
  2227. getClientInfo: function(t) {
  2228. var e = [],
  2229. n = r.getGoldlogVal("_$") || {},
  2230. a = this.client_info || {},
  2231. s = a.ua_info || {};
  2232. if(t || !i.is_WindVane && !i.isAplusChnl()) {
  2233. for(var c, l = [], p = ["p", "o", "b", "s", "w", "wx", "ism"], g = 0; c = p[g++];) s[c] && l.push([c, s[c]]);
  2234. o.ifAdd(e, l)
  2235. }
  2236. o.ifAdd(e, [
  2237. ["lver", goldlog.lver || u.lver],
  2238. ["jsver", n.script_name || u.script_name]
  2239. ]);
  2240. var f = this.options.config || {},
  2241. d = f.is_auto;
  2242. return d || o.ifAdd(e, [
  2243. ["mansndlog", 1]
  2244. ]), e
  2245. },
  2246. processLodashDollar: function() {
  2247. var t = r.getGoldlogVal("_$") || {};
  2248. t.page_url !== location.href && (t.page_referrer = t.page_url, t.page_url = location.href), r.setGoldlogVal("_$", t)
  2249. },
  2250. getLsParams: function() {
  2251. var t = r.getGoldlogVal("_$") || {},
  2252. e = [];
  2253. return t.lsparams && t.lsparams.spm_id && (e.push(["lsparams", t.lsparams.spm_id]), e.push(["lsparams_pre", t.lsparams.current_url])), e
  2254. },
  2255. run: function() {
  2256. var t = this.getBasicParams() || [],
  2257. e = this.getExParams() || [],
  2258. n = this.getExtra() || [];
  2259. this.processLodashDollar();
  2260. var o = this.getLsParams() || [],
  2261. a = [].concat(t, e, n, o);
  2262. this.options.context.what_to_sendpv.pvdata = a, this.options.context.what_to_sendpv.exparams = e
  2263. }
  2264. }
  2265. }, function(t, e, n) {
  2266. "use strict";
  2267. var o = n(20),
  2268. a = n(28),
  2269. r = n(43),
  2270. i = n(14),
  2271. s = n(47);
  2272. t.exports = function() {
  2273. return {
  2274. init: function(t) {
  2275. this.options = t
  2276. },
  2277. getPageId: function() {
  2278. var t = this.options.config || {},
  2279. e = this.options.context || {},
  2280. n = e.userdata || {};
  2281. return t.page_id || t.pageid || t.pageId || n.page_id
  2282. },
  2283. getUserdata: function() {
  2284. var t = a.getGoldlogVal("_$") || {},
  2285. e = t.spm || {},
  2286. n = this.options.context || {},
  2287. r = n.userdata || {},
  2288. u = this.options.config || {},
  2289. c = [];
  2290. if(u && !u.is_auto) {
  2291. u.gokey && c.push([o.mkPlainKey(), u.gokey]);
  2292. var l = e.data.b;
  2293. if(l) {
  2294. var p = this.getPageId();
  2295. l = p ? l.split("/")[0] + "/" + p : l.split("/")[0], s.setB(l)
  2296. }
  2297. }
  2298. var g = function(t) {
  2299. if("object" == typeof t)
  2300. for(var e in t) "object" != typeof t[e] && "function" != typeof t[e] && c.push([e, t[e]])
  2301. };
  2302. g(goldlog.getMetaInfo("aplus-cpvdata")), g(r);
  2303. var f = i.getCookie("workno") || i.getCookie("emplId");
  2304. f && c.push(["workno", f]);
  2305. var d = i.getAda();
  2306. return d && c.push(["_a_d_a", i.getAda()]), c
  2307. },
  2308. processLodashDollar: function() {
  2309. var t = this.options.config || {},
  2310. e = a.getGoldlogVal("_$") || {};
  2311. t && t.referrer && (e.page_referrer = t.referrer), a.setGoldlogVal("_$", e)
  2312. },
  2313. updatePre: function(t) {
  2314. var e = a.getGoldlogVal("_$") || {};
  2315. return e.page_referrer && r.updateKey(t, "pre", e.page_referrer), t
  2316. },
  2317. run: function() {
  2318. var t = this.options.context.what_to_sendpv.pvdata,
  2319. e = this.getUserdata();
  2320. this.processLodashDollar();
  2321. var n = t,
  2322. o = this.options.context.what_to_pvhash.hash;
  2323. o && o.length > 0 && n.push(o), n = n.concat(e), n = this.updatePre(n);
  2324. var a = this.getPageId();
  2325. a && r.updateSPMCnt(n, a), this.options.context.what_to_sendpv.pvdata = n, this.options.context.userdata = e
  2326. }
  2327. }
  2328. }
  2329. }, function(t, e, n) {
  2330. "use strict";
  2331. function o() {
  2332. if(!s.data.a || !s.data.b) {
  2333. var t = r._SPM_a,
  2334. e = r._SPM_b;
  2335. if(t && e) return t = t.replace(/^{(\w+\/)}$/g, "$1"), e = e.replace(/^{(\w+\/)}$/g, "$1"), s.is_wh_in_page = !0, void c.setAB(t, e);
  2336. var n = goldlog._$.meta_info;
  2337. t = n["data-spm"] || n["spm-id"] || "0";
  2338. var o = t.split(".");
  2339. o.length > 1 && (t = o[0], e = o[1]), c.setA(t), e && c.setB(e);
  2340. var a = i.getElementsByTagName("body");
  2341. a = a && a.length ? a[0] : null, a && (e = l.tryToGetAttribute(a, "data-spm"), e ? c.setB(e) : 1 === o.length && c.setAB("0", "0"))
  2342. }
  2343. }
  2344. function a() {
  2345. var t = s.data.a,
  2346. e = s.data.b;
  2347. t && e && (goldlog.spm_ab = [t, e])
  2348. }
  2349. var r = window,
  2350. i = document,
  2351. s = {},
  2352. u = {};
  2353. s.data = u;
  2354. var c = {},
  2355. l = n(27),
  2356. p = n(48),
  2357. g = location.href,
  2358. f = n(49).getRefer(),
  2359. d = n(8);
  2360. c.setA = function(t) {
  2361. s.data.a = t, a()
  2362. }, c.setB = function(t) {
  2363. s.data.b = t, a()
  2364. }, c.setAB = function(t, e) {
  2365. s.data.a = t, s.data.b = e, a()
  2366. };
  2367. var h = p.getSPMFromUrl,
  2368. m = function() {
  2369. var t = d.utilPvid.makePVId();
  2370. return d.mustSpmE ? t || goldlog.pvid || "" : t || ""
  2371. },
  2372. _ = function(t, e) {
  2373. var n = t.goldlog || window.goldlog || {},
  2374. a = n.meta_info || {};
  2375. s.meta_protocol = a.spm_protocol;
  2376. var r, i = n.spm_ab || [],
  2377. u = i[0] || "0",
  2378. c = i[1] || "0";
  2379. "0" === u && "0" === c && (o(), u = s.data.a || "0", c = s.data.b || "0"), r = [s.data.a, s.data.b].join("."), s.spm_cnt = (r || "0.0") + ".0.0";
  2380. var l = t.send_pv_count > 0 ? m() : n.pvid;
  2381. l && (s.spm_cnt += "." + l), n._$.spm = s, "function" == typeof e && e(l)
  2382. };
  2383. c.spaInit = function(t, e, n, o) {
  2384. var a = "function" == typeof o ? o : function() {},
  2385. r = s.spm_url;
  2386. s.spm_pre = h(f), s.spm_url = h(location.href);
  2387. var i = window.g_SPM || {},
  2388. u = d.utilPvid.getPvId() || "",
  2389. c = t._$ || {},
  2390. l = c.send_pv_count;
  2391. _({
  2392. goldlog: t,
  2393. meta_info: e,
  2394. send_pv_count: l
  2395. }, function(t) {
  2396. s.spm_cnt = s.data.a + "." + s.data.b + ".0.0" + (t ? "." + t : "");
  2397. var e = i._current_spm || {},
  2398. o = n.join(".");
  2399. e && e.a && "0" !== e.a && e.b && "0" !== e.b && (s.spm_url = [e.a, e.b, e.c, e.d, e.e].join("."), s.spm_pre = r), "0.0" !== o && l > 0 && (s.spm_url = o + ".0.0" + (u ? "." + u : ""), s.spm_pre = r), a()
  2400. })
  2401. }, c.init = function(t, e, n) {
  2402. s.spm_url = h(g), s.spm_pre = h(f), _({
  2403. goldlog: t,
  2404. meta_info: e
  2405. }, function() {
  2406. "function" == typeof n && n()
  2407. })
  2408. }, c.resetSpmCntPvid = function() {
  2409. var t = goldlog.spm_ab;
  2410. if(t && 2 === t.length) {
  2411. var e = t.join(".") + ".0.0",
  2412. n = m();
  2413. n && (e = e + "." + n), s.spm_cnt = e, s.spm_url = e, goldlog._$.spm = s
  2414. }
  2415. }, t.exports = c
  2416. }, function(t, e) {
  2417. "use strict";
  2418. function n(t, e) {
  2419. if(!t || !e) return "";
  2420. var n, o = "";
  2421. try {
  2422. var a = new RegExp(t + "=([^&|#|?|/]+)");
  2423. if("spm" === t || "scm" === t) {
  2424. var r = new RegExp("\\?.*" + t + "=([\\w\\.\\-\\*/]+)"),
  2425. i = e.match(a),
  2426. s = e.match(r),
  2427. u = i && 2 === i.length ? i[1] : "",
  2428. c = s && 2 === s.length ? s[1] : "";
  2429. o = u > c ? u : c, o = decodeURIComponent(o)
  2430. } else n = e.match(a), o = n && 2 === n.length ? n[1] : ""
  2431. } catch(t) {} finally {
  2432. return o
  2433. }
  2434. }
  2435. e.getParamFromUrl = n, e.getSPMFromUrl = function(t) {
  2436. return n("spm", t)
  2437. }
  2438. }, function(t, e, n) {
  2439. "use strict";
  2440. var o = null,
  2441. a = n(7).nameStorage,
  2442. r = n(9);
  2443. e.getRefer = function() {
  2444. if(null !== o) return o;
  2445. var t = r.KEY || {},
  2446. e = t.NAME_STORAGE || {};
  2447. return o = document.referrer || a.getItem(e.REFERRER) || ""
  2448. }
  2449. }, function(t, e, n) {
  2450. "use strict";
  2451. var o = n(43);
  2452. t.exports = function() {
  2453. return {
  2454. init: function(t) {
  2455. this.options = t
  2456. },
  2457. updateBasicParams: function() {
  2458. var t = this.options.context.what_to_sendpv.pvdata || [],
  2459. e = this.options.context.etag || {};
  2460. return e.cna && (o.updateKey(t, "cna", e.cna), this.options.context.what_to_sendpv.pvdata = t), t
  2461. },
  2462. addTagParams: function() {
  2463. var t = this.options.context.what_to_sendpv.pvdata || [],
  2464. e = this.options.context.etag || {},
  2465. n = [];
  2466. (e.tag || 0 === e.tag) && n.push(["tag", e.tag]), (e.stag || 0 === e.stag) && n.push(["stag", e.stag]), (e.lstag || 0 === e.lstag) && n.push(["lstag", e.lstag]), n.length > 0 && (this.options.context.what_to_sendpv.pvdata = t.concat(n))
  2467. },
  2468. run: function() {
  2469. this.updateBasicParams(), this.addTagParams()
  2470. }
  2471. }
  2472. }
  2473. }, function(t, e, n) {
  2474. "use strict";
  2475. function o(t) {
  2476. var e, n, o, a, i = [],
  2477. s = {};
  2478. for(e = t.length - 1; e >= 0; e--) n = t[e], o = n[0], o && o.indexOf(r.s_plain_obj) == -1 && s.hasOwnProperty(o) || (a = n[1], ("aplus" == o || a) && (i.unshift([o, a]), s[o] = 1));
  2479. return i
  2480. }
  2481. function a(t) {
  2482. var e, n, o, a, s = [],
  2483. u = {
  2484. logtype: !0,
  2485. cache: !0,
  2486. scr: !0,
  2487. "spm-cnt": !0
  2488. };
  2489. for(e = t.length - 1; e >= 0; e--)
  2490. if(n = t[e], o = n[0], a = n[1], !(i.isStartWith(o, r.s_plain_obj) && !i.isStartWith(o, r.mkPlainKeyForExparams()) || u[o]))
  2491. if(i.isStartWith(o, r.mkPlainKeyForExparams())) {
  2492. var c = r.param2arr(a);
  2493. if("object" == typeof c && c.length > 0)
  2494. for(var l = c.length - 1; l >= 0; l--) {
  2495. var p = c[l];
  2496. p && p[1] && s.unshift([p[0], p[1]])
  2497. }
  2498. } else s.unshift([o, a]);
  2499. return s
  2500. }
  2501. var r = n(20),
  2502. i = n(13),
  2503. s = n(28),
  2504. u = n(35),
  2505. c = n(34),
  2506. l = n(8),
  2507. p = n(14);
  2508. t.exports = function() {
  2509. return {
  2510. init: function(t) {
  2511. this.options = t
  2512. },
  2513. getToUtData: function(t, e) {
  2514. var n, i = s.getGoldlogVal("_$") || {},
  2515. g = i.spm || {},
  2516. f = a(o(t)),
  2517. d = {};
  2518. try {
  2519. var h = r.arr2obj(f);
  2520. h._toUT = 1, h._bridgeName = e.bridgeName || "", n = JSON.stringify(h)
  2521. } catch(t) {
  2522. n = '{"_toUT":1}'
  2523. }
  2524. var m = u.getOnePageInfo(c);
  2525. return d.functype = "2001", d.urlpagename = m.urlpagename, d.url = location.href, d.spmcnt = g.spm_cnt || "", d.spmpre = g.spm_pre || "", d.lzsid = "", d.cna = p.getCookie("cna"), d.extendargs = n, d.isonepage = m.isonepage, d.version = l.toUtVersion, d.lver = goldlog.lver || l.lver, d.jsver = l.script_name, d
  2526. },
  2527. run: function() {
  2528. var t = this.options.context || {},
  2529. e = t.what_to_sendpv || {},
  2530. n = e.pvdata || [],
  2531. o = t.what_to_sendpv_ut || {},
  2532. a = t.where_to_sendlog_ut || {},
  2533. r = a.aplusToUT || {},
  2534. i = r.toUT || {};
  2535. i && i.isAvailable && "function" == typeof i.toUT2 && (o.pvdataToUt = this.getToUtData(n, i), this.options.context.what_to_sendpv_ut = o)
  2536. }
  2537. }
  2538. }
  2539. }, function(t, e, n) {
  2540. "use strict";
  2541. var o = n(28);
  2542. t.exports = function() {
  2543. return {
  2544. init: function(t) {
  2545. this.options = t
  2546. },
  2547. run: function() {
  2548. var t = o.getGoldlogVal("_$") || {},
  2549. e = t.send_pv_count || 0,
  2550. n = this.options.config || {};
  2551. return n.is_auto && e > 0 ? "done" : (t.send_pv_count = ++e, void o.setGoldlogVal("_$", t))
  2552. }
  2553. }
  2554. }
  2555. }, function(t, e, n) {
  2556. "use strict";
  2557. var o = n(20),
  2558. a = n(28),
  2559. r = n(34);
  2560. t.exports = function() {
  2561. return {
  2562. init: function(t) {
  2563. this.options = t
  2564. },
  2565. getMetaInfo: function() {
  2566. var t = a.getGoldlogVal("_$") || {},
  2567. e = t.meta_info || r.getInfo();
  2568. return e
  2569. },
  2570. getAplusMetaByKey: function(t) {
  2571. var e = this.getMetaInfo() || {};
  2572. return e[t]
  2573. },
  2574. getGifPath: function(t, e) {
  2575. var n, r = a.getGoldlogVal("_$") || {};
  2576. if("function" == typeof t) n = t(location.hostname, r.is_terminal, o.is_in_iframe) + ".gif";
  2577. else if(!n && e) {
  2578. var i = e.match(/\/\w+\.gif/);
  2579. i && i.length > 0 && (n = i[0])
  2580. }
  2581. return n || (n = r.is_terminal ? "m.gif" : "v.gif"), n
  2582. },
  2583. run: function() {
  2584. var t = !!this.options.context.is_single;
  2585. if(!t) {
  2586. var e = this.getAplusMetaByKey("aplus-rhost-v"),
  2587. n = this.options.context.where_to_sendpv || {},
  2588. a = n.url || "",
  2589. r = this.getGifPath(n.urlRule, a),
  2590. i = o.getPvUrl({
  2591. metaName: "aplus-rhost-v",
  2592. metaValue: e,
  2593. gifPath: r,
  2594. url: o.filterIntUrl(a)
  2595. });
  2596. n.url = i, this.options.context.where_to_sendpv = n
  2597. }
  2598. }
  2599. }
  2600. }
  2601. }, function(t, e, n) {
  2602. "use strict";
  2603. var o = n(28),
  2604. a = n(20);
  2605. t.exports = function() {
  2606. return {
  2607. init: function(t) {
  2608. this.options = t
  2609. },
  2610. run: function() {
  2611. var t = this.options.context || {},
  2612. e = !!t.is_single;
  2613. if(!e) {
  2614. var n = t.what_to_sendpv || {},
  2615. r = t.where_to_sendpv || {},
  2616. i = n.pvdata || [],
  2617. s = goldlog.send(r.url, a.arr2obj(i));
  2618. o.setGoldlogVal("req", s)
  2619. }
  2620. }
  2621. }
  2622. }
  2623. }, function(t, e, n) {
  2624. "use strict";
  2625. var o = n(56);
  2626. t.exports = function() {
  2627. return {
  2628. init: function(t) {
  2629. this.options = t
  2630. },
  2631. run: function(t, e) {
  2632. var n = this,
  2633. a = this.options.context || {},
  2634. r = a.what_to_sendpv_ut || {},
  2635. i = a.where_to_sendlog_ut || {},
  2636. s = r.pvdataToUt || {},
  2637. u = i.aplusToUT || {},
  2638. c = u.toUT;
  2639. if(c && "function" == typeof c.toUT2 && c.isAvailable) try {
  2640. c.toUT2(s, function() {
  2641. u.toutflag = "toUT", n.options.context.what_to_sendpv_ut.isSuccess = !0, e()
  2642. }, function(t) {
  2643. o.do_tracker_jserror({
  2644. message: "do_sendpv_ut error",
  2645. error: JSON.stringify(t),
  2646. filename: "do_sendpv_ut"
  2647. }), e()
  2648. }, 5e3)
  2649. } catch(t) {
  2650. e()
  2651. } finally {
  2652. return "pause"
  2653. }
  2654. }
  2655. }
  2656. }
  2657. }, function(t, e, n) {
  2658. "use strict";
  2659. var o = n(25),
  2660. a = function(t, e, n) {
  2661. try {
  2662. var a = window.goldlog_queue || (window.goldlog_queue = []);
  2663. a.push({
  2664. action: ["goldlog", "_aplus_cplugin_m", e].join("."),
  2665. arguments: [t, n]
  2666. })
  2667. } catch(t) {
  2668. o.logger({
  2669. msg: t
  2670. })
  2671. }
  2672. };
  2673. e.do_tracker_jserror = function(t, e) {
  2674. a(t, "do_tracker_jserror", e)
  2675. }, e.do_tracker_obsolete_inter = function(t, e) {
  2676. a(t, "do_tracker_obsolete_inter", e)
  2677. }, e.wrap = function(t) {
  2678. if("function" == typeof t) try {
  2679. t()
  2680. } catch(t) {
  2681. o.logger({
  2682. msg: t.message || t
  2683. })
  2684. } finally {}
  2685. }
  2686. }, function(t, e, n) {
  2687. "use strict";
  2688. var o = n(20),
  2689. a = n(28),
  2690. r = n(58);
  2691. t.exports = function() {
  2692. return {
  2693. init: function(t) {
  2694. this.options = t
  2695. },
  2696. run: function() {
  2697. var t = a.getGoldlogVal("_$") || {},
  2698. e = t.spm || {},
  2699. n = e.data || {};
  2700. if(1 === goldlog._$.send_pv_count) {
  2701. var i = n.a,
  2702. s = i + "." + n.b;
  2703. o.is_in_iframe || goldlog._$.is_terminal || "a21bo.7724922" != s && "2013" != i && "a220o" != i || r.create("//cookiemapping.wrating.com/link.html")
  2704. }
  2705. }
  2706. }
  2707. }
  2708. }, function(t, e) {
  2709. "use strict";
  2710. var n = document,
  2711. o = {};
  2712. o.create = function(t, e) {
  2713. var o = n.createElement("iframe");
  2714. o.style.width = "1px", o.style.height = "1px", o.style.position = "absolute", o.style.display = "none", o.src = t, e && (o.name = e);
  2715. var a = n.getElementsByTagName("body")[0];
  2716. return a.appendChild(o), o
  2717. }, t.exports = o
  2718. }, function(t, e, n) {
  2719. "use strict";
  2720. var o = n(5),
  2721. a = n(28);
  2722. t.exports = function() {
  2723. return {
  2724. init: function(t) {
  2725. this.options = t
  2726. },
  2727. run: function() {
  2728. var t = goldlog._$ || {},
  2729. e = this.options.context || {};
  2730. a.setGoldlogVal("pv_context", e);
  2731. var n = goldlog.spm_ab || [],
  2732. r = n.join("."),
  2733. i = t.send_pv_count,
  2734. s = {
  2735. cna: e.etag.cna,
  2736. count: i,
  2737. spmab_pre: goldlog.spmab_pre
  2738. };
  2739. o.doPubMsg(["sendPV", "complete", r, s]), o.doCachePubs(["sendPV", "complete", r, s])
  2740. }
  2741. }
  2742. }
  2743. }, function(t, e) {
  2744. "use strict";
  2745. e.plugins_prepv = []
  2746. }, function(t, e, n) {
  2747. "use strict";
  2748. function o() {
  2749. var t = i.getGoldlogVal("_$") || {},
  2750. e = "//gm.mmstat.com/";
  2751. return t.is_terminal && (e = "//wgo.mmstat.com/"), {
  2752. where_to_hjlj: {
  2753. url: e,
  2754. ac_atpanel: "//ac.mmstat.com/",
  2755. tblogUrl: "//log.mmstat.com/"
  2756. }
  2757. }
  2758. }
  2759. function a() {
  2760. return r.assign(new s, new o)
  2761. }
  2762. var r = n(13),
  2763. i = n(28),
  2764. s = n(62);
  2765. t.exports = a
  2766. }, function(t, e, n) {
  2767. "use strict";
  2768. function o() {
  2769. return {
  2770. compose: {},
  2771. basic_params: {
  2772. cna: a.getCookie("cna")
  2773. },
  2774. where_to_hjlj: {
  2775. url: "//gm.mmstat.com/",
  2776. ac_atpanel: "//ac.mmstat.com/",
  2777. tblogUrl: "//log.mmstat.com/"
  2778. },
  2779. userdata: {},
  2780. what_to_hjlj: {
  2781. logdata: {}
  2782. },
  2783. what_to_pvhash: {
  2784. hash: []
  2785. },
  2786. what_to_hjlj_exinfo: {
  2787. EXPARAMS_FLAG: "EXPARAMS",
  2788. exinfo: [],
  2789. exparams_key_names: ["uidaplus", "pc_i", "pu_i"]
  2790. },
  2791. what_to_hjlj_ut: {
  2792. logdataToUT: {}
  2793. },
  2794. what_to_hjlj_ut2: {
  2795. isSuccess: !1,
  2796. logdataToUT: {}
  2797. },
  2798. where_to_sendlog_ut: {
  2799. aplusToUT: {},
  2800. toUTName: "toUT"
  2801. },
  2802. network: {
  2803. connType: "UNKNOWN"
  2804. },
  2805. is_single: !1
  2806. }
  2807. }
  2808. var a = n(14);
  2809. t.exports = o
  2810. }, function(t, e, n) {
  2811. "use strict";
  2812. e.plugins_hjlj = [{
  2813. name: "where_to_sendlog_ut",
  2814. enable: !0,
  2815. path: n(36)
  2816. }, {
  2817. name: "is_single",
  2818. enable: !0,
  2819. path: n(38)
  2820. }, {
  2821. name: "what_to_hjlj_exinfo",
  2822. enable: !0,
  2823. path: n(64)
  2824. }, {
  2825. name: "what_to_pvhash",
  2826. enable: !0,
  2827. path: n(41)
  2828. }, {
  2829. name: "what_to_hjlj",
  2830. enable: !0,
  2831. path: n(65),
  2832. deps: ["what_to_hjlj_exinfo", "what_to_pvhash"]
  2833. }, {
  2834. name: "what_to_hjlj_ut",
  2835. enable: !0,
  2836. path: n(66),
  2837. deps: ["is_single", "what_to_hjlj_exinfo"]
  2838. }, {
  2839. name: "where_to_hjlj",
  2840. enable: !0,
  2841. path: n(67),
  2842. deps: ["is_single", "what_to_hjlj"]
  2843. }, {
  2844. name: "do_sendhjlj",
  2845. enable: !0,
  2846. path: n(68),
  2847. deps: ["is_single", "what_to_hjlj", "where_to_hjlj"]
  2848. }, {
  2849. name: "do_sendhjlj_ut",
  2850. enable: !0,
  2851. path: n(69),
  2852. deps: ["what_to_hjlj", "what_to_hjlj_ut", "where_to_sendlog_ut"]
  2853. }]
  2854. }, function(t, e, n) {
  2855. "use strict";
  2856. var o = n(20),
  2857. a = n(27),
  2858. r = n(28),
  2859. i = n(28),
  2860. s = n(26),
  2861. u = n(14);
  2862. t.exports = function() {
  2863. return {
  2864. init: function(t) {
  2865. this.options = t
  2866. },
  2867. getCookieUserInfo: function() {
  2868. var t = [],
  2869. e = u.getCookie("workno") || u.getCookie("emplId");
  2870. e && t.push("workno=" + e);
  2871. var n = u.getAda();
  2872. return n && t.push("_a_d_a=" + u.getAda()), t
  2873. },
  2874. filterExinfo: function(t) {
  2875. var e = "";
  2876. try {
  2877. t && ("string" == typeof t ? e = t.replace(/&amp;/g, "&").replace(/\buserid=/, "uidaplus=").replace(/&aplus&/, "&") : "object" == typeof t && (e = o.obj2param(t, !0)))
  2878. } catch(t) {
  2879. e = t.message ? t.message : ""
  2880. }
  2881. return e
  2882. },
  2883. getExparamsFlag: function() {
  2884. var t = this.options.context || {},
  2885. e = t.what_to_hjlj_exinfo || {};
  2886. return e.EXPARAMS_FLAG || "EXPARAMS"
  2887. },
  2888. getCustomExParams: function(t) {
  2889. var e = "";
  2890. return t !== this.getExparamsFlag() && (e = this.filterExinfo(t) || ""), e ? e.split("&") : []
  2891. },
  2892. getBeaconExparams: function(t, e) {
  2893. var n = [],
  2894. r = a.getExParams(o) || "";
  2895. r = r.replace(/&aplus&/, "&");
  2896. for(var i = o.param2arr(r) || [], u = function(e) {
  2897. return s.indexof(t, e) > -1
  2898. }, c = 0; c < i.length; c++) {
  2899. var l = i[c],
  2900. p = l[0] || "",
  2901. g = l[1] || "";
  2902. p && g && (e === this.getExparamsFlag() || u(p)) && n.push(p + "=" + g)
  2903. }
  2904. return n
  2905. },
  2906. getExinfo: function(t) {
  2907. var e = this.options.context || {},
  2908. n = e.what_to_hjlj_exinfo || {},
  2909. o = n.exparams_key_names || [],
  2910. a = this.getBeaconExparams(o, t);
  2911. return a
  2912. },
  2913. getExData: function(t) {
  2914. var e = [];
  2915. if("object" == typeof t)
  2916. for(var n in t) {
  2917. var o = t[n];
  2918. n && o && "object" != typeof o && "function" != typeof o && e.push(n + "=" + o)
  2919. }
  2920. return e
  2921. },
  2922. doConcatArr: function(t, e) {
  2923. return e && e.length > 0 && (t = t.concat(e)), t
  2924. },
  2925. run: function() {
  2926. try {
  2927. var t = this.options.context.what_to_hjlj_exinfo || {},
  2928. e = r.getGoldlogVal("_$") || {},
  2929. n = e.meta_info || {},
  2930. o = n["aplus-exinfo"] || "",
  2931. a = n["aplus-exdata"] || "",
  2932. s = [];
  2933. s = this.doConcatArr(s, t.exinfo || []), s = this.doConcatArr(s, this.getExinfo(o)), s = this.doConcatArr(s, this.getCookieUserInfo()), s = this.doConcatArr(s, this.getCustomExParams(o)), s = this.doConcatArr(s, this.getExData(a)), t.exinfo = s.join("&"), this.options.context.what_to_hjlj_exinfo = t
  2934. } catch(t) {
  2935. i.logger({
  2936. msg: t ? t.message : ""
  2937. })
  2938. }
  2939. }
  2940. }
  2941. }
  2942. }, function(t, e, n) {
  2943. "use strict";
  2944. var o = n(27),
  2945. a = n(20),
  2946. r = n(13);
  2947. t.exports = function() {
  2948. return {
  2949. init: function(t) {
  2950. this.options = t
  2951. },
  2952. getParams: function() {
  2953. var t = this.options.context || {},
  2954. e = t.userdata || {},
  2955. n = t.basic_params || {},
  2956. i = t.what_to_hjlj_exinfo || {},
  2957. s = i.exinfo || "";
  2958. e.gokey && s && 0 !== s.indexOf("&") && (s = "&" + s);
  2959. var u = n.cna,
  2960. c = e.gmkey,
  2961. l = e.gokey + s,
  2962. p = t.what_to_pvhash || {},
  2963. g = p.hash || [];
  2964. g.length && (l += "&" + g.join("="));
  2965. var f = {
  2966. cache: r.makeCacheNum(),
  2967. gmkey: c,
  2968. gokey: l,
  2969. cna: u
  2970. };
  2971. e["spm-cnt"] && (f["spm-cnt"] = e["spm-cnt"]), e["spm-pre"] && (f["spm-pre"] = e["spm-pre"]);
  2972. try {
  2973. var d = o.getExParams(a),
  2974. h = a.param2obj(d).uidaplus;
  2975. h && (f._gr_uid_ = h)
  2976. } catch(t) {}
  2977. return f
  2978. },
  2979. run: function() {
  2980. this.options.context.what_to_hjlj.logdata = this.getParams()
  2981. }
  2982. }
  2983. }
  2984. }, function(t, e, n) {
  2985. "use strict";
  2986. var o = n(39),
  2987. a = n(14),
  2988. r = n(28),
  2989. i = n(8);
  2990. t.exports = function() {
  2991. return {
  2992. init: function(t) {
  2993. this.options = t
  2994. },
  2995. getToUtData: function(t, e) {
  2996. var n = r.getGoldlogVal("_$") || {},
  2997. s = n.spm || {},
  2998. u = this.options.context || {},
  2999. c = u.userdata || {},
  3000. l = u.what_to_hjlj_exinfo || {},
  3001. p = l.exinfo || "";
  3002. c.gokey && p && 0 !== p.indexOf("&") && (p = "&" + p);
  3003. var g = c.gokey + p,
  3004. f = {
  3005. gmkey: c.gmkey,
  3006. gokey: g,
  3007. lver: i.lver,
  3008. jsver: i.script_name,
  3009. version: i.toUtVersion,
  3010. spm_cnt: s.spm_cnt || "",
  3011. spm_url: s.spm_url || "",
  3012. spm_pre: s.spm_pre || ""
  3013. };
  3014. t && (f._is_g2u_ = 1), f._bridgeName = e.bridgeName || "", f._toUT = 1;
  3015. try {
  3016. f = JSON.stringify(f), "{}" == f && (f = "")
  3017. } catch(t) {
  3018. f = ""
  3019. }
  3020. var d = n.meta_info || {},
  3021. h = d.isonepage_data || {},
  3022. m = {};
  3023. return m.functype = o.getFunctypeValue({
  3024. logkey: c.logkey,
  3025. gmkey: c.gmkey,
  3026. spm_ab: r.getGoldlogVal("spm_ab")
  3027. }), m.spmcnt = s.spm_cnt || "", m.spmurl = s.spm_url || "", m.spmpre = s.spm_pre || "", m.logkey = c.logkey, m.logkeyargs = f, m.urlpagename = h.urlpagename, m.url = location.href, m.cna = a.getCookie("cna") || "", m.extendargs = "", m.isonepage = h.isonepage, m
  3028. },
  3029. run: function() {
  3030. var t = this.options.context || {},
  3031. e = !!t.is_single,
  3032. n = t.what_to_hjlj_ut || {},
  3033. o = t.where_to_sendlog_ut || {},
  3034. a = o.aplusToUT || {},
  3035. r = a.toUT || {};
  3036. n.logdataToUT = this.getToUtData(e, r), this.options.context.what_to_hjlj_ut = n
  3037. }
  3038. }
  3039. }
  3040. }, function(t, e, n) {
  3041. "use strict";
  3042. var o = n(20),
  3043. a = n(13),
  3044. r = n(28),
  3045. i = n(25),
  3046. s = n(34);
  3047. t.exports = function() {
  3048. return {
  3049. init: function(t) {
  3050. this.options = t
  3051. },
  3052. getMetaInfo: function() {
  3053. var t = r.getGoldlogVal("_$") || {},
  3054. e = t.meta_info || s.getInfo();
  3055. return e
  3056. },
  3057. getAplusMetaByKey: function(t) {
  3058. var e = this.getMetaInfo() || {};
  3059. return e[t]
  3060. },
  3061. cramUrl: function(t) {
  3062. var e = r.getGoldlogVal("_$") || {},
  3063. n = e.spm || {},
  3064. o = this.options.context.where_to_hjlj || {},
  3065. i = o.ac_atpanel,
  3066. s = o.tblogUrl,
  3067. u = this.options.context.what_to_hjlj || {},
  3068. c = this.options.context.userdata || {},
  3069. l = !0,
  3070. p = c.logkey;
  3071. if(!p) return {
  3072. url: t,
  3073. logkey_available: !1
  3074. };
  3075. if("ac" == p) t = i + "1.gif";
  3076. else if(a.isStartWith(p, "ac-")) t = i + p.substr(3);
  3077. else if(a.isStartWith(p, "/")) {
  3078. t += p.substr(1);
  3079. var g = u.logdata || {};
  3080. g["spm-cnt"] = n.spm_cnt, g.logtype = 2;
  3081. try {
  3082. u.logdata = g, this.options.context.what_to_hjlj = u
  3083. } catch(t) {}
  3084. } else a.isEndWith(p, ".gif") ? t = s + p : l = !1;
  3085. return {
  3086. url: t,
  3087. logkey_available: l
  3088. }
  3089. },
  3090. can_to_sendhjlj: function(t) {
  3091. var e = this.options.context || {},
  3092. n = e.logger || function() {},
  3093. o = this.options.context.userdata || {};
  3094. return !!t.logkey_available || (n({
  3095. msg: "logkey: " + o.logkey + " is not legal!"
  3096. }), !1)
  3097. },
  3098. run: function() {
  3099. var t = !!this.options.context.is_single;
  3100. if(!t) {
  3101. var e, n, a = o.filterIntUrl(this.options.context.where_to_hjlj.url),
  3102. r = this.getAplusMetaByKey("aplus-rhost-g"),
  3103. s = r && o.hostValidity(r);
  3104. s && (e = /^\/\//.test(r) ? "" : "//", n = /\/$/.test(r) ? "" : "/", a = e + r + n), r && !s && i.logger({
  3105. msg: "aplus-rhost-g: " + r + ' is invalid, suggestion: "xxx.mmstat.com"'
  3106. });
  3107. var u = this.cramUrl(a);
  3108. return this.can_to_sendhjlj(u) ? void(this.options.context.where_to_hjlj.url = u.url) : "done"
  3109. }
  3110. }
  3111. }
  3112. }
  3113. }, function(t, e, n) {
  3114. "use strict";
  3115. var o = n(28);
  3116. t.exports = function() {
  3117. return {
  3118. init: function(t) {
  3119. this.options = t
  3120. },
  3121. run: function() {
  3122. var t = this.options.context || {},
  3123. e = this.options.config || {},
  3124. n = !!t.is_single;
  3125. if(!n) {
  3126. var a = t.logger || {},
  3127. r = t.what_to_hjlj || {},
  3128. i = t.where_to_hjlj || {},
  3129. s = r.logdata || {},
  3130. u = i.url || "";
  3131. u || "function" != typeof a || a({
  3132. msg: "warning: where_to_hjlj.url is null, goldlog.record failed!"
  3133. });
  3134. var c = goldlog.send(i.url, s, e.method || "GET");
  3135. o.setGoldlogVal("req", c)
  3136. }
  3137. }
  3138. }
  3139. }
  3140. }, function(t, e) {
  3141. "use strict";
  3142. t.exports = function() {
  3143. return {
  3144. init: function(t) {
  3145. this.options = t
  3146. },
  3147. run: function(t, e) {
  3148. var n = this,
  3149. o = this.options.context || {},
  3150. a = o.what_to_hjlj_ut2.isSuccess,
  3151. r = o.logger || function() {},
  3152. i = !!o.is_single,
  3153. s = o.where_to_sendlog_ut || {},
  3154. u = o.what_to_hjlj_ut || {},
  3155. c = u.logdataToUT || {},
  3156. l = s.aplusToUT || {},
  3157. p = l.toUT;
  3158. if(!a && p && "function" == typeof p.toUT2 && p.isAvailable) try {
  3159. p.toUT2(c, function() {
  3160. l.toutflag = "toUT", n.options.context.what_to_hjlj_ut.isSuccess = !0, e()
  3161. }, function() {
  3162. e()
  3163. }, 5e3)
  3164. } catch(t) {
  3165. i && r({
  3166. msg: "warning: singleSend toUTName = " + s.toUTName + " errorMsg:" + t.message
  3167. })
  3168. } finally {
  3169. return "pause"
  3170. }
  3171. }
  3172. }
  3173. }
  3174. }, function(t, e, n) {
  3175. "use strict";
  3176. function o() {
  3177. var t, e, n = i.KEY || {},
  3178. o = n.NAME_STORAGE || {};
  3179. if(!c && u) {
  3180. var a = location.href,
  3181. l = u && (a.indexOf("login.taobao.com") >= 0 || a.indexOf("login.tmall.com") >= 0),
  3182. p = s.getRefer();
  3183. l && p ? (t = p, e = r.getItem(o.REFERRER_PV_ID)) : (t = a, e = goldlog.pvid), r.setItem(o.REFERRER, t), r.setItem(o.REFERRER_PV_ID, e)
  3184. }
  3185. }
  3186. var a = n(71),
  3187. r = n(7).nameStorage,
  3188. i = n(8),
  3189. s = n(49),
  3190. u = "https:" == location.protocol,
  3191. c = parent !== self;
  3192. e.run = function() {
  3193. a.on(window, "beforeunload", function() {
  3194. o()
  3195. })
  3196. }
  3197. }, function(t, e) {
  3198. "use strict";
  3199. function n(t, e) {
  3200. var n = goldlog._$ || {},
  3201. o = n.meta_info || {},
  3202. a = o.aplus_ctap || {};
  3203. if(a && "function" == typeof a.on) a.on(t, e);
  3204. else {
  3205. var r = "ontouchend" in document.createElement("div"),
  3206. s = r ? "touchstart" : "mousedown";
  3207. i(t, s, e)
  3208. }
  3209. }
  3210. function o(t) {
  3211. try {
  3212. u.documentElement.doScroll("left")
  3213. } catch(e) {
  3214. return void setTimeout(function() {
  3215. o(t)
  3216. }, 1)
  3217. }
  3218. t()
  3219. }
  3220. function a(t) {
  3221. var e = 0,
  3222. n = function() {
  3223. 0 === e && t(), e++
  3224. };
  3225. "complete" === u.readyState && n();
  3226. var a;
  3227. if(u.addEventListener) a = function() {
  3228. u.removeEventListener("DOMContentLoaded", a, !1), n()
  3229. }, u.addEventListener("DOMContentLoaded", a, !1), window.addEventListener("load", n, !1);
  3230. else if(u.attachEvent) {
  3231. a = function() {
  3232. "complete" === u.readyState && (u.detachEvent("onreadystatechange", a), n())
  3233. }, u.attachEvent("onreadystatechange", a), window.attachEvent("onload", n);
  3234. var r = !1;
  3235. try {
  3236. r = null === window.frameElement
  3237. } catch(t) {}
  3238. u.documentElement.doScroll && r && o(n)
  3239. }
  3240. }
  3241. function r(t) {
  3242. "complete" === u.readyState ? t() : i(s, "load", t)
  3243. }
  3244. function i() {
  3245. var t = arguments;
  3246. if(2 === t.length) "DOMReady" === t[0] && a(t[1]), "onload" === t[0] && r(t[1]);
  3247. else if(3 === t.length) {
  3248. var e = t[0],
  3249. o = t[1],
  3250. i = t[2];
  3251. "tap" === o ? n(e, i) : e[g]((c ? "on" : "") + o, function(t) {
  3252. t = t || s.event;
  3253. var e = t.target || t.srcElement;
  3254. "function" == typeof i && i(t, e)
  3255. }, !1)
  3256. }
  3257. }
  3258. var s = window,
  3259. u = document,
  3260. c = !!u.attachEvent,
  3261. l = "attachEvent",
  3262. p = "addEventListener",
  3263. g = c ? l : p;
  3264. e.DOMReady = a, e.onload = r, e.on = i
  3265. }, function(t, e, n) {
  3266. "use strict";
  3267. function o() {
  3268. var t, e = "_ap",
  3269. n = r[e] = r[e] || [];
  3270. n.push = t = function() {
  3271. var t = "0.0";
  3272. window.goldlog && window.goldlog.spm_ab && (t = window.goldlog.spm_ab.join(".")), f.do_tracker_obsolete_inter({
  3273. ratio: d ? 1 : .01,
  3274. page: location.hostname + location.pathname,
  3275. spm_ab: t,
  3276. interface_name: "win._ap",
  3277. interface_params: JSON.stringify(arguments)
  3278. });
  3279. for(var e, o, a = 0, r = arguments.length; a < r; a++) e = arguments[a], s.isString(e) ? goldlog.send(l.hjlj() + e) : s.isArray(e) && "push" != (o = e[0]) && (n[o] = n[o] || []).push(e.slice(1))
  3280. };
  3281. for(var o; o = n.shift();) t(o)
  3282. }
  3283. function a() {
  3284. var t = (new Date).getTime(),
  3285. e = Math.floor(t / 72e5),
  3286. n = i.getElementById("aplus-sufei"),
  3287. o = goldlog._$ || {},
  3288. a = goldlog.getCdnPath(),
  3289. r = a + "/alilog/aplus_plugin_xwj/index.js?t=" + e,
  3290. s = a + "/alilog/oneplus/entry.js?t=" + e,
  3291. l = a + "/alilog/stat/a.js?t=" + e,
  3292. p = a + "/secdev/entry/index.js?t=" + e,
  3293. g = a + "/alilog/mlog/wp_beacon.js?t=" + e,
  3294. f = o.meta_info,
  3295. d = function() {
  3296. u.addScript(l), u.addScript(g), u.addScript(r), u.addScript(s)
  3297. },
  3298. h = function() {
  3299. Math.random() < .01 && u.addScript(l), f.ms_data_instance_id && f.ms_prototype_id && f.ms_prototype_id.match(/^[124]$/) && f.ms_data_shop_id && u.addScript(g);
  3300. var t = f["aplus-rate-ahot"];
  3301. (Math.random() < t || f["ahot-aplus"]) && u.addScript(r), u.addScript(s)
  3302. },
  3303. m = f["aplus-xplug"];
  3304. c.onload(function() {
  3305. try {
  3306. switch(m) {
  3307. case "NONE":
  3308. break;
  3309. case "ALL":
  3310. d();
  3311. break;
  3312. default:
  3313. h()
  3314. }
  3315. } catch(t) {}
  3316. }), "NONE" !== m && setTimeout(function() {
  3317. n && "script" == n.tagName.toLowerCase() || u.addScript(p, "", "aplus-sufei")
  3318. }, 10)
  3319. }
  3320. var r = window,
  3321. i = document,
  3322. s = n(13),
  3323. u = n(27),
  3324. c = n(71),
  3325. l = n(73),
  3326. p = n(25),
  3327. g = n(74),
  3328. f = n(56),
  3329. d = p.isDebugAplus();
  3330. e.run = function() {
  3331. o(), a()
  3332. }, e.init_watchGoldlogQueue = g.init_watchGoldlogQueue
  3333. }, function(t, e, n) {
  3334. "use strict";
  3335. var o = n(23);
  3336. e.hjlj = function() {
  3337. var t = window.goldlog || (window.goldlog = {}),
  3338. e = t._$ || {},
  3339. n = e.script_name,
  3340. a = e.meta_info || {},
  3341. r = a["aplus-rhost-g"],
  3342. i = "//gm.mmstat.com/";
  3343. return(e.is_terminal || "aplus_wap" === n) && (i = "//wgo.mmstat.com/"), "aplus_int" === n && (i = "//gj.mmstat.com/"), r && (i = "//" + r + "/"), o.getProtocal() + i
  3344. }
  3345. }, function(t, e, n) {
  3346. "use strict";
  3347. var o = window,
  3348. a = n(13),
  3349. r = n(73),
  3350. i = n(25),
  3351. s = n(4),
  3352. u = n(75),
  3353. c = n(56),
  3354. l = i.isDebugAplus();
  3355. e.init_aplusQueue = function() {
  3356. var t, e = "_ap",
  3357. n = o[e] = o[e] || [];
  3358. n.push = t = function() {
  3359. var t = "0.0";
  3360. window.goldlog && window.goldlog.spm_ab && (t = window.goldlog.spm_ab.join(".")), c.do_tracker_obsolete_inter({
  3361. ratio: l ? 1 : .01,
  3362. page: location.hostname + location.pathname,
  3363. spm_ab: t,
  3364. interface_name: "win._ap",
  3365. interface_params: JSON.stringify(arguments)
  3366. });
  3367. for(var e, o, i = 0, s = arguments.length; i < s; i++) e = arguments[i], a.isString(e) ? goldlog.send(r.hjlj() + e) : a.isArray(e) && "push" != (o = e[0]) && (n[o] = n[o] || []).push(e.slice(1))
  3368. };
  3369. for(var i; i = n.shift();) t(i)
  3370. };
  3371. var p = "goldlog_queue",
  3372. g = function(t) {
  3373. try {
  3374. if(t && t.action && t.arguments && a.isArray(t.arguments)) {
  3375. var e = t.action.split("."),
  3376. n = o,
  3377. r = o;
  3378. if(3 === e.length) n = o[e[0]][e[1]], r = n[e[2]];
  3379. else
  3380. for(; e.length;)
  3381. if(r = n = n[e.shift()], !n) return;
  3382. "function" == typeof r && r.apply(n, t.arguments)
  3383. }
  3384. } catch(t) {}
  3385. },
  3386. f = function(t) {
  3387. function e() {
  3388. var t = o[p];
  3389. if(t && a.isArray(t) && t.length) {
  3390. o[p] && a.isArray(o[p]) || (o[p] = []);
  3391. for(var e = {}; e = t.shift();) e && e.action && e.arguments && a.isArray(e.arguments) && g(e)
  3392. }
  3393. }
  3394. try {
  3395. e()
  3396. } catch(t) {} finally {
  3397. "function" == typeof t && t()
  3398. }
  3399. };
  3400. e.processGoldlogQueue = f;
  3401. var d = s.extend({
  3402. push: function(t) {
  3403. this.length++, g(t)
  3404. }
  3405. }),
  3406. h = function() {
  3407. o[p] = d.create({
  3408. length: 0
  3409. })
  3410. },
  3411. m = function(t) {
  3412. for(var e = 0, n = 0; n < t.length; n++) t[n] || e++;
  3413. return e === t.length
  3414. };
  3415. e.init_watchGoldlogQueue = function() {
  3416. u.init_loadAplusPlugin();
  3417. try {
  3418. var t = o[p] || [];
  3419. !t || 0 === t.length || m(t || []) ? h() : f(function() {
  3420. h()
  3421. })
  3422. } catch(t) {}
  3423. }
  3424. }, function(t, e, n) {
  3425. "use strict";
  3426. var o = n(27),
  3427. a = n(35),
  3428. r = n(10),
  3429. i = function(t, e) {
  3430. var n = a.getMetaCnt(t);
  3431. return !(!n && !e)
  3432. },
  3433. s = function() {
  3434. var t = goldlog.getCdnPath();
  3435. return {
  3436. aplus_ae_path: t + "/alilog/s/" + r.lver + "/plugin/aplus_ae.js",
  3437. aplus_ac_path: t + "/alilog/s/" + r.lver + "/plugin/aplus_ac.js"
  3438. }
  3439. },
  3440. u = function(t, e) {
  3441. var n = s(),
  3442. a = i(t, e),
  3443. r = {
  3444. "aplus-auto-exp": n.aplus_ae_path,
  3445. "aplus-auto-clk": n.aplus_ac_path
  3446. };
  3447. a && r[t] && o.addScript(r[t])
  3448. };
  3449. e.init_loadAplusPlugin = function() {
  3450. u("aplus-auto-exp"), u("aplus-auto-clk"), goldlog.aplus_pubsub.subscribe("setMetaInfo", function(t, e) {
  3451. "aplus-auto-exp" !== t || goldlog._aplus_auto_exp || u(t, e), "aplus-auto-clk" !== t || goldlog._aplus_ac || u(t, e)
  3452. })
  3453. }
  3454. }, function(t, e) {
  3455. "use strict";
  3456. function n(t, e) {
  3457. return t.indexOf(e) > -1
  3458. }
  3459. function o(t, e) {
  3460. for(var o = 0, a = t.length; o < a; o++)
  3461. if(n(e, t[o])) return !0;
  3462. return !1
  3463. }
  3464. var a = location.host,
  3465. r = ["xiaobai.com", "admin.taobao.org", "aliloan.com", "mybank.cn"],
  3466. i = ["tmc.admin.taobao.org", "tmall.admin.taobao.org"];
  3467. e.is_exception = o(r, a) && !o(i, a)
  3468. }, function(t, e, n) {
  3469. "use strict";
  3470. function o() {
  3471. var t, e, n, o, a = u.getElementsByTagName("meta");
  3472. for(t = 0, e = a.length; t < e; t++)
  3473. if(n = a[t], o = n.getAttribute("name"), "data-spm" === o || "spm-id" === o) return n
  3474. }
  3475. function a() {
  3476. var t = u.createElement("meta");
  3477. t.setAttribute("name", "data-spm");
  3478. var e = u.getElementsByTagName("head")[0];
  3479. return e && e.insertBefore(t, e.firstChild), t
  3480. }
  3481. function r() {
  3482. var t = o();
  3483. t || (t = a()), t.setAttribute("content", goldlog.spm_ab[0] || "");
  3484. var e = u.getElementsByTagName("body")[0];
  3485. e && e.setAttribute("data-spm", goldlog.spm_ab[1] || "")
  3486. }
  3487. function i() {
  3488. var t, e, n, o = u.getElementsByTagName("*");
  3489. for(t = 0, e = o.length; t < e; t++) n = o[t], n.getAttribute("data-spm-max-idx") && n.setAttribute("data-spm-max-idx", ""), n.getAttribute("data-spm-anchor-id") && n.setAttribute("data-spm-anchor-id", "")
  3490. }
  3491. var s = window,
  3492. u = document,
  3493. c = n(4),
  3494. l = n(20),
  3495. p = n(71),
  3496. g = n(25),
  3497. f = n(5),
  3498. d = n(13),
  3499. h = n(28),
  3500. m = n(23),
  3501. _ = n(37),
  3502. v = n(47),
  3503. b = n(34),
  3504. y = b.getInfo(),
  3505. w = n(8),
  3506. x = n(56),
  3507. j = n(78),
  3508. T = n(14),
  3509. P = n(81),
  3510. S = g.isDebugAplus(),
  3511. A = [],
  3512. k = [],
  3513. E = [],
  3514. C = [],
  3515. U = function(t, e) {
  3516. var n = new Image,
  3517. o = "_img_" + Math.random(),
  3518. a = l.makeUrl(t, e);
  3519. s[o] = n;
  3520. var r = function() {
  3521. if(s[o]) try {
  3522. delete s[o]
  3523. } catch(t) {
  3524. s[o] = void 0
  3525. }
  3526. };
  3527. return n.onload = function() {
  3528. r()
  3529. }, n.onerror = function() {
  3530. r()
  3531. }, setTimeout(function() {
  3532. r()
  3533. }, 1e3), n.src = a, n = null, a
  3534. },
  3535. I = function(t, e) {
  3536. if(navigator && navigator.sendBeacon) {
  3537. for(var n in e) "cna" !== n && (e[n] = encodeURIComponent(e[n]));
  3538. navigator.sendBeacon(t, JSON.stringify(e))
  3539. } else U(t, e);
  3540. return t
  3541. };
  3542. e.run = c.extend({
  3543. getCdnPath: function() {
  3544. var t = u.getElementById("beacon-aplus") || u.getElementById("tb-beacon-aplus"),
  3545. e = "//g.alicdn.com",
  3546. n = ["//assets.alicdn.com/g", "//g-assets.daily.taobao.net"];
  3547. if(t)
  3548. for(var o = 0; o < n.length; o++) {
  3549. var a = new RegExp(n[o]);
  3550. if(a.test(t.src)) {
  3551. e = n[o];
  3552. break
  3553. }
  3554. }
  3555. return e
  3556. },
  3557. isInternational: function() {
  3558. this.cdnPath || (this.cdnPath = this.getCdnPath());
  3559. var t = "//assets.alicdn.com/g" === this.cdnPath || "//laz-g-cdn.alicdn.com" === this.cdnPath;
  3560. return t || "int" === this.getMetaInfo("aplus-env")
  3561. },
  3562. getCookie: function(t) {
  3563. return T.getCookie(t)
  3564. },
  3565. getParam: function(t) {
  3566. var e = s.WindVane || {},
  3567. n = _.isAplusChnl(),
  3568. o = "";
  3569. n && "object" == typeof n && (o = n.bridgeName || "customBridge");
  3570. var a = e.getParam ? "WindVane" : o,
  3571. r = e && "function" == typeof e.getParam ? e.getParam(t) : "",
  3572. i = goldlog.spm_ab ? goldlog.spm_ab.join(".") : "0.0",
  3573. u = "sid=" + t + "@valueIsEmpty=" + !r;
  3574. return a && (u += "_bridgeName=" + a), x.do_tracker_obsolete_inter({
  3575. ratio: S ? 1 : .01,
  3576. page: location.hostname + location.pathname,
  3577. spm_ab: i,
  3578. interface_name: "goldlog.getParam",
  3579. interface_params: u
  3580. }), r
  3581. },
  3582. beforeSendPV: function(t) {
  3583. A.push(t)
  3584. },
  3585. afterSendPV: function(t) {
  3586. k.push(t)
  3587. },
  3588. send: function(t, e, n) {
  3589. var o;
  3590. if(0 === t.indexOf("//")) {
  3591. var a = m.getProtocal();
  3592. t = a + t
  3593. }
  3594. return o = "POST" === n && navigator.sendBeacon ? I(t, e) : U(t, e)
  3595. },
  3596. launch: function(t, e) {
  3597. var n;
  3598. try {
  3599. e = d.assign(e, t), n = goldlog._$._sendPV(e, t);
  3600. var o = goldlog.spm_ab ? goldlog.spm_ab.join(".") : "0.0";
  3601. x.do_tracker_obsolete_inter({
  3602. page: location.hostname + location.pathname,
  3603. spm_ab: o,
  3604. interface_name: "goldlog.launch",
  3605. interface_params: "userdata = " + JSON.stringify(t) + ", config = " + JSON.stringify(e)
  3606. })
  3607. } catch(t) {} finally {
  3608. return g.logger({
  3609. msg: "warning: This interface is deprecated, please use goldlog.sendPV instead! API: http://log.alibaba-inc.com/log/info.htm?type=2277&id=31"
  3610. }), n
  3611. }
  3612. },
  3613. _$: {
  3614. _sendPV: function(t, e) {
  3615. if(t = t || {}, d.any(A, function(e) {
  3616. return e(goldlog, t) === !1
  3617. })) return !1;
  3618. var o = n(83).SendPV,
  3619. a = new o;
  3620. return "undefined" == typeof t.recordType && (t.recordType = w.recordTypes.pv), a.run(t, e, {
  3621. fn_after_pv: k
  3622. }), !0
  3623. },
  3624. _sendPseudo: function(t, e) {
  3625. t || (t = {});
  3626. var o = n(84).SendPrePV,
  3627. a = new o;
  3628. return "undefined" == typeof t.recordType && (t.recordType = w.recordTypes.prepv), a.run(t, e, {}, function() {
  3629. f.doPubMsg(["sendPrePV", "complete"])
  3630. }), !0
  3631. }
  3632. },
  3633. sendPV: function(t, e) {
  3634. return e = e || {}, goldlog._$._sendPV(t, e)
  3635. },
  3636. beforeRecord: function(t) {
  3637. E.push(t)
  3638. },
  3639. afterRecord: function(t) {
  3640. C.push(t)
  3641. },
  3642. record: function(t, e, n, o, a) {
  3643. if(!d.any(E, function(t) {
  3644. return t(goldlog) === !1
  3645. })) return j.run({
  3646. recordType: w.recordTypes.hjlj,
  3647. method: "POST" === o ? "POST" : "GET"
  3648. }, {
  3649. logkey: t,
  3650. gmkey: e,
  3651. gokey: n
  3652. }, {
  3653. fn_after_record: C
  3654. }, function() {
  3655. "function" == typeof a && a()
  3656. }), !0
  3657. },
  3658. recordUdata: function(t, e, n, o, a) {
  3659. var r = h.getGoldlogVal("_$") || {},
  3660. i = r.spm || {};
  3661. j.run({
  3662. ignore_chksum: !0,
  3663. method: "POST" === o ? "POST" : "GET",
  3664. recordType: w.recordTypes.uhjlj
  3665. }, {
  3666. logkey: t,
  3667. gmkey: e,
  3668. gokey: n,
  3669. "spm-cnt": i.spm_cnt,
  3670. "spm-pre": i.spm_pre
  3671. }, {}, function() {
  3672. d.isFunction(a) && a()
  3673. })
  3674. },
  3675. setPageSPM: function(t, e, n) {
  3676. var o = "function" == typeof n ? n : function() {};
  3677. goldlog.spm_ab = goldlog.spm_ab || [];
  3678. var a = d.cloneObj(goldlog.spm_ab);
  3679. t && (goldlog.spm_ab[0] = "" + t, goldlog._$.spm.data.a = "" + t), e && (goldlog.spm_ab[1] = "" + e, goldlog._$.spm.data.b = "" + e), v.spaInit(goldlog, y, a);
  3680. var s = a.join(".");
  3681. goldlog.spmab_pre = s;
  3682. var u = goldlog.spm_ab.join(".");
  3683. f.doPubMsg(["setPageSPM", {
  3684. spmab_pre: s,
  3685. spmab: u
  3686. }]), f.doCachePubs(["setPageSPM", {
  3687. spmab_pre: s,
  3688. spmab: u
  3689. }]), r(), i(), o()
  3690. },
  3691. setMetaInfo: function(t, e) {
  3692. if(b.setMetaInfo(t, e)) {
  3693. var n = h.getGoldlogVal("_$") || {};
  3694. n.meta_info = b.qGet();
  3695. var o = h.setGoldlogVal("_$", n),
  3696. a = P.isDisablePvid() + "";
  3697. return "aplus-disable-pvid" === t && a !== e + "" && v.resetSpmCntPvid(), f.doPubMsg(["setMetaInfo", t, e]), f.doCachePubs(["setMetaInfo", t, e]), o
  3698. }
  3699. },
  3700. appendMetaInfo: function(t, e) {
  3701. if(t && e) {
  3702. var n, o, a, r = b.getMetaInfo(t);
  3703. if(r)
  3704. if("object" != typeof r) try {
  3705. r = JSON.parse(r), o = !0
  3706. } catch(t) {} else o = !0;
  3707. a = o && r.constructor === Array;
  3708. var i = e;
  3709. if("object" != typeof e) try {
  3710. i = JSON.parse(e)
  3711. } catch(t) {}
  3712. o && i.constructor === Object ? n = d.assign(r, i) : a && i.constructor === Array && (n = r.concat(i)), goldlog.setMetaInfo(t, n ? n : e)
  3713. }
  3714. },
  3715. getMetaInfo: function(t) {
  3716. return b.getMetaInfo(t)
  3717. },
  3718. on: p.on,
  3719. cloneDeep: d.cloneDeep,
  3720. getPvId: P.getPvId
  3721. })
  3722. }, function(t, e, n) {
  3723. "use strict";
  3724. var o = n(13),
  3725. a = n(28),
  3726. r = n(5),
  3727. i = n(25),
  3728. s = n(79),
  3729. u = n(80),
  3730. c = n(8);
  3731. e.run = function(t, e, n, l) {
  3732. var p = new u;
  3733. p.init({
  3734. middleware: [],
  3735. config: t,
  3736. plugins: c.plugins_hjlj
  3737. });
  3738. var g = p.run(),
  3739. f = new c.context_hjlj;
  3740. f.userdata = e, f.logger = i.logger;
  3741. var d = {
  3742. context: f,
  3743. pubsub: a.getGoldlogVal("aplus_pubsub"),
  3744. pubsubType: "hjlj"
  3745. },
  3746. h = new s;
  3747. h.create(d), h.wrap(g, function() {
  3748. d.context.status = "complete", r.doPubMsg(["mw_change_hjlj", d.context]), n && n.fn_after_record && o.each(n.fn_after_record, function(t) {
  3749. t(window.goldlog)
  3750. }), "function" == typeof l && l()
  3751. })()
  3752. }
  3753. }, function(t, e, n) {
  3754. "use strict";
  3755. function o() {}
  3756. var a = n(26),
  3757. r = n(24),
  3758. i = n(25),
  3759. s = n(56),
  3760. u = n(14);
  3761. o.prototype.create = function(t) {
  3762. for(var e in t) "undefined" == typeof this[e] && (this[e] = t[e]);
  3763. return this
  3764. }, o.prototype.pubsubInfo = function(t) {
  3765. try {
  3766. t && t.pubsub && t.pubsub.publish("mw_change_" + t.pubsubType, t.context)
  3767. } catch(t) {}
  3768. }, o.prototype.calledList = [], o.prototype.setCalledList = function(t) {
  3769. a.indexof(this.calledList, t) === -1 && this.calledList.push(t)
  3770. }, o.prototype.resetCalledList = function() {
  3771. this.calledList = []
  3772. }, o.prototype.wrap = function(t, e) {
  3773. var n = this,
  3774. o = this.context || {},
  3775. c = o.compose || {},
  3776. l = c.maxTimeout || 1e4;
  3777. return function(o) {
  3778. var c, p = t.length,
  3779. g = 0,
  3780. f = 0,
  3781. d = function() {
  3782. if(n.pubsubInfo(n), g === p) return o = "done", n.resetCalledList(), "function" == typeof e && e.call(n, o), void clearTimeout(c);
  3783. if(a.indexof(n.calledList, g) === -1) {
  3784. if(n.setCalledList(g), !t[g] || "function" != typeof t[g][0]) return;
  3785. try {
  3786. o = t[g][0].call(n, o, function() {
  3787. g++, f = 1, clearTimeout(c), d(g)
  3788. })
  3789. } catch(e) {
  3790. s.do_tracker_jserror({
  3791. message: e ? e.message : "compose middleware error",
  3792. error: encodeURIComponent(e.stack),
  3793. filename: t[g][1]
  3794. })
  3795. }
  3796. }
  3797. var h = "number" == typeof o;
  3798. if("pause" === o || h) {
  3799. f = 0;
  3800. var m = h ? o : l,
  3801. _ = t[g] ? t[g][1] : "";
  3802. c = r.sleep(m, function() {
  3803. if(0 === f) {
  3804. var t = "jump the middleware about " + _ + ", because waiting timeout maxTimeout = " + m + "ms!";
  3805. i.logger({
  3806. msg: t
  3807. }), goldlog_queue.push({
  3808. action: "goldlog._aplus_cplugin_m.do_tracker_browser_support",
  3809. arguments: [{
  3810. msg: t,
  3811. spmab: goldlog.spm_ab,
  3812. page: location.href,
  3813. etag: n.context ? JSON.stringify(n.context.etag) : "",
  3814. cna: document.cookie ? u.getCookie("cna") : ""
  3815. }]
  3816. }), o = null, g++, d(g)
  3817. }
  3818. })
  3819. } else "done" === o ? (g = p, d(g)) : (g++, d(g))
  3820. };
  3821. return n.calledList && n.calledList.length > 0 && n.resetCalledList(), d(g)
  3822. }
  3823. }, t.exports = o
  3824. }, function(t, e, n) {
  3825. "use strict";
  3826. var o = n(26);
  3827. t.exports = function() {
  3828. return {
  3829. init: function(t) {
  3830. this.opts = t, t && "object" == typeof t.middleware && t.middleware.length > 0 ? this.middleware = t.middleware : this.middleware = [], this.plugins_name = []
  3831. },
  3832. pubsubInfo: function(t, e) {
  3833. try {
  3834. var n = t.pubsub;
  3835. n && n.publish("plugins_change_" + t.pubsubType, e)
  3836. } catch(t) {}
  3837. },
  3838. checkPluginLoader: function(t, e) {
  3839. var n = !0;
  3840. if("object" == typeof e.enable && "function" == typeof e.enable.isEnable ? n = e.enable.isEnable(e.name) : "boolean" == typeof e.enable && (n = !!e.enable), !n) return !1;
  3841. if(n && e.deps && e.deps.length > 0)
  3842. for(var a = 0; a < e.deps.length; a++)
  3843. if(o.indexof(this.plugins_name, e.deps[a]) === -1) return !1;
  3844. return !0
  3845. },
  3846. run: function(t) {
  3847. t || (t = 0);
  3848. var e = this,
  3849. n = this.middleware,
  3850. o = this.opts || {},
  3851. a = o.plugins;
  3852. if(a && "object" == typeof a && a.length > 0) {
  3853. var r = a[t];
  3854. if(this.checkPluginLoader(a, r) && (this.plugins_name.push(r.name), n.push([function(t, n) {
  3855. e.pubsubInfo(this, r);
  3856. var a = new r.path;
  3857. return a.init({
  3858. context: this.context,
  3859. config: o.config
  3860. }), a.run(t, n)
  3861. }, r.name])), t++, a[t]) return this.run(t)
  3862. } else window.console && console.log("aplus plugins " + JSON.stringify(a) + " must be object of array!");
  3863. return n
  3864. }
  3865. }
  3866. }
  3867. }, function(t, e, n) {
  3868. "use strict";
  3869. function o() {
  3870. var t = "true" === l.disablePvid;
  3871. try {
  3872. var e = goldlog.getMetaInfo("aplus-disable-pvid") + "";
  3873. "true" === e ? t = !0 : "false" === e && (t = !1)
  3874. } catch(t) {}
  3875. return t
  3876. }
  3877. function a(t) {
  3878. function e(t) {
  3879. var e = "0123456789abcdefhijklmnopqrstuvwxyzABCDEFHIJKLMNOPQRSTUVWXYZ",
  3880. n = "0123456789abcdefghijkmnopqrstuvwxyzABCDEFGHIJKMNOPQRSTUVWXYZ";
  3881. return 1 == t ? e.substr(Math.floor(60 * Math.random()), 1) : 2 == t ? n.substr(Math.floor(60 * Math.random()), 1) : "0"
  3882. }
  3883. for(var n, o = "", a = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", r = !1; o.length < t;) n = a.substr(Math.floor(62 * Math.random()), 1), !r && o.length <= 2 && ("g" == n.toLowerCase() || "l" == n.toLowerCase()) && (0 === o.length && "g" == n.toLowerCase() ? Math.random() < .5 && (n = e(1), r = !0) : 1 == o.length && "l" == n.toLowerCase() && "g" == o.charAt(0).toLowerCase() && (n = e(2), r = !0)), o += n;
  3884. return o
  3885. }
  3886. function r(t, e, n) {
  3887. return t ? u.hash(encodeURIComponent(t)).substr(0, e) : n
  3888. }
  3889. function i() {
  3890. var t = a(8),
  3891. e = t.substr(0, 4),
  3892. n = t.substr(0, 6);
  3893. return [r(location.href, 4, e), r(document.title, 4, e), n].join("")
  3894. }
  3895. function s() {
  3896. var t = goldlog.pvid;
  3897. return goldlog.pvid = i(), c.doPubMsg(["pvidChange", {
  3898. pre_pvid: t,
  3899. pvid: goldlog.pvid
  3900. }]), c.doCachePubs(["pvidChange", {
  3901. pre_pvid: t,
  3902. pvid: goldlog.pvid
  3903. }]), o() ? "" : goldlog.pvid
  3904. }
  3905. var u = n(82),
  3906. c = n(5),
  3907. l = n(8);
  3908. e.isDisablePvid = o, e.makePVId = s, e.getPvId = function() {
  3909. return o() ? "" : goldlog.pvid
  3910. }
  3911. }, function(t, e) {
  3912. "use strict";
  3913. var n = 1315423911;
  3914. e.hash = function(t, e) {
  3915. var o, a, r = e || n;
  3916. for(o = t.length - 1; o >= 0; o--) a = t.charCodeAt(o), r ^= (r << 5) + a + (r >> 2);
  3917. var i = (2147483647 & r).toString(16);
  3918. return i
  3919. }
  3920. }, function(t, e, n) {
  3921. "use strict";
  3922. var o = n(13),
  3923. a = n(28),
  3924. r = n(5),
  3925. i = n(25),
  3926. s = n(79),
  3927. u = n(80),
  3928. c = n(8),
  3929. l = function() {};
  3930. l.prototype.run = function(t, e, n) {
  3931. var l = new u;
  3932. l.init({
  3933. middleware: [],
  3934. config: t,
  3935. plugins: c.plugins_pv
  3936. });
  3937. var p = l.run(),
  3938. g = new c.context;
  3939. g.userdata = e, g.logger = i.logger;
  3940. var f = {
  3941. context: g,
  3942. pubsub: a.getGoldlogVal("aplus_pubsub"),
  3943. pubsubType: "pv"
  3944. },
  3945. d = new s;
  3946. d.create(f), d.wrap(p, function() {
  3947. f.context.status = "complete", r.doPubMsg(["mw_change_pv", f.context]), n && n.fn_after_record && o.each(n.fn_after_pv, function(e) {
  3948. e(window.goldlog, t)
  3949. })
  3950. })()
  3951. }, e.SendPV = l
  3952. }, function(t, e, n) {
  3953. "use strict";
  3954. var o = n(13),
  3955. a = n(28),
  3956. r = n(5),
  3957. i = n(25),
  3958. s = n(79),
  3959. u = n(80),
  3960. c = n(8),
  3961. l = function() {};
  3962. l.prototype.run = function(t, e, n, l) {
  3963. var p = new u;
  3964. p.init({
  3965. middleware: [],
  3966. config: t,
  3967. plugins: c.plugins_prepv
  3968. });
  3969. var g = p.run(),
  3970. f = new c.context_prepv;
  3971. f.userdata = e, f.logger = i.logger;
  3972. var d = {
  3973. context: f,
  3974. pubsub: a.getGoldlogVal("aplus_pubsub"),
  3975. pubsubType: "prepv"
  3976. },
  3977. h = new s;
  3978. h.create(d), h.wrap(g, function() {
  3979. d.context.status = "complete", r.doPubMsg(["mw_change_prepv", d.context]), n && n.fn_after_record && o.each(n.fn_after_pv, function(e) {
  3980. e(window.goldlog, t)
  3981. }), a.setGoldlogVal("prepv_context", f), "function" == typeof l && l()
  3982. })()
  3983. }, e.SendPrePV = l
  3984. }, function(t, e, n) {
  3985. "use strict";
  3986. var o = n(37),
  3987. a = n(8);
  3988. e.init = function() {
  3989. var t = n(8),
  3990. e = goldlog._$,
  3991. r = navigator.userAgent;
  3992. r.match(/AliApp\(([A-Z\-]+)\/([\d\.]+)\)/i) && (e.is_ali_app = !0), t.utilPvid.makePVId();
  3993. var i = n(47);
  3994. e.spm = i, e.is_WindVane = o.is_WindVane;
  3995. var s = e.meta_info;
  3996. e.page_url = location.href, e.page_referrer = n(49).getRefer(), i.init(goldlog, s, function() {
  3997. t.initLoad.init_watchGoldlogQueue();
  3998. var e = n(8).spmException,
  3999. o = e.is_exception;
  4000. o || n(86)
  4001. }), goldlog.beforeSendPV(function(t, e) {
  4002. if(e.is_auto && "1" === s["aplus-manual-pv"]) return !1
  4003. }), goldlog.afterSendPV(function() {
  4004. window.g_SPM && (g_SPM._current_spm = "")
  4005. }), a.is_auto_pv + "" == "true" && goldlog.sendPV({
  4006. is_auto: !0
  4007. }), t.initLoad.run(), t.beforeUnload.run()
  4008. }
  4009. }, function(t, e, n) {
  4010. "use strict";
  4011. ! function() {
  4012. var t, e = n(13),
  4013. o = n(28),
  4014. a = n(87),
  4015. r = function() {
  4016. t = !0;
  4017. var n = window.g_SPM || {};
  4018. e.isFunction(n.getParam) || e.isFunction(n.spm) || a.run()
  4019. },
  4020. i = window.goldlog || (window.goldlog = {});
  4021. i.aplus_pubsub && "function" == typeof i.aplus_pubsub.publish && i.aplus_pubsub.subscribe("goldlogReady", function(e) {
  4022. "complete" !== e || t || r()
  4023. });
  4024. var s = 0,
  4025. u = function() {
  4026. if(!t) {
  4027. var e = o.getGoldlogVal("_$") || {};
  4028. "complete" === e.status ? r() : s < 50 && (++s, setTimeout(function() {
  4029. u()
  4030. }, 200))
  4031. }
  4032. };
  4033. u()
  4034. }()
  4035. }, function(t, e, n) {
  4036. "use strict";
  4037. var o = n(20),
  4038. a = n(26),
  4039. r = n(21),
  4040. i = n(13),
  4041. s = n(27),
  4042. u = n(71),
  4043. c = n(28),
  4044. l = n(25),
  4045. p = n(23);
  4046. e.run = function() {
  4047. function t(t) {
  4048. var e = bt(t, lt),
  4049. n = r.parseSemicolonContent(e) || {};
  4050. return n
  4051. }
  4052. function e() {
  4053. var t = J.spm.data;
  4054. return [t.a, t.b].join(".")
  4055. }
  4056. function n(t, e) {
  4057. var n, o, a, r, i, s, u, c, l, p = [];
  4058. for(n = vt(t.getElementsByTagName("a")), o = vt(t.getElementsByTagName("area")), r = n.concat(o), u = 0, c = r.length; u < c; u++) {
  4059. for(s = !1, i = a = r[u];
  4060. (i = i.parentNode) && i != t;)
  4061. if(bt(i, st)) {
  4062. s = !0;
  4063. break
  4064. }
  4065. s || (l = bt(a, pt), e || "t" == l ? e && "t" == l && p.push(a) : p.push(a))
  4066. }
  4067. return p
  4068. }
  4069. function g(o, a, r, u) {
  4070. var c, l, p, g, f, d, h, m, _, v, b, w, j, P, S, k, E, C, U;
  4071. if(a = a || o.getAttribute(st) || "", a && (c = n(o, u), 0 !== c.length)) {
  4072. if(p = a.split("."), E = xt(a, "110") && 3 == p.length, E && (C = p[2], p[2] = "w" + (C || "0"), a = p.join(".")), jt(j = e()) && j.match(/^[\w\-\*]+(\.[\w\-\*\/]+)?$/))
  4073. if(i.isContain(a, ".")) {
  4074. if(!xt(a, j)) {
  4075. for(g = j.split("."), p = a.split("."), S = 0, P = g.length; S < P; S++) p[S] = g[S];
  4076. a = p.join(".")
  4077. }
  4078. } else i.isContain(j, ".") || (j += ".0"), a = j + "." + a;
  4079. if(a.match && a.match(/^[\w\-\*]+\.[\w\-\*\/]+\.[\w\-\*\/]+$/)) {
  4080. var I = u ? ft : gt;
  4081. for(U = parseInt(bt(o, I)) || 0, k = 0, f = U, P = c.length; k < P; k++)
  4082. if(l = c[k], d = s.tryToGetHref(l), h = s.tryToGetAttribute(l, lt), u || d || h)
  4083. if(E && l.setAttribute(ht, C), m = l.getAttribute(mt), m && A(m)) y(l, m, r);
  4084. else {
  4085. v = T(l.parentNode), v.a_spm_ab ? (w = v.a_spm_ab, b = v.ab_idx) : (w = void 0, f++, b = f);
  4086. var M = t(l) || {},
  4087. V = M.locaid || "";
  4088. V ? _ = V : (_ = x(l) || b, u && (_ = "at" + ((i.isNumber(_) ? 1e3 : "") + _))), m = w ? a + "-" + w + "." + _ : a + "." + _, y(l, m, r)
  4089. }
  4090. o.setAttribute(I, f)
  4091. }
  4092. }
  4093. }
  4094. function f(t) {
  4095. for(var e = ["mclick.simba.taobao.com", "click.simba.taobao.com", "click.tanx.com", "click.mz.simba.taobao.com", "click.tz.simba.taobao.com", "redirect.simba.taobao.com", "rdstat.tanx.com", "stat.simba.taobao.com", "s.click.taobao.com"], n = 0; n < e.length; n++)
  4096. if(t.indexOf(e[n]) != -1) return !0;
  4097. return !1
  4098. }
  4099. function d(t) {
  4100. return t ? !!t.match(/^[^\?]*\balipay\.(?:com|net)\b/i) : q
  4101. }
  4102. function h(t) {
  4103. return t ? !!t.match(/^[^\?]*\balipay\.(?:com|net)\/.*\?.*\bsign=.*/i) : q
  4104. }
  4105. function m(t) {
  4106. for(var e;
  4107. (t = t.parentNode) && t.tagName != nt;)
  4108. if(e = bt(t, ut)) return e;
  4109. return ""
  4110. }
  4111. function _(t, e) {
  4112. if(t && /&?\bspm=[^&#]*/.test(t) && (t = t.replace(/&?\bspm=[^&#]*/g, "").replace(/&{2,}/g, "&").replace(/\?&/, "?").replace(/\?$/, "")), !e) return t;
  4113. var n, o, a, r, s, u, c, l = "&";
  4114. if(t.indexOf("#") != -1 && (a = t.split("#"), t = a.shift(), o = a.join("#")), r = t.split("?"), s = r.length - 1, a = r[0].split("//"), a = a[a.length - 1].split("/"), u = a.length > 1 ? a.pop() : "", s > 0 && (n = r.pop(), t = r.join("?")), n && s > 1 && n.indexOf("&") == -1 && n.indexOf("%") != -1 && (l = "%26"), t = t + "?spm=" + dt + e + (n ? l + n : "") + (o ? "#" + o : ""), c = i.isContain(u, ".") ? u.split(".").pop().toLowerCase() : "") {
  4115. if({
  4116. png: 1,
  4117. jpg: 1,
  4118. jpeg: 1,
  4119. gif: 1,
  4120. bmp: 1,
  4121. swf: 1
  4122. }.hasOwnProperty(c)) return 0;
  4123. !n && s <= 1 && (o || {
  4124. htm: 1,
  4125. html: 1,
  4126. php: 1,
  4127. aspx: 1
  4128. }.hasOwnProperty(c) || (t += "&file=" + u))
  4129. }
  4130. return t
  4131. }
  4132. function v(t) {
  4133. return t && Y.split("#")[0] == t.split("#")[0]
  4134. }
  4135. function b(t) {
  4136. var e = s.tryToGetHref(t),
  4137. n = m(t),
  4138. o = bt(t, ut),
  4139. a = "i" === (o || n || it);
  4140. if(!e || f(e)) return !0;
  4141. var r = v(e) || p.isStartWithProtocol(e.toLowerCase()) || d(e) || h(e);
  4142. return !(a || !xt(e, "#") && !r) || a
  4143. }
  4144. function y(t, n, a) {
  4145. if(!/^0\.0\.?/.test(n)) {
  4146. var r = s.tryToGetHref(t),
  4147. i = e(),
  4148. u = b(t);
  4149. if(u) {
  4150. var c = o.param2obj(r);
  4151. if(c.spm && c.spm.split)
  4152. for(var l = c.spm.split("."), p = n.split("."), g = 0; g < 3 && p[g] === l[g]; g++) 2 === g && l[3] && (n = c.spm)
  4153. }
  4154. t.setAttribute(mt, n), Q = goldlog.getPvId(), Q && (n += "." + Q), (Q || i && i != Z) && (u || a || (r = _(r, n)) && w(t, r))
  4155. }
  4156. }
  4157. function w(t, e) {
  4158. var n, o = t.innerHTML;
  4159. o && o.indexOf("<") == -1 && (n = W.createElement("b"), n.style.display = "none", t.appendChild(n)), t.href = e, n && t.removeChild(n)
  4160. }
  4161. function x(t) {
  4162. var e, n = J.spm.data;
  4163. return "0" == n.a && "0" == n.b ? e = "0" : (e = bt(t, st), e && e.match(/^d\w+$/) || (e = "")), e
  4164. }
  4165. function j(t) {
  4166. for(var e, n, o = t; t && t.tagName != et && t.tagName != nt && t.getAttribute;) {
  4167. if(n = t.getAttribute(st)) {
  4168. e = n, o = t;
  4169. break
  4170. }
  4171. if(!(t = t.parentNode)) break
  4172. }
  4173. return e && !/^[\w\-\.\/]+$/.test(e) && (e = "0"), {
  4174. spm_c: e,
  4175. el: o
  4176. }
  4177. }
  4178. function T(t) {
  4179. for(var e, n = {}, o = ""; t && t.tagName != et && t.tagName != nt;) {
  4180. if(!o && (o = bt(t, _t))) {
  4181. e = parseInt(bt(t, "data-spm-ab-max-idx")) || 0, n.a_spm_ab = o, n.ab_idx = ++e, t.setAttribute("data-spm-ab-max-idx", e);
  4182. break
  4183. }
  4184. if(bt(t, st)) break;
  4185. t = t.parentNode
  4186. }
  4187. return n
  4188. }
  4189. function P(t) {
  4190. var e;
  4191. return t && (e = t.match(/&?\bspm=([^&#]*)/)) ? e[1] : ""
  4192. }
  4193. function S(t, n) {
  4194. var o = goldlog.getMetaInfo("aplus-getspmcd") || function() {},
  4195. a = e(),
  4196. r = s.tryToGetHref(t),
  4197. i = P(r),
  4198. u = null,
  4199. c = a && 2 == a.split(".").length;
  4200. if(c) {
  4201. var l = o(t, null, a);
  4202. return u = l && "0" !== l.spm_c ? [a, l.spm_c, l.spm_d] : [a, 0, x(t) || 0], void y(t, u.join("."), n)
  4203. }
  4204. r && i && (r = r.replace(/&?\bspm=[^&#]*/g, "").replace(/&{2,}/g, "&").replace(/\?&/, "?").replace(/\?$/, "").replace(/\?#/, "#"), w(t, r))
  4205. }
  4206. function A(t) {
  4207. var n = e(),
  4208. o = t.split(".");
  4209. return o[0] + "." + o[1] == n
  4210. }
  4211. function k(t, e) {
  4212. ot && M();
  4213. var n, o, a = bt(t, mt);
  4214. if(a && A(a)) y(t, a, e);
  4215. else {
  4216. if(n = j(t.parentNode), o = n.spm_c, !o) return void S(t, e);
  4217. tt && (o = "0"), g(n.el, o, e), g(n.el, o, e, !0)
  4218. }
  4219. }
  4220. function E(t) {
  4221. if(t && 1 == t.nodeType) {
  4222. wt(t, gt), wt(t, ft);
  4223. var e, n = vt(t.getElementsByTagName("a")),
  4224. o = vt(t.getElementsByTagName("area")),
  4225. a = n.concat(o),
  4226. r = a.length;
  4227. for(e = 0; e < r; e++) wt(a[e], mt)
  4228. }
  4229. }
  4230. function C(n) {
  4231. var o = bt(n, mt);
  4232. if(!o) {
  4233. var a = e(),
  4234. r = n.parentNode;
  4235. if(!r) return "";
  4236. var i = t(n) || {},
  4237. s = i.locaid || "",
  4238. u = n.getAttribute(st) || s,
  4239. c = j(r),
  4240. l = c.spm_c || 0;
  4241. l && l.indexOf(".") != -1 && (l = l.split("."), l = l[l.length - 1]), o = Pt(a + "." + l, u)
  4242. }
  4243. return o
  4244. }
  4245. function U(t) {
  4246. var e, n = t.tagName;
  4247. "A" != n && "AREA" != n ? e = C(t) : (k(t, K), e = bt(t, mt)), e || (e = "0.0.0.0");
  4248. var o = goldlog.getPvId();
  4249. return 4 === e.split(".").length && o && (e += "." + o), "A" != n && "AREA" != n && yt(t, mt, e), e = e.split("."), {
  4250. a: e[0],
  4251. b: e[1],
  4252. c: e[2],
  4253. d: e[3],
  4254. e: e[4]
  4255. }
  4256. }
  4257. function I(t, e) {
  4258. if(e || (e = W), W.evaluate) return e.evaluate(t, W, null, 9, null).singleNodeValue;
  4259. for(var n, o = t.split("/"); !n && o.length > 0;) n = o.shift();
  4260. var a, r = /^.+?\[@id="(.+?)"]$/i,
  4261. i = /^(.+?)\[(\d+)]$/i;
  4262. return(a = n.match(r)) ? e = e.getElementById(a[1]) : (a = n.match(i)) && (e = e.getElementsByTagName(a[1])[parseInt(a[2]) - 1]), e ? 0 === o.length ? e : I(o.join("/"), e) : null
  4263. }
  4264. function M() {
  4265. var t, e, n, o = {};
  4266. for(t in at) at.hasOwnProperty(t) && (e = I(t), e && (o[t] = 1, n = at[t], yt(e, st, ("A" == e.tagName ? n.spmd : n.spmc) || "")));
  4267. for(t in o) o.hasOwnProperty(t) && delete at[t]
  4268. }
  4269. function V() {
  4270. if(!rt && D.spmData) {
  4271. rt = K;
  4272. var t, e, n, o, a = D.spmData.data;
  4273. if(a && Tt(a)) {
  4274. for(t = 0, e = a.length; t < e; t++) n = a[t], o = n.xpath, o = o.replace(/^id\("(.+?)"\)(.*)/g, '//*[@id="$1"]$2'), at[o] = {
  4275. spmc: n.spmc,
  4276. spmd: n.spmd
  4277. };
  4278. M()
  4279. }
  4280. }
  4281. }
  4282. function N() {
  4283. var t, e, n, o, a = W.getElementsByTagName("iframe"),
  4284. r = a.length;
  4285. for(e = 0; e < r; e++) t = a[e], !t.src && (n = bt(t, ct)) && (o = U(t), o ? (o = [o.a, o.b, o.c, o.d, o.e].join("."), t.src = _(n, o)) : t.src = n)
  4286. }
  4287. function O() {
  4288. function t() {
  4289. e++, e > 10 && (n = 3e3), N(), setTimeout(t, n)
  4290. }
  4291. var e = 0,
  4292. n = 500;
  4293. t()
  4294. }
  4295. function G(t, e, n) {
  4296. var o = r.parseSemicolonContent(e, {}, !0),
  4297. s = o.gostr || "",
  4298. u = o.locaid || "",
  4299. c = o.gmkey || "",
  4300. p = o.gokey || "",
  4301. g = U(t),
  4302. f = [g.a, g.b, g.c, u].join("."),
  4303. d = s + "." + f;
  4304. 0 !== d.indexOf("/") && (d = "/" + d);
  4305. var h = [],
  4306. m = ["gostr", "locaid", "gmkey", "gokey", "spm-cnt", "cna"];
  4307. for(var _ in o) o.hasOwnProperty(_) && a.indexof(m, _) === -1 && h.push(_ + "=" + o[_]);
  4308. h.push("_g_et=" + n), h.push("autosend=1"), p && h.length > 0 && (p += "&"), p += h.length > 0 ? h.join("&") : "", goldlog && i.isFunction(goldlog.recordUdata) ? goldlog.recordUdata(d, c, p, "GET", function() {}) : l.logger({
  4309. msg: "goldlog.recordUdata is not function!"
  4310. }), yt(t, mt, f)
  4311. }
  4312. function L(t, n) {
  4313. var o = n;
  4314. D.g_SPM && (g_SPM._current_spm = U(n));
  4315. for(var a; n && n.tagName != et;) {
  4316. a = bt(n, lt); {
  4317. if(a) {
  4318. G(n, a, "mousedown" === t.type ? t.button : "tap");
  4319. break
  4320. }
  4321. n = n.parentNode
  4322. }
  4323. }
  4324. if(!a) {
  4325. var r = e(),
  4326. i = goldlog.getMetaInfo("aplus-getspmcd") || function() {};
  4327. i(o, t, r)
  4328. }
  4329. }
  4330. function R(t, e) {
  4331. for(var n, o = (new Date).getTime(); e && (n = e.tagName);) {
  4332. if("A" == n || "AREA" == n) {
  4333. k(e, q);
  4334. var a = window.g_SPM || (window.g_SPM = {}),
  4335. r = a._current_spm = U(e),
  4336. i = [];
  4337. try {
  4338. i = [r.a, r.b, r.c, r.d];
  4339. var s = r.e || goldlog.pvid || "";
  4340. s && i.push(s), $(e, o, i.join("."))
  4341. } catch(t) {}
  4342. break
  4343. }
  4344. if(n == nt || n == et) break;
  4345. e = e.parentNode
  4346. }
  4347. }
  4348. function $(t, e, n) {
  4349. var o = t.getAttribute("href");
  4350. i.isStartWith(o, "//") && (o = location.protocol + o);
  4351. var a = {
  4352. id: goldlog.pvid + "_" + e,
  4353. timestamp: e,
  4354. target_expression_type: "href",
  4355. target_expression: o,
  4356. spm_id: n,
  4357. log_id: goldlog.pvid,
  4358. current_url: location.href,
  4359. current_referrer: goldlog._$.page_referrer,
  4360. tracking_param: ""
  4361. },
  4362. r = function(t) {
  4363. t && "complete" === t.status && "function" == typeof t.setLsParams && t.setLsParams(a)
  4364. };
  4365. goldlog.aplus_pubsub.subscribeOnce("_aplus_cplugin_lsparams", r)
  4366. }
  4367. function B(t, e) {
  4368. var n = U(t),
  4369. o = n.a + "." + n.b + "." + n.c + "." + n.d;
  4370. return e && (o += "." + n.e), o
  4371. }
  4372. var D = window,
  4373. W = document,
  4374. F = location,
  4375. K = !0,
  4376. q = !1,
  4377. J = c.getGoldlogVal("_$") || {},
  4378. H = J.meta_info,
  4379. Y = F.href,
  4380. z = J.is_terminal || /WindVane/i.test(navigator.userAgent),
  4381. X = s.isTouch() || "1" === H["aplus-touch"];
  4382. D.g_SPM || (D.g_SPM = {}), D.g_SPM.spm_d_for_ad = {};
  4383. var Q, Z = "0.0",
  4384. tt = !1,
  4385. et = "HTML",
  4386. nt = "BODY",
  4387. ot = q,
  4388. at = {},
  4389. rt = q,
  4390. it = H.spm_protocol,
  4391. st = "data-spm",
  4392. ut = "data-spm-protocol",
  4393. ct = "data-spm-src",
  4394. lt = "data-spm-click",
  4395. pt = "data-auto-spmd",
  4396. gt = "data-spm-max-idx",
  4397. ft = "data-auto-spmd-max-idx",
  4398. dt = "",
  4399. ht = "data-spm-wangpu-module-id",
  4400. mt = "data-spm-anchor-id",
  4401. _t = "data-spm-ab",
  4402. vt = r.nodeListToArray,
  4403. bt = s.tryToGetAttribute,
  4404. yt = s.tryToSetAttribute,
  4405. wt = s.tryToRemoveAttribute,
  4406. xt = i.isStartWith,
  4407. jt = i.isString,
  4408. Tt = i.isArray,
  4409. Pt = function(t, e) {
  4410. if(t && e) return t + ".i" + e;
  4411. var n = D.g_SPM || (D.g_SPM = {}),
  4412. o = n.spm_d_for_ad || {};
  4413. return "number" == typeof o[t] ? o[t]++ : o[t] = 0, n.spm_d_for_ad = o, t + ".i" + o[t]
  4414. };
  4415. u.DOMReady(function() {
  4416. V()
  4417. }), z || O(), X ? u.on(W, "tap", L) : u.on(W, "mousedown", L), X ? u.on(W, "tap", R) : (u.on(W, "mousedown", R), u.on(W, "keydown", R)), D.g_SPM = {
  4418. resetModule: E,
  4419. anchorBeacon: k,
  4420. getParam: U,
  4421. spm: B
  4422. }
  4423. }
  4424. }]); /*! 2017-10-31 20:46:31 v0.2.4 */
  4425. ! function(o) {
  4426. function n(i) {
  4427. if(t[i]) return t[i].exports;
  4428. var e = t[i] = {
  4429. exports: {},
  4430. id: i,
  4431. loaded: !1
  4432. };
  4433. return o[i].call(e.exports, e, e.exports, n), e.loaded = !0, e.exports
  4434. }
  4435. var t = {};
  4436. return n.m = o, n.c = t, n.p = "", n(0)
  4437. }([function(o, n, t) {
  4438. "use strict";
  4439. ! function() {
  4440. var o = window.goldlog || (window.goldlog = {});
  4441. if(!o._aplus_plugin_aol) {
  4442. o._aplus_plugin_aol = {
  4443. status: "complete"
  4444. };
  4445. var n = t(1),
  4446. i = window.goldlog_queue || (window.goldlog_queue = []);
  4447. i.push({
  4448. action: "goldlog.aplus_pubsub.subscribeOnce",
  4449. arguments: ["goldlogReady", function(o) {
  4450. "complete" === o && n.run()
  4451. }]
  4452. })
  4453. }
  4454. }()
  4455. }, function(o, n, t) {
  4456. "use strict";
  4457. var i = t(2),
  4458. e = t(3);
  4459. n.run = function() {
  4460. var o, n = function() {
  4461. !o && i.bingo() && (o = "1", e.init())
  4462. },
  4463. t = (location.hostname + location.pathname).match(/^www.taobao.com\/$/);
  4464. "1" === goldlog.getMetaInfo("aplus-aol") || t ? n() : goldlog.aplus_pubsub.subscribe("setMetaInfo", function(o, i) {
  4465. ("aplus-aol" === o && "1" === i || t) && n()
  4466. })
  4467. }
  4468. }, function(o, n) {
  4469. "use strict";
  4470. function t(o, n) {
  4471. return o + Math.floor(Math.random() * (n - o + 1))
  4472. }
  4473. var i = 13,
  4474. e = 1;
  4475. n.bingo = function() {
  4476. var o = t(1, i);
  4477. return o === e
  4478. }
  4479. }, function(o, n) {
  4480. "use strict";
  4481. var t, i = document,
  4482. e = window,
  4483. u = !1,
  4484. l = function() {
  4485. var o = goldlog.getMetaInfo("aplus-aol-ext") || "";
  4486. return "function" == typeof o && (o = o()), o
  4487. },
  4488. a = function(o) {
  4489. var n = l() || "",
  4490. t = goldlog.spm_ab ? goldlog.spm_ab.join(".") : "";
  4491. goldlog.send(o, {
  4492. sk: t + (n ? "." + n : ""),
  4493. cna: goldlog.getCookie("cna"),
  4494. t: (new Date).getTime()
  4495. }, "POST")
  4496. },
  4497. c = function() {
  4498. a("//ol.mmstat.com/aol.r.i")
  4499. },
  4500. g = function() {
  4501. a("//ol.mmstat.com/aol.r.o")
  4502. },
  4503. s = function() {
  4504. t = setTimeout(function() {
  4505. u && c(), s()
  4506. }, 5e3)
  4507. },
  4508. r = function() {
  4509. clearTimeout(t), g(), c(), s()
  4510. },
  4511. d = function() {
  4512. var o = function() {
  4513. u = !1, g()
  4514. };
  4515. goldlog.on(e, "beforeunload", function() {
  4516. o()
  4517. }), i.addEventListener && i.addEventListener("WV.Event.APP.Background", function(n) {
  4518. o()
  4519. }, !1), "hidden" in i && goldlog.on(e, "visibilitychange", function() {
  4520. "hidden" === i.visibilityState && o()
  4521. }), goldlog.on(e, "blur", function() {
  4522. o()
  4523. })
  4524. },
  4525. f = function() {
  4526. var o = e.goldlog_queue || (e.goldlog_queue = []);
  4527. o.push({
  4528. action: "goldlog.aplus_pubsub.subscribe",
  4529. arguments: ["setPageSPM", function(o) {
  4530. r()
  4531. }]
  4532. })
  4533. },
  4534. p = function() {
  4535. var o = function() {
  4536. u = !0, c()
  4537. };
  4538. i.addEventListener && i.addEventListener("WV.Event.APP.Active", function(n) {
  4539. o()
  4540. }, !1), "hidden" in i && goldlog.on(e, "visibilitychange", function() {
  4541. "visible" === i.visibilityState && o()
  4542. }), goldlog.on(e, "focus", function() {
  4543. o()
  4544. })
  4545. };
  4546. n.init = function() {
  4547. c(), u = !0, s(), d(), f(), p()
  4548. }
  4549. }]); /*! 2018-02-06 20:38:34 v8.2.1 */
  4550. ! function(t) {
  4551. function e(n) {
  4552. if(r[n]) return r[n].exports;
  4553. var a = r[n] = {
  4554. exports: {},
  4555. id: n,
  4556. loaded: !1
  4557. };
  4558. return t[n].call(a.exports, a, a.exports, e), a.loaded = !0, a.exports
  4559. }
  4560. var r = {};
  4561. return e.m = t, e.c = r, e.p = "", e(0)
  4562. }([function(t, e) {
  4563. "use strict";
  4564. ! function() {
  4565. function t(t, e, r) {
  4566. t[w]((b ? "on" : "") + e, function(t) {
  4567. t = t || f.event;
  4568. var e = t.target || t.srcElement;
  4569. r(t, e)
  4570. }, !1)
  4571. }
  4572. function e() {
  4573. return /&?\bspm=[^&#]*/.test(location.href) ? location.href.match(/&?\bspm=[^&#]*/gi)[0].split("=")[1] : ""
  4574. }
  4575. function r(t, e) {
  4576. if(t && /&?\bspm=[^&#]*/.test(t) && (t = t.replace(/&?\bspm=[^&#]*/g, "").replace(/&{2,}/g, "&").replace(/\?&/, "?").replace(/\?$/, "")), !e) return t;
  4577. var r, n, a, i, o, c, p, f = "&";
  4578. if(t.indexOf("#") != -1 && (a = t.split("#"), t = a.shift(), n = a.join("#")), i = t.split("?"), o = i.length - 1, a = i[0].split("//"), a = a[a.length - 1].split("/"), c = a.length > 1 ? a.pop() : "", o > 0 && (r = i.pop(), t = i.join("?")), r && o > 1 && r.indexOf("&") == -1 && r.indexOf("%") != -1 && (f = "%26"), t = t + "?spm=" + e + (r ? f + r : "") + (n ? "#" + n : ""), p = c.indexOf(".") > -1 ? c.split(".").pop().toLowerCase() : "") {
  4579. if({
  4580. png: 1,
  4581. jpg: 1,
  4582. jpeg: 1,
  4583. gif: 1,
  4584. bmp: 1,
  4585. swf: 1
  4586. }.hasOwnProperty(p)) return 0;
  4587. !r && o <= 1 && (n || {
  4588. htm: 1,
  4589. html: 1,
  4590. php: 1
  4591. }.hasOwnProperty(p) || (t += "&file=" + c))
  4592. }
  4593. return t
  4594. }
  4595. function n(t) {
  4596. function e(t) {
  4597. return t = t.replace(/refpos[=(%3D)]\w*/gi, c).replace(i, "%3D" + n + "%26" + a.replace("=", "%3D")).replace(o, n), a.length > 0 && (t += "&" + a), t
  4598. }
  4599. var r = window.location.href,
  4600. n = r.match(/mm_\d{0,24}_\d{0,24}_\d{0,24}/i),
  4601. a = r.match(/[&\?](pvid=[^&]*)/i),
  4602. i = new RegExp("%3Dmm_\\d+_\\d+_\\d+", "ig"),
  4603. o = new RegExp("mm_\\d+_\\d+_\\d+", "ig");
  4604. a = a && a[1] ? a[1] : "";
  4605. var c = r.match(/(refpos=(\d{0,24}_\d{0,24}_\d{0,24})?(,[a-z]+)?)(,[a-z]+)?/i);
  4606. return c = c && c[0] ? c[0] : "", n ? (n = n[0], e(t)) : t
  4607. }
  4608. function a(e) {
  4609. var r = f.KISSY;
  4610. r ? r.ready(e) : f.jQuery ? jQuery(m).ready(e) : "complete" === m.readyState ? e() : t(f, "load", e)
  4611. }
  4612. function i(t, e) {
  4613. return t && t.getAttribute ? t.getAttribute(e) || "" : ""
  4614. }
  4615. function o(t) {
  4616. if(t) {
  4617. var e, r = h.length;
  4618. for(e = 0; e < r; e++)
  4619. if(t.indexOf(h[e]) > -1) return !0;
  4620. return !1
  4621. }
  4622. }
  4623. function c(t, e) {
  4624. if(t && /&?\bspm=[^&#]*/.test(t) && (t = t.replace(/&?\bspm=[^&#]*/g, "").replace(/&{2,}/g, "&").replace(/\?&/, "?").replace(/\?$/, "")), !e) return t;
  4625. var r, n, a, i, o, c, p, f = "&";
  4626. if(t.indexOf("#") != -1 && (a = t.split("#"), t = a.shift(), n = a.join("#")), i = t.split("?"), o = i.length - 1, a = i[0].split("//"), a = a[a.length - 1].split("/"), c = a.length > 1 ? a.pop() : "", o > 0 && (r = i.pop(), t = i.join("?")), r && o > 1 && r.indexOf("&") == -1 && r.indexOf("%") != -1 && (f = "%26"), t = t + "?spm=" + e + (r ? f + r : "") + (n ? "#" + n : ""), p = c.indexOf(".") > -1 ? c.split(".").pop().toLowerCase() : "") {
  4627. if({
  4628. png: 1,
  4629. jpg: 1,
  4630. jpeg: 1,
  4631. gif: 1,
  4632. bmp: 1,
  4633. swf: 1
  4634. }.hasOwnProperty(p)) return 0;
  4635. !r && o <= 1 && (n || {
  4636. htm: 1,
  4637. html: 1,
  4638. php: 1
  4639. }.hasOwnProperty(p) || (t += "&__file=" + c))
  4640. }
  4641. return t
  4642. }
  4643. function p(t) {
  4644. if(o(t.href)) {
  4645. var r = i(t, g);
  4646. if(!r) {
  4647. if(!d) return;
  4648. var n = d(t),
  4649. a = [n.a, n.b, n.c, n.d].join(".");
  4650. n.e && (n += "." + n.e), u && (a = [n.a || "0", n.b || "0", n.c || "0", n.d || "0"].join("."), a = (e() || "0.0.0.0.0") + "_" + a), t.href = c(t.href, a), t.setAttribute(g, a)
  4651. }
  4652. }
  4653. }
  4654. var f = window,
  4655. m = document,
  4656. s = f._alimm_spmact_on_;
  4657. if("undefined" == typeof s && (s = 1), 1 == s && (s = 1), 0 == s && (s = 0), s) {
  4658. var l = function() {
  4659. return {
  4660. a: 0,
  4661. b: 0,
  4662. c: 0,
  4663. d: 0,
  4664. e: 0
  4665. }
  4666. },
  4667. d = f.g_SPM && f.g_SPM.getParam ? f.g_SPM.getParam : l,
  4668. u = !0;
  4669. try {
  4670. u = self.location != top.location
  4671. } catch(t) {}
  4672. var g = "data-spm-act-id",
  4673. h = ["mclick.simba.taobao.com", "click.simba.taobao.com", "click.tanx.com", "click.mz.simba.taobao.com", "click.tz.simba.taobao.com", "redirect.simba.taobao.com", "rdstat.tanx.com", "stat.simba.taobao.com", "s.click.taobao.com"],
  4674. b = !!m.attachEvent,
  4675. v = "attachEvent",
  4676. _ = "addEventListener",
  4677. w = b ? v : _;
  4678. t(m, "mousedown", function(t, e) {
  4679. for(var r, n = 0; e && (r = e.tagName) && n < 5;) {
  4680. if("A" == r || "AREA" == r) {
  4681. p(e);
  4682. break
  4683. }
  4684. if("BODY" == r || "HTML" == r) break;
  4685. e = e.parentNode, n++
  4686. }
  4687. }), a(function() {
  4688. for(var t, a, o = document.getElementsByTagName("iframe"), c = 0; c < o.length; c++) {
  4689. t = i(o[c], "mmsrc"), a = i(o[c], "mmworked");
  4690. var p = d(o[c]),
  4691. f = [p.a || "0", p.b || "0", p.c || "0", p.d || "0", p.e || "0"].join(".");
  4692. t && !a ? (u && (f = [p.a || "0", p.b || "0", p.c || "0", p.d || "0"].join("."), f = e() + "_" + f), o[c].src = r(n(t), f), o[c].setAttribute("mmworked", "mmworked")) : o[c].setAttribute(g, f)
  4693. }
  4694. })
  4695. }
  4696. }()
  4697. }]);
  4698. </script>
  4699. </body>
  4700. </html>