1 line
99 KiB
Plaintext
1 line
99 KiB
Plaintext
{"version":3,"sources":["webpack:///./src/static/images/delete.png","webpack:///./src/static/images/rank_second.png","webpack:///./node_modules/@ant-design/icons-svg/es/asn/PlusOutlined.js","webpack:///./node_modules/@ant-design/icons-vue/es/icons/PlusOutlined.js","webpack:///./src/views/mine/ReleaseWebcast.vue","webpack:///./node_modules/lodash-es/_baseIntersection.js","webpack:///./node_modules/lodash-es/_castArrayLikeObject.js","webpack:///./node_modules/lodash-es/intersection.js","webpack:///./node_modules/@ant-design-vue/use/es/useForm/index.js","webpack:///./node_modules/@ant-design-vue/use/es/useInViewport/index.js","webpack:///./src/views/mine/RankList.vue","webpack:///./src/views/mine/RankList.vue?f296","webpack:///./src/views/mine/RankList.vue?7568","webpack:///./src/views/mine/ReleaseWebcast.vue?2fdd","webpack:///./src/views/mine/ReleaseWebcast.vue?f3e6","webpack:///./src/views/mine/RankList.vue?a7d9","webpack:///./src/static/images/rank_first.png","webpack:///./src/static/images/rank_third.png","webpack:///./src/views/mine/ReleaseWebcast.vue?7279","webpack:///./src/static/images/gantanhao.png","webpack:///./node_modules/@ant-design/icons-svg/es/asn/UserOutlined.js","webpack:///./node_modules/@ant-design/icons-vue/es/icons/UserOutlined.js"],"names":["module","exports","_objectSpread","target","i","arguments","length","source","Object","ownKeys","keys","getOwnPropertySymbols","concat","filter","sym","getOwnPropertyDescriptor","enumerable","forEach","key","_defineProperty","obj","value","defineProperty","configurable","writable","props","context","p","attrs","AntdIcon","displayName","inheritAttrs","class","style","src","alt","label-col","labelCol","wrapper-col","wrapperCol","lan","$t","label","rules","size","form","title","placeholder","isEntitled","jinzhi","list-type","customRequest","uploadspic","before-upload","imgs","viewCover","img","uploadpicprogress","type","percent","width","uploads","video","fileurl","uploadprogress","ref","show-time","format","dateline","disabled-date","disabledDate","startchange","getCalendarContainer","validateInfos","livetime","livenumber","desc","autoSize","maxlength","onSubmit","isbianji","isquxiao","centered","footer","getContainer","modalNode","dialogClass","visible","hideNoticeModal","closeIcon","lives","status","data","msg","fankui","list","confirm-loading","confirmLoading","onquxiao","nativeMin","Math","min","baseIntersection","arrays","iteratee","comparator","includes","othLength","othIndex","caches","Array","maxLength","Infinity","result","array","undefined","index","seen","outer","computed","cache","push","castArrayLikeObject","isArrayLikeObject","intersection","mapped","_extends","assign","prototype","hasOwnProperty","call","apply","this","isRequired","every","rule","required","toArray","isArray","getPropByPath","path","strict","tempObj","replace","keyArr","split","len","Error","o","k","v","isValid","useForm","modelRef","rulesRef","options","initialModel","cloneDeep","autoLink","resetFields","filterRules","trigger","triggerList","lastValidatePromise","validateFields","names","option","promiseList","values","_loop","name","prop","validateField","then","errors","Promise","reject","summaryPromise","returnPromise","resolve","results","errorList","errorFields","outOfDate","e","promise","validateMessages","validateFirst","validateStatus","help","validate","promises","mergeValidateInfo","items","info","infos","arg","join","oldModel","modelFn","model","oldProp","isEqual","debounceOptions","debounce","wait","omit","immediate","deep","validateOnRuleChange","newList","item","isme","rank","icon","clicks","deadLine","components","UserOutlined","setup","mineRank","element","render","__scopeId","PlaySquareOutlined","PlusOutlined","NavBottom","RankList","issum","fileid","fileduration","videofile","videos","validateaLivetime","validateLivenumber","validator","previewImage","coverChange","file","url","router","query","selected","id","parseInt","res","seting","store","state","preventDefault","subdata","timeLowerLimit","timeCeiling","message","error","numberCeiling","lowerLimit","catch","err","time","Date","timestr","year","month","date","hour","minute","second","videoinfo","fileId","picinfo","ifallowupload","beforeUpload","addEventListener","duration","jindu","toFixed","ifallowpic","beforeUploadpic","current","now","view","views","span","document","getElementsByClassName"],"mappings":"mGAAAA,EAAOC,QAAU,koE,uBCAjBD,EAAOC,QAAU,IAA0B,gC,oDCCvC,EAAe,CAAE,KAAQ,CAAE,IAAO,MAAO,MAAS,CAAE,QAAW,gBAAiB,UAAa,SAAW,SAAY,CAAC,CAAE,IAAO,OAAQ,MAAS,GAAI,SAAY,CAAC,CAAE,IAAO,QAAS,MAAS,MAAS,CAAE,IAAO,OAAQ,MAAS,CAAE,EAAK,8DAAiE,CAAE,IAAO,OAAQ,MAAS,CAAE,EAAK,gEAAoE,KAAQ,OAAQ,MAAS,YACzZ,I,YCAf,SAASC,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAAyB,MAAhBF,UAAUD,GAAaI,OAAOH,UAAUD,IAAM,GAAQK,EAAUD,OAAOE,KAAKH,GAAqD,oBAAjCC,OAAOG,wBAAwCF,EAAUA,EAAQG,OAAOJ,OAAOG,sBAAsBJ,GAAQM,QAAO,SAAUC,GAAO,OAAON,OAAOO,yBAAyBR,EAAQO,GAAKE,gBAAmBP,EAAQQ,SAAQ,SAAUC,GAAOC,EAAgBhB,EAAQe,EAAKX,EAAOW,OAAa,OAAOf,EAEhe,SAASgB,EAAgBC,EAAKF,EAAKG,GAAiK,OAApJH,KAAOE,EAAOZ,OAAOc,eAAeF,EAAKF,EAAK,CAAEG,MAAOA,EAAOL,YAAY,EAAMO,cAAc,EAAMC,UAAU,IAAkBJ,EAAIF,GAAOG,EAAgBD,EAO3M,IAAI,EAAe,SAAsBK,EAAOC,GAC9C,IAAIC,EAAIzB,EAAc,GAAIuB,EAAOC,EAAQE,OAEzC,OAAO,iBAAiBC,EAAA,KAAU,gBAAgBF,EAAG,CACnD,KAAQ,IACN,OAGN,EAAaG,YAAc,eAC3B,EAAaC,cAAe,EACb,U,sMCpBNC,MAAM,W,GAEEA,MAAM,S,GAUFC,MAAA,kB,SAOGD,MAAM,gB,SAcLA,MAAM,gB,GAQVA,MAAM,U,SAuBFA,MAAM,gB,GAcPA,MAAM,sBACNC,MAAA,uB,GAeHD,MAAM,U,GAmDLA,MAAM,Q,GACPC,MAAA,yD,GAcAA,MAAA,yD,GAYCD,MAAM,gB,GAQfA,MAAM,mB,EAUC,yBAAsD,OAAjDE,IAAA,IAAiCF,MAAM,S,kBAE3CA,MAAM,2B,GACFA,MAAM,S,GACNA,MAAM,mB,SAOVA,MAAM,oB,GACFA,MAAM,S,SAiBlBA,MAAM,S,EACP,yBAAgD,OAA3CE,IAAA,IAAoCC,IAAI,I,WAEd,yBAAM,mB,krBA9N7C,yBAoOM,MApON,EAoOM,CAnOF,yBAkLS,GAlLAC,YAAW,EAAAC,SAAWC,cAAa,EAAAC,Y,YACxC,iBAAmD,CAAnD,yBAAmD,MAAnD,EAAmD,6BAA7B,EAAAC,IAAIC,GAAE,kBAC5B,yBAOc,GAPAC,MAAO,EAAAF,IAAIC,GAAE,eAAkBE,MAAO,mE,YAChD,iBAKE,CALF,yBAKE,GAJEC,KAAK,QACGvB,MAAO,EAAAwB,KAAKC,M,gDAAL,EAAAD,KAAKC,MAAK,IACxBC,YAAa,EAAAP,IAAIC,GAAE,oBACnB,QAAK,+BAAE,EAAAO,WAAa,EAAAC,U,sDAG7B,yBA2Cc,GA3CAP,MAAO,EAAAF,IAAIC,GAAE,iBAAmBT,MAAM,aAAcW,MAAO,mE,YACrE,iBAwCM,CAxCN,yBAwCM,MAxCN,EAwCM,CAvCF,yBA2BO,GA1BPO,YAAU,UACTC,cAAe,EAAAC,WACfC,gBAAe,EAAAC,M,YAEhB,iBAcM,CAZK,EAAAC,WAA4B,GAAf,EAAAV,KAAKW,IAAIlD,Q,yBAajC,yBAKM,MALN,EAKM,CAJF,yBAGE,OAFE2B,MAAA,6BACCC,IAAK,EAAAW,KAAKW,K,6CAlBnB,yBAcM,MAdN,EAcM,CARyB,GAAjB,EAAAC,mB,yBAFV,yBAGE,G,MAFExB,MAAA,sB,yBAGJ,yBAKE,G,MAJEyB,KAAK,SACJC,QAAS,EAAAF,kBACTG,MAAO,I,sEAYpB,yBAUU,MAVV,EAUU,CATF,yBAEI,sCADG,EAAApB,IAAIC,GAAE,sBAEb,yBAEI,SAFD,MACG,6BAAG,EAAAD,IAAIC,GAAE,uBAEf,yBAEI,SAFD,MACG,6BAAG,EAAAD,IAAIC,GAAE,+B,kBAM3B,yBAuDc,GAtDTC,MAAO,EAAAF,IAAIC,GAAE,iBACdT,MAAM,sB,YAEN,iBAkCW,CAlCX,yBAkCW,GAjCPkB,YAAU,UACTC,cAAe,EAAAU,QACfR,gBAAe,EAAAS,O,YAEhB,iBAYM,CAZ6C,GAAnB,EAAAjB,KAAKkB,QAAQzD,Q,yBAA7C,yBAYM,MAZN,EAYM,CATsB,GAAd,EAAA0D,gB,yBAFV,yBAGE,G,MAFE/B,MAAA,sB,yBAGJ,yBAKE,G,MAJEyB,KAAK,SACJC,QAAS,EAAAK,eACTJ,MAAO,I,2FAKhB,yBAeM,MAfN,EAeM,CAVF,yBAQS,SAPJ1B,IAAK,EAAAW,KAAKkB,QACVE,I,SAAuC,GAA6C,SAAM,GAAM,GAKjGjC,MAAM,U,mCATiB,GAAnB,EAAAa,KAAKkB,QAAQzD,c,0CAc7B,yBAOM,MAPN,EAOM,CANF,yBAEI,sCADG,EAAAkC,IAAIC,GAAE,oBAEb,yBAAsC,SAAnC,KAAE,6BAAG,EAAAD,IAAIC,GAAE,qBACd,yBAAsC,SAAnC,KAAE,6BAAG,EAAAD,IAAIC,GAAE,qBACd,yBAAsC,SAAnC,KAAE,6BAAG,EAAAD,IAAIC,GAAE,2B,kBAWtB,yBAoBc,GApBAC,MAAO,EAAAF,IAAIC,GAAE,iBAAoB,QAAK,+BAAE,EAAAO,WAAa,EAAAC,SAASN,MAAO,mE,YAO/E,iBAYE,CAZF,yBAYE,GAXEX,MAAM,UACNkC,YAAA,GACAC,OAAO,mBACN9C,MAAO,EAAAwB,KAAKuB,SACZC,gBAAe,EAAAC,aACf,QAAK,+BAAE,EAAAtB,WAAa,EAAAC,SACpB,SAAQ,EAAAsB,YACRxB,YAAa,EAAAP,IAAIC,GAAE,uBACnB+B,qB,SAAgD,G,OAAgB,EAAY,a,wGAKrF,yBAec,EAfd,wBAec,CAdT9B,MAAO,EAAAF,IAAIC,GAAE,iBACdT,MAAM,YACE,EAAAyC,cAAcC,SAAQ,CAC5B/B,MAAO,oEAAyE,C,WAElF,iBAME,CANF,yBAME,GALEC,KAAK,QACGvB,MAAO,EAAAwB,KAAK6B,S,gDAAL,EAAA7B,KAAK6B,SAAQ,IAC3B,QAAK,+BAAE,EAAA1B,WAAa,EAAAC,SACpBF,YAAa,EAAAP,IAAIC,GAAE,qBACpBiB,KAAK,U,gCAET,yBAAkD,OAAlD,EAAkD,6BAA5B,EAAAlB,IAAIC,GAAE,gBAC5B,yBAAiG,MAAjG,EAA6D,IAAC,6BAAG,EAAAD,IAAIC,GAAE,yB,mBAE3E,yBAcc,EAdd,wBAcc,CAbTC,MAAO,EAAAF,IAAIC,GAAE,gBACN,EAAAgC,cAAcE,WAAU,CAC9BhC,MAAO,oEAAyE,C,WAElF,iBAME,CANF,yBAME,GALEC,KAAK,QACGvB,MAAO,EAAAwB,KAAK8B,W,gDAAL,EAAA9B,KAAK8B,WAAU,IAC7B,QAAK,+BAAE,EAAA3B,WAAa,EAAAC,SACpBF,YAAa,EAAAP,IAAIC,GAAE,oBACpBiB,KAAK,U,gCAET,yBAA+F,MAA/F,EAA6D,IAAC,6BAAG,EAAAlB,IAAIC,GAAE,uB,mBAG3E,yBAUc,GAVAC,MAAO,EAAAF,IAAIC,GAAE,gBAAkBT,MAAM,S,YAC/C,iBAOE,CAPF,yBAOE,GANUX,MAAO,EAAAwB,KAAK+B,K,gDAAL,EAAA/B,KAAK+B,KAAI,IACvB,QAAK,iCAAE,EAAA5B,WAAa,EAAAC,SACpB4B,UAAU,EACX7C,MAAM,iBACL8C,UAAW,IACX/B,YAAa,EAAAP,IAAIC,GAAE,sB,gCAExB,yBAA4D,OAA5D,EAA4D,6BAA9B,EAAAI,KAAK+B,KAAKtE,QAAS,OAAI,O,kBAEzD,yBAGc,GAHAgC,cAAa,mBAAsB,C,WAC7C,iBAAgE,CAAhE,yBAAgE,GAArD,QAAO,EAAAyC,UAAQ,C,WAAE,iBAAyB,C,0DAAtB,EAAAvC,IAAIC,GAAE,qB,oBACuD,EAAAuC,U,yBAA5F,yBAA4I,G,MAAlI/C,MAAA,mDAAoD,QAAK,iCAAE,EAAAgD,UAAQ,K,YAAyB,iBAA2B,C,0DAAxB,EAAAzC,IAAIC,GAAE,uB,gGAIvH,yBA6BM,MA7BN,EA6BM,CA5BF,yBA2BU,GA1BNyC,SAAA,GACCC,OAAQ,KACRC,aAAc,EAAAC,UACfC,YAAY,eACJC,QAAS,EAAAvC,W,oDAAA,EAAAA,WAAU,IAC1B,SAAQ,EAAAwC,iB,CAEQC,UAAS,GACtB,iBAAsD,CAAtD,M,WAEJ,iBAQM,CARiD,GAAZ,EAAAC,MAAMC,Q,yBAAjD,yBAQM,MARN,EAQM,CAPF,yBAAoD,MAApD,EAAoD,6BAA9B,EAAAnD,IAAIC,GAAE,mBAC5B,yBAEM,MAFN,EAEM,6BADC,EAAAiD,MAAME,KAAKC,KAAG,GAErB,yBAEM,OAFD7D,MAAM,cAAe,QAAK,gCAAE,EAAA8D,OAAA,sB,6BAC1B,EAAAtD,IAAIC,GAAE,wB,yBAGjB,yBAMM,MANN,EAMM,CALF,yBAAoD,MAApD,EAAoD,6BAA9B,EAAAD,IAAIC,GAAE,mBAC5B,yBAEM,OAFDT,MAAM,kBAAkB,UAAQ,EAAA0D,MAAMG,K,sBAG3C,yBAA0C,GAA9BE,KAAM,EAAAL,MAAME,M,wEAIpC,yBAOU,GANL9C,MAAO,EAAAN,IAAIC,GAAE,eACN8C,QAAS,EAAAN,S,oDAAA,EAAAA,SAAQ,IACxBe,kBAAiB,EAAAC,eACjB,KAAE,iCAAE,EAAAC,c,YAEL,iBAAmC,CAAnC,yBAAmC,sCAA7B,EAAA1D,IAAIC,GAAE,wB,8CAEhB,yBAAyB,I,yBACzB,yBAQM,MARN,EAQM,CAPF,EACA,yBAGM,Y,0DAFC,EAAAD,IAAIC,GAAE,mBAAkB,E,6BAAM,IACjC,6BAAG,EAAAD,IAAIC,GAAE,4B,oMCxNrB0D,EAAYC,KAAKC,IAYrB,SAASC,EAAiBC,EAAQC,EAAUC,GAC1C,IAAIC,EAAWD,EAAa,OAAoB,OAC5CnG,EAASiG,EAAO,GAAGjG,OACnBqG,EAAYJ,EAAOjG,OACnBsG,EAAWD,EACXE,EAASC,MAAMH,GACfI,EAAYC,IACZC,EAAS,GAEb,MAAOL,IAAY,CACjB,IAAIM,EAAQX,EAAOK,GACfA,GAAYJ,IACdU,EAAQ,eAASA,EAAO,eAAUV,KAEpCO,EAAYZ,EAAUe,EAAM5G,OAAQyG,GACpCF,EAAOD,IAAaH,IAAeD,GAAalG,GAAU,KAAO4G,EAAM5G,QAAU,KAC7E,IAAI,OAASsG,GAAYM,QACzBC,EAEND,EAAQX,EAAO,GAEf,IAAIa,GAAS,EACTC,EAAOR,EAAO,GAElBS,EACA,QAASF,EAAQ9G,GAAU2G,EAAO3G,OAASyG,EAAW,CACpD,IAAI1F,EAAQ6F,EAAME,GACdG,EAAWf,EAAWA,EAASnF,GAASA,EAG5C,GADAA,EAASoF,GAAwB,IAAVpF,EAAeA,EAAQ,IACxCgG,EACE,eAASA,EAAME,GACfb,EAASO,EAAQM,EAAUd,IAC5B,CACLG,EAAWD,EACX,QAASC,EAAU,CACjB,IAAIY,EAAQX,EAAOD,GACnB,KAAMY,EACE,eAASA,EAAOD,GAChBb,EAASH,EAAOK,GAAWW,EAAUd,IAE3C,SAASa,EAGTD,GACFA,EAAKI,KAAKF,GAEZN,EAAOQ,KAAKpG,IAGhB,OAAO4F,EAGM,Q,wBChEf,SAASS,EAAoBrG,GAC3B,OAAO,OAAAsG,EAAA,MAAkBtG,GAASA,EAAQ,GAG7B,QCSXuG,EAAe,gBAAS,SAASrB,GACnC,IAAIsB,EAAS,eAAStB,EAAQ,GAC9B,OAAQsB,EAAOvH,QAAUuH,EAAO,KAAOtB,EAAO,GAC1C,EAAiBsB,GACjB,MAGS,I,8EC7Bf,SAAS3H,GAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAAyB,MAAhBF,UAAUD,GAAaI,OAAOH,UAAUD,IAAM,GAAQK,EAAUD,OAAOE,KAAKH,GAAqD,oBAAjCC,OAAOG,wBAAwCF,EAAUA,EAAQG,OAAOJ,OAAOG,sBAAsBJ,GAAQM,QAAO,SAAUC,GAAO,OAAON,OAAOO,yBAAyBR,EAAQO,GAAKE,gBAAmBP,EAAQQ,SAAQ,SAAUC,GAAOC,GAAgBhB,EAAQe,EAAKX,EAAOW,OAAa,OAAOf,EAEhe,SAASgB,GAAgBC,EAAKF,EAAKG,GAAiK,OAApJH,KAAOE,EAAOZ,OAAOc,eAAeF,EAAKF,EAAK,CAAEG,MAAOA,EAAOL,YAAY,EAAMO,cAAc,EAAMC,UAAU,IAAkBJ,EAAIF,GAAOG,EAAgBD,EAE3M,SAAS0G,KAA2Q,OAA9PA,GAAWtH,OAAOuH,QAAU,SAAU5H,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAASF,UAAUD,GAAI,IAAK,IAAIc,KAAOX,EAAcC,OAAOwH,UAAUC,eAAeC,KAAK3H,EAAQW,KAAQf,EAAOe,GAAOX,EAAOW,IAAY,OAAOf,GAAkB2H,GAASK,MAAMC,KAAM/H,WAYhT,SAASgI,GAAW1F,GAClB,IAAI0F,GAAa,EAajB,OAXI1F,GAASA,EAAMrC,QACjBqC,EAAM2F,OAAM,SAAUC,GACpB,OAAIA,EAAKC,WACPH,GAAa,GACN,MAONA,EAGT,SAASI,GAAQpH,GACf,YAAc8F,IAAV9F,GAAiC,OAAVA,EAClB,GAGFyF,MAAM4B,QAAQrH,GAASA,EAAQ,CAACA,GA+BzC,SAASsH,GAAcvH,EAAKwH,EAAMC,GAChC,IAAIC,EAAU1H,EACdwH,EAAOA,EAAKG,QAAQ,aAAc,OAClCH,EAAOA,EAAKG,QAAQ,MAAO,IAI3B,IAHA,IAAIC,EAASJ,EAAKK,MAAM,KACpB7I,EAAI,EAEC8I,EAAMF,EAAO1I,OAAQF,EAAI8I,EAAM,IAAK9I,EAAG,CAC9C,IAAK0I,IAAYD,EAAQ,MACzB,IAAI3H,EAAM8H,EAAO5I,GAEjB,KAAIc,KAAO4H,GAEJ,CACL,GAAID,EACF,MAAM,IAAIM,MAAM,kDAGlB,MANAL,EAAUA,EAAQ5H,GAUtB,MAAO,CACLkI,EAAGN,EACHO,EAAGL,EAAO5I,GACVkJ,EAAGR,EAAUA,EAAQE,EAAO5I,IAAM,KAClCmJ,QAAST,GAAWE,EAAO5I,KAAM0I,GAIrC,SAASU,GAAQC,EAAUC,EAAUC,GACnC,IAAIC,EAAe,OAAAC,EAAA,MAAUJ,GACzBhF,EAAgB,GACpBjE,OAAOE,KAAKgJ,GAAUzI,SAAQ,SAAUC,GACtCuD,EAAcvD,GAAO,CACnB4I,UAAU,EACVtB,SAAUH,GAAWqB,EAASxI,QAGlCuD,EAAgB,eAASA,GAEzB,IAAIsF,EAAc,WAChBjC,GAAS2B,EAAU,OAAAI,EAAA,MAAUD,IAG7B,gBAAS,WACPpJ,OAAOE,KAAK+D,GAAexD,SAAQ,SAAUC,GAC3CuD,EAAcvD,GAAO,CACnB4I,UAAU,EACVtB,SAAUH,GAAWqB,EAASxI,YAMlC8I,EAAc,WAChB,IAAIrH,EAAQtC,UAAUC,OAAS,QAAsB6G,IAAjB9G,UAAU,GAAmBA,UAAU,GAAK,GAC5E4J,EAAU5J,UAAUC,OAAS,EAAID,UAAU,QAAK8G,EAEpD,OAAK8C,EAAQ3J,OAGJqC,EAAM9B,QAAO,SAAU0H,GAC5B,IAAI2B,EAAczB,GAAQF,EAAK0B,SAAW,UAC1C,OAAO,EAAaC,EAAaD,GAAS3J,UAJrCqC,GASPwH,EAAsB,KAEtBC,EAAiB,SAAwBC,GA4B3C,IA3BA,IAAIC,EAASjK,UAAUC,OAAS,QAAsB6G,IAAjB9G,UAAU,GAAmBA,UAAU,GAAK,GAC7EwI,EAASxI,UAAUC,OAAS,EAAID,UAAU,QAAK8G,EAC/CoD,EAAc,GACdC,EAAS,GAETC,EAAQ,SAAerK,GACzB,IAAIsK,EAAOL,EAAMjK,GACbuK,EAAOhC,GAAcc,EAAUiB,EAAM7B,GACzC,IAAK8B,EAAKpB,QAAS,MAAO,WAC1BiB,EAAOE,GAAQC,EAAKrB,EACpB,IAAI3G,EAAQqH,EAAYN,EAASgB,GAAOjC,GAAQ6B,GAAUA,EAAOL,UAE7DtH,EAAMrC,QACRiK,EAAY9C,KAAKmD,EAAcF,EAAMC,EAAKrB,EAAG3G,EAAO2H,GAAU,IAAIO,MAAK,WACrE,MAAO,CACLH,KAAMA,EACNI,OAAQ,OAET,UAAS,SAAUA,GACpB,OAAOC,QAAQC,OAAO,CACpBN,KAAMA,EACNI,OAAQA,SAMP1K,EAAI,EAAGA,EAAIiK,EAAM/J,OAAQF,IACrBqK,EAAMrK,GAKnB,IAAI6K,EAAiB,gBAAiBV,GACtCJ,EAAsBc,EACtB,IAAIC,EAAgBD,EAAeJ,MAAK,WACtC,OAAIV,IAAwBc,EACnBF,QAAQI,QAAQX,GAGlBO,QAAQC,OAAO,OACrB,UAAS,SAAUI,GACpB,IAAIC,EAAYD,EAAQvK,QAAO,SAAUoG,GACvC,OAAOA,GAAUA,EAAO6D,OAAOxK,UAEjC,OAAOyK,QAAQC,OAAO,CACpBR,OAAQA,EACRc,YAAaD,EACbE,UAAWpB,IAAwBc,OAOvC,OAHAC,EAAc,UAAS,SAAUM,GAC/B,OAAOA,KAEFN,GAGLN,EAAgB,SAAuBF,EAAMrJ,EAAOsB,EAAO2H,GAC7D,IAAImB,EAAU,gBAAc,CAACf,GAAOrJ,EAAOsB,EAAOzC,GAAc,CAC9DwL,iBAAkB,SACjBpB,KAAWA,EAAOqB,eAYrB,OAXAlH,EAAciG,GAAMkB,eAAiB,aACrCH,EAAQ,UAAS,SAAUD,GACzB,OAAOA,KACNX,MAAK,WACN,IAAIC,EAASzK,UAAUC,OAAS,QAAsB6G,IAAjB9G,UAAU,GAAmBA,UAAU,GAAK,GAEtC,eAAvCoE,EAAciG,GAAMkB,iBACtBnH,EAAciG,GAAMkB,eAAiBd,EAAOxK,OAAS,QAAU,UAC/DmE,EAAciG,GAAMmB,KAAOf,EAAO,OAG/BW,GAGLK,EAAW,SAAkBzB,EAAOC,GACtC,IAAI5J,EAAO,GACPmI,GAAS,EAERwB,EAIH3J,EADSoG,MAAM4B,QAAQ2B,GAChBA,EAEA,CAACA,IALRxB,GAAS,EACTnI,EAAOF,OAAOE,KAAKgJ,IAOrB,IAAIqC,EAAW3B,EAAe1J,EAAM4J,GAAU,GAAIzB,GAKlD,OAHAkD,EAAS,UAAS,SAAUP,GAC1B,OAAOA,KAEFO,GAGLC,EAAoB,WAQtB,IAPA,IAAIC,EAAQ5L,UAAUC,OAAS,QAAsB6G,IAAjB9G,UAAU,GAAmBA,UAAU,GAAK,GAC5E6L,EAAO,CACTpC,UAAU,GAER+B,EAAO,GACPM,EAAQrF,MAAM4B,QAAQuD,GAASA,EAAQ,CAACA,GAEnC7L,EAAI,EAAGA,EAAI+L,EAAM7L,OAAQF,IAAK,CACrC,IAAIgM,EAAMD,EAAM/L,GAEuD,WAA1D,OAARgM,QAAwB,IAARA,OAAiB,EAASA,EAAIR,kBACjDM,EAAKN,eAAiB,QACtBQ,EAAIP,MAAQA,EAAKpE,KAAK2E,EAAIP,OAG5BK,EAAK1D,SAAW0D,EAAK1D,WAAqB,OAAR4D,QAAwB,IAARA,OAAiB,EAASA,EAAI5D,UAIlF,OADA0D,EAAKL,KAAOA,EAAKQ,KAAK,MACfH,GAGLI,EAAW1C,EAEX2C,EAAU,SAAiBC,GAC7B,IAAInC,EAAQ,GACZ7J,OAAOE,KAAKgJ,GAAUzI,SAAQ,SAAUC,GACtC,IAAIyJ,EAAOhC,GAAc6D,EAAOtL,GAAK,GACjCuL,EAAU9D,GAAc2D,EAAUpL,GAAK,GAEtC,OAAAwL,GAAA,MAAQ/B,EAAKrB,EAAGmD,EAAQnD,IAC3Be,EAAM5C,KAAKvG,MAGf4K,EAASzB,EAAO,CACdJ,QAAS,WAEXqC,EAAW,OAAAzC,EAAA,MAAU2C,IAGnBG,EAA8B,OAAZhD,QAAgC,IAAZA,OAAqB,EAASA,EAAQiD,SAYhF,OAXA,gBAAMnD,EAAUkD,GAAmBA,EAAgBE,KAAO,OAAAD,GAAA,MAASL,EAASI,EAAgBE,KAAM,OAAAC,GAAA,MAAKH,EAAiB,CAAC,UAAYJ,EAAS,CAC5IQ,UAAWpD,KAAaA,EAAQoD,UAChCC,MAAM,IAER,gBAAMtD,GAAU,WACVC,GAAWA,EAAQsD,sBACrBnB,MAED,CACDkB,MAAM,IAED,CACLvD,SAAUA,EACVC,SAAUA,EACVE,aAAcA,EACdnF,cAAeA,EACfsF,YAAaA,EACb+B,SAAUA,EACVlB,cAAeA,EACfoB,kBAAmBA,GAIR,U,UClQA,I,oMC5CNhK,MAAM,a,IACFA,MAAM,c,IACFA,MAAM,kB,IACNA,MAAM,a,IACNA,MAAM,Q,IAEVA,MAAM,a,IAGMA,MAAM,kB,UACgBA,MAAM,Q,qBAEpBE,IAAA,KAAqCF,MAAM,Y,UAC3CE,IAAA,KAAsCF,MAAM,Y,UAC5CE,IAAA,KAAqCF,MAAM,Y,UAC1CA,MAAM,S,IAGfA,MAAM,a,IAIDA,MAAM,Q,IAEXA,MAAM,Q,UAEVA,MAAM,kB,UACNA,MAAM,mB,GACP,yBAEM,OAFDA,MAAM,kBAAgB,CACvB,yBAAc,WAAT,S,MAET,yBAAwB,OAAnBA,MAAM,QAAM,S,2LA/BjC,yBAmCM,MAnCN,GAmCM,CAlCF,yBAIM,MAJN,GAIM,CAHF,yBAAuD,MAAvD,GAAuD,6BAAzB,EAAAQ,IAAIC,GAAE,eACpC,yBAAmD,MAAnD,GAAmD,6BAA1B,EAAAD,IAAIC,GAAE,gBAC/B,yBAAuD,MAAvD,GAAuD,6BAAnC,EAAAD,IAAIC,GAAE,2BAE9B,yBA4BM,MA5BN,GA4BM,E,2BA3BF,yBA0BM,2CA1BwC,EAAAyK,SAAO,SAAtBC,EAAK/F,G,gCAApC,yBA0BM,OA1BDpF,MAAK,CAAC,YAAW,aAAoEmL,EAAKC,OAAvClM,IAAKkG,G,CACzD,yBAiBM,OAjBDpF,MAAK,CAAC,aAAY,aAAuBmL,EAAKC,Q,CAC/C,yBAQM,MARN,GAQM,CAPUD,EAAKC,M,yBAAjB,yBAA2D,OAA3D,GAA2D,6BAArB,EAAA5K,IAAIC,GAAE,Y,yBAC5C,yBAKM,UAJyE,IAAV2E,G,yBAAjE,yBAAgF,MAAhF,KACiF,IAAVA,G,yBAAvE,yBAAsF,MAAtF,KACgF,IAAVA,G,yBAAtE,yBAAqF,MAArF,M,yBACA,yBAAiD,OAAjD,GAAiD,6BAAnB+F,EAAKE,MAAI,SAG/C,yBAKM,MALN,GAKM,CAJF,yBAEW,GAFAzK,KAAM,GAAKV,IAAKiL,EAAK3J,K,CACX8J,KAAI,IAAC,iBAAgB,CAAhB,yBAAgB,O,mBAE1C,yBAAyC,OAAzC,GAAyC,6BAAnBH,EAAKzC,MAAI,KAEnC,yBAAyC,MAAzC,GAAyC,6BAApByC,EAAKI,QAAM,I,GAEO,GAATJ,EAAKE,M,yBAAvC,yBAA2D,MAA3D,GAAkD,Q,uCACfF,EAAKE,OAAS,EAAAG,U,yBAAjD,yBAKM,MALN,GAKM,CAJF,GAGA,M,qHC3BL,gCAAgB,CAC3B9C,KAAM,WACN+C,WAAY,CACRC,gBAAA,MAEJjM,MAAO,CACHsE,KAAM,CACFrC,KAAMoD,QAGd6G,MAV2B,SAUrBlM,GACF,IAAM+L,EAAW,iBAAI,GACfzH,EAAO,iBAAItE,EAAMsE,MACjBvD,EAAM,kBACRoL,EAAW,EACf7H,EAAK1E,MAAOJ,SAAQ,SAAC4M,GACdA,EAAQT,OACPQ,EAAWC,EAAQR,SAI3B,IAAMH,EAAUnH,EAAK1E,MAAOR,QAAO,SAACsM,GAChC,OAAOA,EAAKE,MAAQ,GAAKF,EAAKE,MAAQG,EAASnM,OAAS8L,EAAKE,OAASO,GAAYT,EAAKE,OAASO,EAAW,GAAKT,EAAKE,OAASO,EAAW,KAG7I,MAAO,CACHV,UACAM,WACAhL,U,UC5BZ,GAAOsL,OAAS,GAChB,GAAOC,UAAY,kBAEJ,U,mHCkBA,gCAAgB,CAC3BrD,KAAM,iBACN+C,WAAY,CACRO,qBAAA,KACAC,eAAA,KACAC,aAAA,KACAC,aAEJR,MAR2B,WASvB,IAAIS,GAAQ,EACN5L,EAAW,kBAEXK,EAAO,iBAAI,CACbC,MAAO,GACPU,IAAK,GACL6K,OAAQ,EACRtK,QAAS,GACTuK,aAAc,EACdlK,SAAU,GACVM,SAAU,GACVC,WAAY,GACZC,KAAM,KAEJK,EAAW,kBAAI,GACfjB,EAA8B,iBAAI,GAClCP,EAAiC,iBAAI,GACrC8K,EAAY,mBACZC,EAAS,iBAAgB,IACzB9I,EAAQ,iBAAS,IACjBzC,EAAS,kBAAI,GACbD,EAA2B,kBAAI,GAtBpC,SA2BcyL,EA3Bb,EAAD,gGA2BD,WACIlG,EACAlH,GAFJ,sFAKQA,EAAQ,IAAMA,EAAQ,KAL9B,yCAMe0J,QAAQC,OAAO,sBAN9B,gCAQeD,QAAQI,WARvB,2CA3BC,wBAyCD,IAAMuD,EAAkB,yDAAG,WACvBnG,EACAlH,GAFuB,sFAKnBA,EAAQ,GAAKA,EAAQ,GALF,yCAMZ0J,QAAQC,OAAO,gBANH,gCAQZD,QAAQI,WARI,2CAAH,wDAYlBxI,EAAQ,sBAAS,CACnB+B,SAAU,CACN,CACIiK,UAAWF,EACXxE,QAAS,WAGjBtF,WAAY,CACR,CACIgK,UAAWD,EACXzE,QAAS,aAMf1G,EAA0B,kBAAI,GAC9BqL,EAA4B,iBAAI,IAMtC,SAASC,EAAY3C,GAGjB,gBAAaA,EAAK4C,MAAMjE,MAAK,SAACkE,GAAD,OAAUH,EAAavN,MAAQ0N,KAC5DxL,EAAUlC,OAAQ,EAGtB,SAASyE,IACLkJ,GAAA,KAAOvH,KAAK,CAAEmB,KAAM,gBAAiBqG,MAAO,CAAEC,SAAU,KApF3D,MAsFgD,GAAQrM,EAAMF,GAAvDoH,EAtFP,EAsFOA,YAAa+B,EAtFpB,EAsFoBA,SAAUrH,EAtF9B,EAsF8BA,cAoBzB0K,EAAK,kBAAWF,MAAME,GACtBnK,EAAW,iBAAImK,GACX,MAANA,GAA2B,iBAANA,GACrB,gBAASC,SAASD,IAAKtE,MAAK,SAACwE,GACzBxM,EAAKxB,MAAQgO,KAGrB,IAAMC,EAAS,uBAAS,kBAAMC,GAAA,KAAMC,MAAMF,UACpCvK,EAAW,SAACyG,GACXvI,EAAO5B,QACN2B,EAAW3B,OAAQ,GAGnB+M,GAIJ5C,EAAEiE,iBACF3D,IACKjB,MAAK,WAQF,IAAM6E,EAAe,mBAAM7M,EAAKxB,OACX,IAAjBqO,EAAQ5M,MAGc,IAAf4M,EAAQlM,IAGa,IAApBkM,EAAQtL,SAGW,IAApBsL,EAAQhL,SAGc,IAAtBgL,EAAQ/K,WAIZ+K,EAAQhL,SAAW0K,SAASE,EAAOjO,MAAMsO,iBAAmBD,EAAQhL,SAAW0K,SAASE,EAAOjO,MAAMuO,aAEpGC,GAAA,KAAQC,MAAMtN,EAAIC,GAAG,kBAGtBiN,EAAQ/K,WAAayK,SAASE,EAAOjO,MAAM0O,gBAAkBL,EAAQ/K,WAAayK,SAASE,EAAOjO,MAAM2O,YACvGH,GAAA,KAAQC,MAAMtN,EAAIC,GAAG,gBAGpBiD,EAAMrE,MAAMsE,OAcbkK,GAAA,KAAQC,MAAMtN,EAAIC,GAAG,wBAZX0E,GAANgI,GAAmBA,GAInBO,EAAQP,GAAKA,EACb,gBAAQO,IAIR,gBAAQA,GAvBhBG,GAAA,KAAQC,MAAMtN,EAAIC,GAAG,uBAHrBoN,GAAA,KAAQC,MAAMtN,EAAIC,GAAG,yBAHrBoN,GAAA,KAAQC,MAAMtN,EAAIC,GAAG,yBAHrBoN,GAAA,KAAQC,MAAMtN,EAAIC,GAAG,yBAHrBoN,GAAA,KAAQC,MAAMtN,EAAIC,GAAG,0BA0C5BwN,OAAM,SAACC,QAzDRL,GAAA,KAAQC,MAAMtN,EAAIC,GAAG,wBAgE7B,SAAS+C,IACLxC,EAAW3B,OAAQ,EAOvB,SAASkD,EAAYiH,GAIjB,IAAM2E,EAAO,KAAM,IAAIC,KAAK5E,IACtB6E,EACFF,EAAKG,OACL,KACCH,EAAKI,QAAU,GAChB,IACAJ,EAAKK,OACL,IACAL,EAAKM,OACL,IACAN,EAAKO,SACL,IACAP,EAAKQ,SAET9N,EAAKxB,MAAM+C,SAAWiM,EAK1B,IAAMO,EAAY,sBAAS,CACvBC,OAAQ,GACR9B,IAAK,KAEH+B,EAAU,sBAAS,CACrBD,OAAQ,GACR9B,IAAK,KAOHgC,EAAgB,kBAAa,GACnC,SAASC,EAAa9E,GAElB,GAA+B,SAA3BA,EAAKxI,KAAKuF,MAAM,KAAK,GAGrB,OAFA8H,EAAc1P,OAAQ,OACtBwO,GAAA,KAAQC,MAAMtN,EAAIC,GAAG,wBAGrBsO,EAAc1P,OAAQ,EA5O7B,SA+OcwC,EA/Ob,GAAD,6FA+OD,WAAuBiL,GAAvB,8FACQV,GAAQ,EAERG,EAAUlN,MAAQyN,EAAKA,KACvBN,EAAOnN,MAAM,GAAG4P,iBAAiB,kBAAkB,WAE/CpO,EAAKxB,MAAMiN,aAAeE,EAAOnN,MAAM,GAAG6P,YAE9ClN,EAAe3C,MAAQ,EAR/B,SAS0B,gBAAWyN,EAAKA,MAAM,SAAC5C,GAGrC,IAAIiF,EAA0C,IAA1BjF,EAAKvI,QAAQyN,QAAQ,GACzCD,EAAQ/B,SAAS+B,EAAQ,IACzBnN,EAAe3C,MAAQ8P,EAAQ,EAAIA,EAAQ,KAdvD,OASc9B,EATd,OAkBQxM,EAAKxB,MAAMgN,OAASgB,EAAIwB,OACxBhO,EAAKxB,MAAM0C,QAAUsL,EAAIvL,MAAMiL,IAC/BX,GAAQ,EApBhB,4CA/OC,wBAqQD,IAAMiD,EAAa,kBAAa,GArQ/B,SAsQcjO,EAtQb,GAAD,6FAsQD,WAA0B0L,GAA1B,8FACQrL,EAAkBpC,MAAQ,EADlC,SAE0B,gBAAWyN,EAAKA,MAAM,SAAC5C,GAErC,IAAIiF,EAA0C,IAA1BjF,EAAKvI,QAAQyN,QAAQ,GACzCD,EAAQ/B,SAAS+B,EAAQ,IACzB1N,EAAkBpC,MAAQ8P,GAAS,KAN/C,OAEc9B,EAFd,OAYQxM,EAAKxB,MAAMmC,IAAM6L,EAAIvL,MAAMiL,IAZnC,2CAtQC,wBA2RD,SAASuC,EAAgBpF,GAErB,GAA+B,SAA3BA,EAAKxI,KAAKuF,MAAM,KAAK,GAGrB,OAFA4G,GAAA,KAAQC,MAAMtN,EAAIC,GAAG,uBACrB4O,EAAWhQ,OAAQ,GAGnBgQ,EAAWhQ,OAAQ,EAI3B,SAASiD,EAAaiN,GAElB,IAAMC,EAAM,OAAQhB,KAAK,OAAQA,OAAS,GAC1C,OAAOe,GAAWA,EAAUC,EAGhC,SAAStL,IACLjB,EAAS5D,OAAQ,EACP,MAAN8N,GAA2B,iBAANA,GACrB,gBAAWC,SAASD,GAAK,GAAGtE,MAAK,SAACwE,GAC3BA,GACCL,GAAA,KAAOvH,KAAK,mBAK5B,SAAS3D,EAAMgL,GACX,OAAG7L,EAAO5B,OACN2B,EAAW3B,OAAQ,GACZ,GAEJ,gBAAYyN,GAEtB,SAASxL,EAAKwL,GACV,OAAG7L,EAAO5B,OACP2B,EAAW3B,OAAQ,GACZ,GAEJ,gBAAUyN,GA9CrB,kBAAYjE,MAAK,SAACwE,GACVA,IACArM,EAAW3B,OAAQ,EACnBqE,EAAMrE,MAAQgO,EACdpM,EAAO5B,OAAQ,MA4CvB,IAAMoQ,EAAO,uBAAS,kBAAIlC,GAAA,KAAMC,MAAMF,OAAOoC,SAC7C,MAAO,CACHrP,SAAU,CAAEsP,KAAM,GAClBpP,WAAY,CAAEoP,KAAM,IACpBtM,UAAW,kBACPuM,SAASC,uBAAuB,mBAAmB,IACvDpN,gBACAsF,cACAxG,YACAqL,eACAC,cACAhM,OACAkC,WACA/B,aACAwC,kBACA3B,UACAG,iBACA4M,YACAxN,aACAK,oBACAqN,UACAvM,cACAgK,YACAC,SACA9I,QACA4L,kBACAD,aACAL,eACAD,gBACAjL,SACAtD,MACA8B,eACAU,WACAkB,WACAjB,WACAnB,QACAR,OACAL,SACAwO,W,UCvYZ,GAAO3D,OAAS,EAChB,GAAOC,UAAY,kBAEJ,iB,oCCRf,W,qBCAA/N,EAAOC,QAAU,IAA0B,+B,qBCA3CD,EAAOC,QAAU,IAA0B,+B,yDCA3C,W,mBCAAD,EAAOC,QAAU,0/E,kDCCb,EAAe,CAAE,KAAQ,CAAE,IAAO,MAAO,MAAS,CAAE,QAAW,gBAAiB,UAAa,SAAW,SAAY,CAAC,CAAE,IAAO,OAAQ,MAAS,CAAE,EAAK,6qBAAirB,KAAQ,OAAQ,MAAS,YACr1B,I,YCAf,SAASC,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAAyB,MAAhBF,UAAUD,GAAaI,OAAOH,UAAUD,IAAM,GAAQK,EAAUD,OAAOE,KAAKH,GAAqD,oBAAjCC,OAAOG,wBAAwCF,EAAUA,EAAQG,OAAOJ,OAAOG,sBAAsBJ,GAAQM,QAAO,SAAUC,GAAO,OAAON,OAAOO,yBAAyBR,EAAQO,GAAKE,gBAAmBP,EAAQQ,SAAQ,SAAUC,GAAOC,EAAgBhB,EAAQe,EAAKX,EAAOW,OAAa,OAAOf,EAEhe,SAASgB,EAAgBC,EAAKF,EAAKG,GAAiK,OAApJH,KAAOE,EAAOZ,OAAOc,eAAeF,EAAKF,EAAK,CAAEG,MAAOA,EAAOL,YAAY,EAAMO,cAAc,EAAMC,UAAU,IAAkBJ,EAAIF,GAAOG,EAAgBD,EAO3M,IAAI,EAAe,SAAsBK,EAAOC,GAC9C,IAAIC,EAAIzB,EAAc,GAAIuB,EAAOC,EAAQE,OAEzC,OAAO,iBAAiBC,EAAA,KAAU,gBAAgBF,EAAG,CACnD,KAAQ,IACN,OAGN,EAAaG,YAAc,eAC3B,EAAaC,cAAe,EACb,U","file":"js/chunk-5adc613a.5c5347c1.js","sourcesContent":["module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"img/rank_second.92ced7da.png\";","// This icon file is generated automatically.\nvar PlusOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"defs\", \"attrs\": {}, \"children\": [{ \"tag\": \"style\", \"attrs\": {} }] }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M176 474h672q8 0 8 8v60q0 8-8 8H176q-8 0-8-8v-60q0-8 8-8z\" } }] }, \"name\": \"plus\", \"theme\": \"outlined\" };\nexport default PlusOutlined;\n","import * as _vue from \"vue\";\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport PlusOutlinedSvg from \"@ant-design/icons-svg/es/asn/PlusOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar PlusOutlined = function PlusOutlined(props, context) {\n var p = _objectSpread({}, props, context.attrs);\n\n return _vue.createVNode(AntdIcon, _vue.mergeProps(p, {\n \"icon\": PlusOutlinedSvg\n }), null);\n};\n\nPlusOutlined.displayName = 'PlusOutlined';\nPlusOutlined.inheritAttrs = false;\nexport default PlusOutlined;","<template>\n <div class=\"webcast\">\n <a-form :label-col=\"labelCol\" :wrapper-col=\"wrapperCol\">\n <div class=\"title\">{{ lan.$t(\"zhiboxinxi\") }}</div>\n <a-form-item :label=\"lan.$t('zhibobiaoti')\" :rules=\"{ required: true, message: 'Please input Activity name', trigger: 'blur'}\">\n <a-input\n size=\"small\"\n v-model:value=\"form.title\"\n :placeholder=\"lan.$t('shuruzhibobiaoti')\"\n @click=\"isEntitled = jinzhi\"\n />\n </a-form-item>\n <a-form-item :label=\"lan.$t('zhibofengmian')\" class=\"item-cover\" :rules=\"{ required: true, message: 'Please input Activity name', trigger: 'blur'}\">\n <div style=\"display:flex\">\n <a-upload\n list-type=\"picture\"\n :customRequest=\"uploadspic\"\n :before-upload=\"imgs\"\n >\n <div\n class=\"upload-image\"\n v-if=\"!viewCover && form.img.length == 0\"\n >\n <PlusOutlined\n style=\"fontsize: 22px\"\n v-if=\"uploadpicprogress == 0\"\n />\n <a-progress\n type=\"circle\"\n :percent=\"uploadpicprogress\"\n :width=\"80\"\n v-else\n />\n </div>\n <div class=\"upload-image\" v-else>\n <img\n style=\"width: 100%; height: 100%\"\n :src=\"form.img\"\n />\n </div>\n \n </a-upload>\n <div class=\"demand\">\n <p>\n {{ lan.$t(\"fengmianyaoqiu\") }}\n </p>\n <p>\n 1.{{ lan.$t(\"fengmianyaoqiu1\") }}\n </p>\n <p>\n 2.{{ lan.$t(\"fengmianyaoqiu2\") }}\n </p>\n </div>\n </div>\n \n </a-form-item>\n <a-form-item\n :label=\"lan.$t('shipinjieshao')\"\n class=\"video-introduction\"\n >\n <a-upload\n list-type=\"picture\"\n :customRequest=\"uploads\"\n :before-upload=\"video\"\n >\n <div class=\"upload-image\" v-if=\"form.fileurl.length == 0\">\n <PlaySquareOutlined\n style=\"fontsize: 22px\"\n v-if=\"uploadprogress == 0\"\n />\n <a-progress\n type=\"circle\"\n :percent=\"uploadprogress\"\n :width=\"80\"\n v-else\n />\n <!-- <video style=\"display: none\" :src=\"videofile\"></video> -->\n </div>\n <div\n class=\"upload-image upload\"\n style=\"position: relative\"\n v-show=\"form.fileurl.length != 0\"\n >\n <video\n :src=\"form.fileurl\"\n :ref=\"\n (el) => {\n videos[0] = el;\n }\n \"\n class=\"upload\"\n ></video>\n <!-- <a-progress type=\"circle\" :percent=\"100\" :width=\"80\" style=\"position:absolute;right:35%\"/> -->\n </div>\n </a-upload>\n <div class=\"demand\">\n <p>\n {{ lan.$t(\"shipinyaoqiu\") }}\n </p>\n <p>1.{{ lan.$t(\"shipinyaoqiu1\") }}</p>\n <p>2.{{ lan.$t(\"shipinyaoqiu2\") }}</p>\n <p>3.{{ lan.$t(\"shipinyaoqiu3\") }}</p>\n </div>\n <!-- <div class=\"demand\">\n <p class=\"one-line-hide\">视频要求:</p>\n <p class=\"one-line-hide\">1.上传视频时间要求为30s之内</p>\n <p class=\"one-line-hide\">2.支持文件大小100M</p>\n <p class=\"one-line-hide\">\n 3.文件扩展名:fiv、mp4…文件扩展名:fiv、mp4…\n </p>\n </div> -->\n </a-form-item>\n <a-form-item :label=\"lan.$t('kaishishijian')\" @click=\"isEntitled = jinzhi\" :rules=\"{ required: true, message: 'Please input Activity name', trigger: 'blur'}\">\n \n <!-- <a-input\n size=\"small\"\n v-model:value=\"form.startTime\"\n placeholder=\"请设置您的开始时间\"\n /> -->\n <a-date-picker\n class=\"datesel\"\n show-time\n format=\"YYYY-MM-DD HH:mm\"\n :value=\"form.dateline\"\n :disabled-date=\"disabledDate\"\n @click=\"isEntitled = jinzhi\"\n @change=\"startchange\"\n :placeholder=\"lan.$t('shezhikaishishijian')\"\n :getCalendarContainer=\"\n (triggerNode) => triggerNode.parentNode\n \"\n />\n </a-form-item>\n <a-form-item\n :label=\"lan.$t('zhiboshichang')\"\n class=\"duration\"\n v-bind=\"validateInfos.livetime\"\n :rules=\"{ required: true, message: 'Please input Activity name', trigger: 'blur'}\"\n >\n <a-input\n size=\"small\"\n v-model:value=\"form.livetime\"\n @click=\"isEntitled = jinzhi\"\n :placeholder=\"lan.$t('shuruzhiboshijian')\"\n type=\"number\"\n />\n <span class=\"unit\">{{ lan.$t(\"fenzhong\") }}</span>\n <div style=\"color: red;font-size: 0.12rem;line-height: 1.3;\">*{{ lan.$t('shichangtishi') }}</div>\n </a-form-item>\n <a-form-item\n :label=\"lan.$t('zhiborenshu')\"\n v-bind=\"validateInfos.livenumber\"\n :rules=\"{ required: true, message: 'Please input Activity name', trigger: 'blur'}\"\n >\n <a-input\n size=\"small\"\n v-model:value=\"form.livenumber\"\n @click=\"isEntitled = jinzhi\"\n :placeholder=\"lan.$t('shuruzhiborenshu')\"\n type=\"number\"\n />\n <div style=\"color: red;font-size: 0.12rem;line-height: 1.3;\">*{{ lan.$t('renshutishi') }}</div>\n\n </a-form-item>\n <a-form-item :label=\"lan.$t('zhibojianjie')\" class=\"brief\">\n <a-textarea\n v-model:value=\"form.desc\"\n @click=\"isEntitled = jinzhi\"\n :autoSize=\"true\"\n class=\"brief-textarea\"\n :maxlength=\"200\"\n :placeholder=\"lan.$t('shuruzhibojianjie')\"\n />\n <span class=\"words-number\">{{ form.desc.length }}/200</span>\n </a-form-item>\n <a-form-item :wrapper-col=\"{ span: 4, offset: 0 }\">\n <a-button @click=\"onSubmit\">{{ lan.$t(\"fabuzhibo\") }}</a-button>\n <a-button style=\"margin-left:0.15rem;background-color: red;\" @click=\"isquxiao = true\" v-if=\"isbianji\">{{ lan.$t(\"quxiaozhibo\") }}</a-button>\n </a-form-item>\n \n </a-form>\n <div class=\"modal-container\">\n <a-modal\n centered\n :footer=\"null\"\n :getContainer=\"modalNode\"\n dialogClass=\"modal-dialog\"\n v-model:visible=\"isEntitled\"\n @cancel=\"hideNoticeModal\"\n >\n <template v-slot:closeIcon>\n <img src=\"@/static/images/delete.png\" class=\"close\" />\n </template>\n <div class=\"notice-container report\" v-if=\"lives.status == 1\">\n <div class=\"title\">{{ lan.$t(\"wuzhibozige\") }}</div>\n <div class=\"title sub-title\">\n {{ lives.data.msg }}\n </div>\n <div class=\"confirm-btn\" @click=\"fankui\">\n {{ lan.$t(\"yijianfankui\") }}\n </div>\n </div>\n <div class=\"notice-container\" v-else>\n <div class=\"title\">{{ lan.$t(\"wuzhibozige\") }}</div>\n <div class=\"title sub-title\" v-html=\"lives.msg\"> \n \n </div>\n <rank-list :list=\"lives.data\"></rank-list>\n </div>\n </a-modal>\n </div>\n <a-modal\n :title=\"lan.$t('quxiaozhibo')\"\n v-model:visible=\"isquxiao\"\n :confirm-loading=\"confirmLoading\"\n @ok=\"onquxiao()\"\n >\n <p>{{ lan.$t(\"querenquxiao\") }}</p>\n </a-modal>\n <nav-bottom></nav-bottom>\n <div class=\"tishi\" v-if=\"true\">\n <img src=\"@/static/images/gantanhao.png\" alt=\"\">\n <div>\n {{ lan.$t(\"zhibotishi1\") }}<br />\n {{ lan.$t(\"zhibotishi\") }}\n </div>\n \n \n </div>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n onBeforeUpdate,\n onMounted,\n reactive,\n Ref,\n ref,\n toRaw,\n} from \"vue\";\nimport { PlaySquareOutlined, PlusOutlined } from \"@ant-design/icons-vue\";\nimport { useForm } from \"@ant-design-vue/use\";\nimport NavBottom from \"@/components/NavBottom.vue\";\nimport RankList from \"./RankList.vue\";\nimport { previewCover, provenimg, provenvideo } from \"@/utils/common\";\nimport { FromSend, ImgInfo } from \"@/types/index\";\nimport { uploadflie } from \"@/utils/vod\";\nimport { cancellive, getlivest, liveadd, liveinfo, setlive } from \"@/api\";\nimport { useRoute } from \"vue-router\";\nimport dayjs from \"dayjs\";\nimport { message } from \"ant-design-vue\";\nimport router from \"@/router\";\nimport { useI18n } from \"@/utils/i18n\";\nimport store from '@/store';\n\nexport default defineComponent({\n name: \"ReleaseWebcast\",\n components: {\n PlaySquareOutlined,\n PlusOutlined,\n NavBottom,\n RankList,\n },\n setup() {\n let issum = true;\n const lan: any = useI18n();\n // 表单数据\n const form = ref({\n title: \"\",\n img: \"\",\n fileid: 0,\n fileurl: \"\",\n fileduration: 0,\n dateline: \"\",\n livetime: \"\",\n livenumber: \"\",\n desc: \"\",\n });\n const isquxiao = ref(false)\n const uploadprogress: Ref<number> = ref(0);\n const uploadpicprogress: Ref<number> = ref(0);\n const videofile = ref<File>();\n const videos = ref<Array<any>>([]);\n const lives = ref<any>({});\n const jinzhi = ref(false)\n const isEntitled: Ref<boolean> = ref(false);\n\n /**\n * 验证直播时间\n */\n async function validateaLivetime(\n rule: unknown,\n value: number\n ): Promise<string | void> {\n console.log(value);\n if (value < 30 || value > 120) {\n return Promise.reject(\"*最短30min 最长120min\");\n } else {\n return Promise.resolve();\n }\n }\n /**\n * 验证直播人数\n */\n const validateLivenumber = async (\n rule: unknown,\n value: number\n ): Promise<string | void> => {\n console.log(value);\n if (value < 1 || value > 4) {\n return Promise.reject(\"**最少1人,最多4人\");\n } else {\n return Promise.resolve();\n }\n };\n // 验证规则\n const rules = reactive({\n livetime: [\n {\n validator: validateaLivetime,\n trigger: \"change\",\n },\n ],\n livenumber: [\n {\n validator: validateLivenumber,\n trigger: \"change\",\n },\n ],\n });\n\n // 是否显示封面预览 封面的路径\n const viewCover: Ref<boolean> = ref(false);\n const previewImage: Ref<string> = ref(\"\");\n\n /**\n * 封面改变触发事件\n */\n\n function coverChange(info: ImgInfo): void {\n // console.log(info);\n // 获取预览图片\n previewCover(info.file).then((url) => (previewImage.value = url));\n viewCover.value = true;\n // form.cover = fileList;\n }\n function fankui() {\n router.push({ path: \"/mine/aboutus\", query: { selected: 3 } });\n }\n const { resetFields, validate, validateInfos } = useForm(form, rules);\n\n /**\n * 表单提交\n */\n\n // const subdata = ref({\n // title: \"\",\n // img: \"\",\n // fileid: \"\",\n // fileurl: \"\",\n // fileduration: \"\",\n // dateline: \"\",\n // livetime: \"\",\n // livenumber: \"\",\n // desc: \"\",\n // });\n /**\n * todo 需要后台返回年份\n */\n const id = useRoute().query.id;\n const isbianji = ref(id);\n if (id != null && typeof id == \"string\") {\n liveinfo(parseInt(id)).then((res) => {\n form.value = res;\n });\n }\n const seting = computed(() => store.state.seting)\n const onSubmit = (e: FromSend) => {\n if(jinzhi.value){\n isEntitled.value = true;\n\n }\n if(!issum){\n message.error(lan.$t(\"shangchuanwancheng\"))\n return; \n }\n e.preventDefault();\n validate()\n .then(() => {\n // else if (subdata.fileurl == \"\") {\n // message.error(lan.$t('shipinjieshaoweikong'));\n // return;\n // }\n console.log(seting.value)\n\n console.log(toRaw(form), 111);\n const subdata: any = toRaw(form.value);\n if (subdata.title == \"\") {\n message.error(lan.$t('zhibobiaotiweikong'));\n return;\n } else if (subdata.img == \"\") {\n message.error(lan.$t('zhibofengmianweikong'));\n return;\n } else if (subdata.dateline == \"\") {\n message.error(lan.$t('kaishishijianweikong'));\n return;\n } else if (subdata.livetime == \"\") {\n message.error(lan.$t('zhiboshichangweikong'));\n return;\n } else if (subdata.livenumber == \"\") {\n message.error(lan.$t('zhiborenshuweikong'));\n return;\n } else {\n if(subdata.livetime < parseInt(seting.value.timeLowerLimit) || subdata.livetime > parseInt(seting.value.timeCeiling)){\n // console.log(subdata.livetime, subdata.livetime < seting.value.timeLowerLimit || subdata.livetime > seting.value.timeCeiling)\n message.error(lan.$t('shichangtishi'));\n return ;\n }\n if(subdata.livenumber > parseInt(seting.value.numberCeiling) || subdata.livenumber < parseInt(seting.value.lowerLimit)){\n message.error(lan.$t('renshutishi'));\n return ;\n }\n if (!lives.value.status) {\n // subdata.fileid=picinfo.\n if (id != undefined && id) {\n /**\n * todo 提交会报错 编辑直播\n */\n subdata.id = id;\n setlive(subdata)\n } else {\n console.log(subdata);\n console.log(lives.value);\n liveadd(subdata);\n }\n } else {\n message.error(lan.$t('wuzhibozigeale'));\n }\n }\n })\n .catch((err: unknown) => {\n console.log(\"error\", err);\n });\n };\n /**\n * 隐藏无资格提示\n */\n function hideNoticeModal(): void {\n isEntitled.value = false;\n }\n\n /**\n * 开始时间设置\n */\n\n function startchange(e: string): void {\n // const month = new Date(e).getMonth()+1\n // console.log(new Date(e).getFullYear()+\"-\"+month+'-'+new Date(e).getDate())\n // console.log(e.toString())\n const time = dayjs(new Date(e));\n const timestr =\n time.year() +\n \"-\" +\n (time.month() + 1) +\n \"-\" +\n time.date() +\n \" \" +\n time.hour() +\n \":\" +\n time.minute() +\n \":\" +\n time.second();\n console.log(timestr);\n form.value.dateline = timestr;\n }\n /**\n * 上传文件\n */\n const videoinfo = reactive({\n fileId: \"\",\n url: \"\",\n });\n const picinfo = reactive({\n fileId: \"\",\n url: \"\",\n });\n interface AntUpload {\n action: string;\n data: unknown;\n file: File;\n }\n const ifallowupload = ref<boolean>(false);\n function beforeUpload(info?: any) {\n console.log(info);\n if (info.type.split(\"/\")[0] != \"video\") {\n ifallowupload.value = false;\n message.error(lan.$t('shipinjieshaoccuowu'));\n return;\n } else {\n ifallowupload.value = true;\n }\n }\n async function uploads(file: AntUpload) {\n issum = false;\n console.log(file);\n videofile.value = file.file;\n videos.value[0].addEventListener(\"durationchange\", () => {\n console.log(videos.value[0].duration);\n form.value.fileduration = videos.value[0].duration;\n });\n uploadprogress.value = 1;\n const res = await uploadflie(file.file, (info: any) => {\n console.log(info);\n // const jindu = info.percent.toFixed(2) * 100\n let jindu: number = info.percent.toFixed(2) * 100;\n jindu = parseInt(jindu + \"\");\n uploadprogress.value = jindu > 0 ? jindu : 1;\n });\n console.log(res);\n\n form.value.fileid = res.fileId;\n form.value.fileurl = res.video.url;\n issum = true;\n }\n const ifallowpic = ref<boolean>(false);\n async function uploadspic(file: AntUpload) {\n uploadpicprogress.value = 1;\n const res = await uploadflie(file.file, (info: any) => {\n console.log(info);\n let jindu: number = info.percent.toFixed(2) * 100;\n jindu = parseInt(jindu + \"\");\n uploadpicprogress.value = jindu || 1;\n });\n console.log(res);\n\n // picinfo.fileId=res.fileId\n // picinfo.url=res.video.url\n form.value.img = res.video.url;\n }\n getlivest().then((res) => {\n if (res) {\n isEntitled.value = true;\n lives.value = res;\n jinzhi.value = true;\n }\n });\n function beforeUploadpic(info?: any) {\n console.log(info);\n if (info.type.split(\"/\")[0] != \"image\") {\n message.error(lan.$t('fengmiangeshi'));\n ifallowpic.value = false;\n return;\n } else {\n ifallowpic.value = true;\n }\n }\n\n function disabledDate(current: any){\n console.log(current + 0)\n const now = dayjs().date(dayjs().date() - 1);\n return current && current < now;\n }\n\n function onquxiao(){\n isquxiao.value = false;\n if (id != null && typeof id == \"string\") {\n cancellive(parseInt(id), 3).then((res)=>{\n if(res){\n router.push(\"/regime/live\")\n }\n })\n }\n }\n function video(file: any){\n if(jinzhi.value){\n isEntitled.value = true;\n return false;\n }\n return provenvideo(file)\n }\n function imgs(file: any){\n if(jinzhi.value){\n isEntitled.value = true;\n return false;\n }\n return provenimg(file)\n }\n const view = computed(()=>store.state.seting.views)\n return {\n labelCol: { span: 4 },\n wrapperCol: { span: 14 },\n modalNode: () =>\n document.getElementsByClassName(\"modal-container\")[0],\n validateInfos,\n resetFields,\n viewCover,\n previewImage,\n coverChange,\n form,\n onSubmit,\n isEntitled,\n hideNoticeModal,\n uploads,\n uploadprogress,\n videoinfo,\n uploadspic,\n uploadpicprogress,\n picinfo,\n startchange,\n videofile,\n videos,\n lives,\n beforeUploadpic,\n ifallowpic,\n beforeUpload,\n ifallowupload,\n fankui,\n lan,\n disabledDate,\n isbianji,\n onquxiao,\n isquxiao,\n video,\n imgs,\n jinzhi,\n view\n };\n },\n});\n</script>\n<style lang=\"scss\" scoped>\n.webcast {\n width: 100%;\n min-width: 700px;\n background-color: #ffffff;\n padding: 46px;\n border-radius: 17px;\n position: relative;\n .tishi{\n position: absolute;\n top: 60px;\n right: 64px;\n line-height: 0.17rem;\n font-size: 0.1rem;\n font-weight: 500;\n color: #808080;\n display: flex;\n align-items: center;\n color:#07ad97;\n > img{\n width: 40px;\n margin-right: 10px;\n }\n }\n ::v-deep(.ant-form) {\n .title {\n font-size: 12px;\n font-weight: bold;\n color: #111111;\n margin-bottom: 28px;\n }\n .ant-row {\n .ant-form-item-label {\n width: 130px;\n margin: 0 30px 0 17px;\n > label {\n font-size: 12px;\n font-weight: 500;\n color: #808080;\n &::after {\n content: \"\";\n }\n }\n }\n .upload {\n width: 171px;\n height: 96px;\n }\n .upload-image {\n width: 171px;\n height: 96px;\n border: 1px solid #dcdfe0;\n border-radius: 3px;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: 17px;\n }\n .ant-input {\n width: 171px;\n padding: 6px 11px;\n border-radius: 3px;\n border: 1px solid #dcdfe0;\n font-size: 11px;\n color: #3f3f3f;\n &::-webkit-input-placeholder {\n font-size: 12px;\n color: #808080;\n }\n }\n .ant-select {\n font-size: 12px;\n }\n .ant-select-dropdown {\n font-size: 12px;\n }\n .ant-form-explain {\n font-size: 10px;\n font-weight: 500;\n color: #d22d2e;\n }\n .ant-upload-list {\n display: none;\n }\n .ant-btn {\n padding: 0;\n width: 63px;\n height: 23px;\n background: #08ae98;\n border-radius: 3px;\n font-size: 10px;\n font-weight: 500;\n color: #ffffff;\n // &:hover{\n // background: #08ae98;\n // }\n }\n }\n .item-cover {\n .preview-image {\n width: 171px;\n height: 96px;\n }\n }\n .demand {\n line-height: 17px;\n font-size: 10px;\n font-weight: 500;\n color: #808080;\n // width: 134px;\n > p {\n margin: 0;\n }\n }\n .video-introduction {\n .ant-form-item-control-wrapper {\n .ant-form-item-children {\n display: flex;\n align-items: center;\n \n }\n }\n }\n .duration {\n .unit {\n margin-left: 18px;\n font-size: 12px;\n font-weight: 500;\n color: #808080;\n }\n }\n .brief {\n position: relative;\n .ant-input {\n width: 359px;\n }\n .brief-textarea {\n min-height: 85px;\n padding-bottom: 30px;\n }\n .words-number {\n position: absolute;\n right: 11px;\n bottom: -11px;\n font-size: 11px;\n font-weight: 500;\n color: #7f7f7f;\n user-select: none;\n }\n }\n }\n .modal-container {\n ::v-deep(.modal-dialog) {\n .close {\n width: 14px;\n height: 14px;\n }\n .ant-modal-content {\n box-sizing: border-box;\n padding: 25px 30px;\n width: 569px;\n background: #ffffff;\n box-shadow: 0px 4px 6px 0px rgba(102, 102, 102, 0.07);\n border-radius: 28px;\n .notice-container {\n .title {\n font-size: 11px;\n font-weight: bold;\n color: #111111;\n margin-bottom: 16px;\n }\n .sub-title {\n .red {\n color: #d12c2d;\n }\n .bule {\n color: #0dbba3;\n }\n }\n .confirm-btn {\n display: inline-block;\n background: #07ad97;\n border-radius: 2px;\n font-size: 9px;\n font-weight: 500;\n color: #ffffff;\n text-align: center;\n cursor: pointer;\n user-select: none;\n height: 22px;\n line-height: 22px;\n padding: 0 17px;\n }\n }\n .report {\n .sub-title {\n margin-bottom: 50px;\n }\n }\n }\n }\n }\n .datesel{\n &::v-deep(.ant-calendar-time-picker-select){\n width: 50% !important;\n &:last-child{\n display: none;\n }\n }\n }\n}\n</style>","import SetCache from './_SetCache.js';\nimport arrayIncludes from './_arrayIncludes.js';\nimport arrayIncludesWith from './_arrayIncludesWith.js';\nimport arrayMap from './_arrayMap.js';\nimport baseUnary from './_baseUnary.js';\nimport cacheHas from './_cacheHas.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * The base implementation of methods like `_.intersection`, without support\n * for iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of shared values.\n */\nfunction baseIntersection(arrays, iteratee, comparator) {\n var includes = comparator ? arrayIncludesWith : arrayIncludes,\n length = arrays[0].length,\n othLength = arrays.length,\n othIndex = othLength,\n caches = Array(othLength),\n maxLength = Infinity,\n result = [];\n\n while (othIndex--) {\n var array = arrays[othIndex];\n if (othIndex && iteratee) {\n array = arrayMap(array, baseUnary(iteratee));\n }\n maxLength = nativeMin(array.length, maxLength);\n caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n ? new SetCache(othIndex && array)\n : undefined;\n }\n array = arrays[0];\n\n var index = -1,\n seen = caches[0];\n\n outer:\n while (++index < length && result.length < maxLength) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (!(seen\n ? cacheHas(seen, computed)\n : includes(result, computed, comparator)\n )) {\n othIndex = othLength;\n while (--othIndex) {\n var cache = caches[othIndex];\n if (!(cache\n ? cacheHas(cache, computed)\n : includes(arrays[othIndex], computed, comparator))\n ) {\n continue outer;\n }\n }\n if (seen) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nexport default baseIntersection;\n","import isArrayLikeObject from './isArrayLikeObject.js';\n\n/**\n * Casts `value` to an empty array if it's not an array like object.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array|Object} Returns the cast array-like object.\n */\nfunction castArrayLikeObject(value) {\n return isArrayLikeObject(value) ? value : [];\n}\n\nexport default castArrayLikeObject;\n","import arrayMap from './_arrayMap.js';\nimport baseIntersection from './_baseIntersection.js';\nimport baseRest from './_baseRest.js';\nimport castArrayLikeObject from './_castArrayLikeObject.js';\n\n/**\n * Creates an array of unique values that are included in all given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersection([2, 1], [2, 3]);\n * // => [2]\n */\nvar intersection = baseRest(function(arrays) {\n var mapped = arrayMap(arrays, castArrayLikeObject);\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped)\n : [];\n});\n\nexport default intersection;\n","function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport { reactive, watch, nextTick } from '@vue/runtime-dom';\nimport cloneDeep from 'lodash-es/cloneDeep';\nimport intersection from 'lodash-es/intersection';\nimport isEqual from 'lodash-es/isEqual';\nimport debounce from 'lodash-es/debounce';\nimport omit from 'lodash-es/omit';\nimport { validateRules } from 'ant-design-vue/es/form/utils/validateUtil';\nimport { defaultValidateMessages } from 'ant-design-vue/es/form/utils/messages';\nimport { allPromiseFinish } from 'ant-design-vue/es/form/utils/asyncUtil';\n\nfunction isRequired(rules) {\n var isRequired = false;\n\n if (rules && rules.length) {\n rules.every(function (rule) {\n if (rule.required) {\n isRequired = true;\n return false;\n }\n\n return true;\n });\n }\n\n return isRequired;\n}\n\nfunction toArray(value) {\n if (value === undefined || value === null) {\n return [];\n }\n\n return Array.isArray(value) ? value : [value];\n} // const isArray = Array.isArray;\n// const isObject = (val: any) => val !== null && typeof val === 'object';\n// 重置到初始数据,并尽可能的保留响应式\n// function resetReactiveValue(originValue: Props, refValues: Props) {\n// for (const key of Object.keys(refValues)) {\n// if (!(key in originValue)) {\n// delete refValues[key];\n// }\n// }\n// for (const [key, value] of Object.entries(originValue)) {\n// const refValue = refValues[key];\n// if (isArray(value) && isArray(refValue)) {\n// if (value.length <= refValue.length) {\n// refValue.splice(value.length, refValue.length - value.length);\n// } else {\n// refValue.push(...value.slice(refValue.length));\n// }\n// value.forEach((val, index) => {\n// refValues[key][index] = resetReactiveValue(val, refValue[index]);\n// });\n// } else if (isObject(value) && isObject(refValue)) {\n// refValues[key] = resetReactiveValue(value, refValue);\n// } else {\n// refValues[key] = value;\n// }\n// }\n// return refValues;\n// }\n\n\nfunction getPropByPath(obj, path, strict) {\n var tempObj = obj;\n path = path.replace(/\\[(\\w+)\\]/g, '.$1');\n path = path.replace(/^\\./, '');\n var keyArr = path.split('.');\n var i = 0;\n\n for (var len = keyArr.length; i < len - 1; ++i) {\n if (!tempObj && !strict) break;\n var key = keyArr[i];\n\n if (key in tempObj) {\n tempObj = tempObj[key];\n } else {\n if (strict) {\n throw new Error('please transfer a valid name path to validate!');\n }\n\n break;\n }\n }\n\n return {\n o: tempObj,\n k: keyArr[i],\n v: tempObj ? tempObj[keyArr[i]] : null,\n isValid: tempObj && keyArr[i] in tempObj\n };\n}\n\nfunction useForm(modelRef, rulesRef, options) {\n var initialModel = cloneDeep(modelRef);\n var validateInfos = {};\n Object.keys(rulesRef).forEach(function (key) {\n validateInfos[key] = {\n autoLink: false,\n required: isRequired(rulesRef[key])\n };\n });\n validateInfos = reactive(validateInfos);\n\n var resetFields = function resetFields() {\n _extends(modelRef, cloneDeep(initialModel)); //modelRef = resetReactiveValue(initialModel, modelRef);\n\n\n nextTick(function () {\n Object.keys(validateInfos).forEach(function (key) {\n validateInfos[key] = {\n autoLink: false,\n required: isRequired(rulesRef[key])\n };\n });\n });\n };\n\n var filterRules = function filterRules() {\n var rules = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var trigger = arguments.length > 1 ? arguments[1] : undefined;\n\n if (!trigger.length) {\n return rules;\n } else {\n return rules.filter(function (rule) {\n var triggerList = toArray(rule.trigger || 'change');\n return intersection(triggerList, trigger).length;\n });\n }\n };\n\n var lastValidatePromise = null;\n\n var validateFields = function validateFields(names) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var strict = arguments.length > 2 ? arguments[2] : undefined;\n var promiseList = [];\n var values = {};\n\n var _loop = function _loop(i) {\n var name = names[i];\n var prop = getPropByPath(modelRef, name, strict);\n if (!prop.isValid) return \"continue\";\n values[name] = prop.v;\n var rules = filterRules(rulesRef[name], toArray(option && option.trigger));\n\n if (rules.length) {\n promiseList.push(validateField(name, prop.v, rules, option || {}).then(function () {\n return {\n name: name,\n errors: []\n };\n })[\"catch\"](function (errors) {\n return Promise.reject({\n name: name,\n errors: errors\n });\n }));\n }\n };\n\n for (var i = 0; i < names.length; i++) {\n var _ret = _loop(i);\n\n if (_ret === \"continue\") continue;\n }\n\n var summaryPromise = allPromiseFinish(promiseList);\n lastValidatePromise = summaryPromise;\n var returnPromise = summaryPromise.then(function () {\n if (lastValidatePromise === summaryPromise) {\n return Promise.resolve(values);\n }\n\n return Promise.reject([]);\n })[\"catch\"](function (results) {\n var errorList = results.filter(function (result) {\n return result && result.errors.length;\n });\n return Promise.reject({\n values: values,\n errorFields: errorList,\n outOfDate: lastValidatePromise !== summaryPromise\n });\n }); // Do not throw in console\n\n returnPromise[\"catch\"](function (e) {\n return e;\n });\n return returnPromise;\n };\n\n var validateField = function validateField(name, value, rules, option) {\n var promise = validateRules([name], value, rules, _objectSpread({\n validateMessages: defaultValidateMessages\n }, option), !!option.validateFirst);\n validateInfos[name].validateStatus = 'validating';\n promise[\"catch\"](function (e) {\n return e;\n }).then(function () {\n var errors = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n if (validateInfos[name].validateStatus === 'validating') {\n validateInfos[name].validateStatus = errors.length ? 'error' : 'success';\n validateInfos[name].help = errors[0];\n }\n });\n return promise;\n };\n\n var validate = function validate(names, option) {\n var keys = [];\n var strict = true;\n\n if (!names) {\n strict = false;\n keys = Object.keys(rulesRef);\n } else if (Array.isArray(names)) {\n keys = names;\n } else {\n keys = [names];\n }\n\n var promises = validateFields(keys, option || {}, strict); // Do not throw in console\n\n promises[\"catch\"](function (e) {\n return e;\n });\n return promises;\n };\n\n var mergeValidateInfo = function mergeValidateInfo() {\n var items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var info = {\n autoLink: false\n };\n var help = [];\n var infos = Array.isArray(items) ? items : [items];\n\n for (var i = 0; i < infos.length; i++) {\n var arg = infos[i];\n\n if ((arg === null || arg === void 0 ? void 0 : arg.validateStatus) === 'error') {\n info.validateStatus = 'error';\n arg.help && help.push(arg.help);\n }\n\n info.required = info.required || (arg === null || arg === void 0 ? void 0 : arg.required);\n }\n\n info.help = help.join('\\n');\n return info;\n };\n\n var oldModel = initialModel;\n\n var modelFn = function modelFn(model) {\n var names = [];\n Object.keys(rulesRef).forEach(function (key) {\n var prop = getPropByPath(model, key, false);\n var oldProp = getPropByPath(oldModel, key, false);\n\n if (!isEqual(prop.v, oldProp.v)) {\n names.push(key);\n }\n });\n validate(names, {\n trigger: 'change'\n });\n oldModel = cloneDeep(model);\n };\n\n var debounceOptions = options === null || options === void 0 ? void 0 : options.debounce;\n watch(modelRef, debounceOptions && debounceOptions.wait ? debounce(modelFn, debounceOptions.wait, omit(debounceOptions, ['wait'])) : modelFn, {\n immediate: options && !!options.immediate,\n deep: true\n });\n watch(rulesRef, function () {\n if (options && options.validateOnRuleChange) {\n validate();\n }\n }, {\n deep: true\n });\n return {\n modelRef: modelRef,\n rulesRef: rulesRef,\n initialModel: initialModel,\n validateInfos: validateInfos,\n resetFields: resetFields,\n validate: validate,\n validateField: validateField,\n mergeValidateInfo: mergeValidateInfo\n };\n}\n\nexport default useForm;","function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { ref, watchEffect } from 'vue';\n\nfunction useInViewport(target) {\n var inViewPort = ref(null);\n var prevEl = null;\n var observer = new IntersectionObserver(function (entries) {\n var _iterator = _createForOfIteratorHelper(entries),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var entry = _step.value;\n\n if (entry.isIntersecting) {\n inViewPort.value = true;\n } else {\n inViewPort.value = false;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n });\n watchEffect(function () {\n if (prevEl) {\n observer.disconnect();\n }\n\n if (target.value) {\n observer.observe(target.value);\n }\n\n prevEl = target.value;\n });\n return inViewPort;\n}\n\nexport default useInViewport;","<template>\n <div class=\"rank-list\">\n <div class=\"list-thead\">\n <div class=\"ranking-number\">{{lan.$t('paiming')}}</div>\n <div class=\"user-info\">{{lan.$t(\"xingming\")}}</div>\n <div class=\"hits\">{{lan.$t(\"shipindianjiliang\")}}</div>\n </div>\n <div class=\"list-body\">\n <div class=\"rank-item\" v-for=\"(item,index) in newList\" :key=\"index\" :class=\"{'mine-item': item.isme }\">\n <div class=\"other-rank\" :class=\"{'mine-rank': item.isme }\">\n <div class=\"ranking-number\">\n <span v-if=\"item.isme\" class=\"mine\">{{lan.$t(\"wo\")}}</span>\n <div v-else>\n <img src=\"@/static/images/rank_first.png\" class=\"rank-img\" v-if=\"index === 0\" />\n <img src=\"@/static/images/rank_second.png\" class=\"rank-img\" v-else-if=\"index === 1\" />\n <img src=\"@/static/images/rank_third.png\" class=\"rank-img\" v-else-if=\"index === 2\" />\n <span class=\"other\" v-else>{{ item.rank }}</span>\n </div>\n </div>\n <div class=\"user-info\">\n <a-avatar :size=\"34\" :src=\"item.img\">\n <template v-slot:icon><UserOutlined /></template>\n </a-avatar>\n <span class=\"name\">{{ item.name }}</span>\n </div>\n <div class=\"hits\">{{ item.clicks }}</div>\n </div>\n <div class=\"third-ellipsis\" v-if=\"item.rank == 3\">...</div>\n <div class=\"twenty-ellipsis\" v-if=\"item.rank === deadLine\">\n <div class=\"third-ellipsis\">\n <div>...</div>\n </div>\n <div class=\"line\"></div>\n </div>\n </div>\n </div>\n </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, ref } from 'vue';\nimport { UserOutlined } from '@ant-design/icons-vue';\nimport { useI18n } from '@/utils/i18n';\n\nexport default defineComponent({\n name: 'RankList',\n components: {\n UserOutlined\n },\n props: {\n list: {\n type: Array\n }\n },\n setup(props) {\n const deadLine = ref(4); // 写死的合格线\n const list = ref(props.list);\n const lan = useI18n()\n let mineRank = 0; // 自己的排名\n list.value!.forEach((element: any) => {\n if(element.isme) {\n mineRank = element.rank;\n }\n });\n // 过滤数据\n const newList = list.value!.filter((item: any) => {\n return item.rank <= 3 || item.rank == deadLine.value || item.rank === mineRank || item.rank === mineRank - 1 || item.rank === mineRank + 1;\n })\n \n return {\n newList,\n deadLine,\n lan\n }\n }\n})\n</script>\n<style lang=\"scss\" scoped>\n.rank-list {\n @mixin rank-public {\n display: flex;\n align-items: center;\n .ranking-number {\n width: 135px;\n text-align: left;\n }\n .user-info {\n flex: 1;\n }\n .hits {\n width: 170px;\n text-align: center;\n }\n }\n .list-thead {\n @include rank-public;\n font-size: 11px;\n font-weight: 500;\n color: #656565;\n margin-bottom: 24px;\n }\n .list-body {\n .rank-item {\n position: relative;\n &:not(:last-child) {\n margin-bottom: 26px;\n }\n .other-rank {\n @include rank-public;\n }\n .mine-rank {\n // margin: 28px 0;\n width: calc(100% + 14px);\n display: flex;\n align-items: center;\n height: 56px;\n position: absolute;\n top: 0;\n left: -14px;\n background: #FFFFFF;\n box-shadow: 0px 3px 24px 0px rgba(58, 58, 58, 0.31);\n border-radius: 7px;\n box-sizing: border-box;\n padding-left: 14px;\n .hits {\n color: #0EBCA4;\n }\n }\n .ranking-number {\n .rank-img {\n width: 27px;\n height: 28px;\n }\n .other {\n display: inline-block;\n width: 27px;\n text-align: center;\n }\n .mine {\n color: #0DBBA3;\n }\n }\n .user-info {\n .name {\n margin-left: 11px;\n font-size: 11px;\n font-weight: bold;\n color: #000000;\n }\n }\n .hits {\n font-size: 11px;\n font-weight: bold;\n color: #111111;\n }\n .third-ellipsis {\n height: 10px;\n width: 28px;\n text-align: center;\n font-size: 15px;\n font-weight: bold;\n color: #666666;\n user-select: none;\n }\n .twenty-ellipsis {\n height: 20px;\n display: flex;\n align-items: flex-end;\n .third-ellipsis {\n width: 135px;\n text-align: left;\n line-height: 0px;\n > div {\n width: 27px;\n text-align: center;\n }\n }\n .line {\n width: 427px;\n height: 1px;\n background: #09AE99;\n }\n }\n }\n .mine-item {\n padding-bottom: 54px;\n }\n }\n}\n</style>","\nimport { defineComponent, ref } from 'vue';\nimport { UserOutlined } from '@ant-design/icons-vue';\nimport { useI18n } from '@/utils/i18n';\n\nexport default defineComponent({\n name: 'RankList',\n components: {\n UserOutlined\n },\n props: {\n list: {\n type: Array\n }\n },\n setup(props) {\n const deadLine = ref(4); // 写死的合格线\n const list = ref(props.list);\n const lan = useI18n()\n let mineRank = 0; // 自己的排名\n list.value!.forEach((element: any) => {\n if(element.isme) {\n mineRank = element.rank;\n }\n });\n // 过滤数据\n const newList = list.value!.filter((item: any) => {\n return item.rank <= 3 || item.rank == deadLine.value || item.rank === mineRank || item.rank === mineRank - 1 || item.rank === mineRank + 1;\n })\n \n return {\n newList,\n deadLine,\n lan\n }\n }\n})\n","import { render } from \"./RankList.vue?vue&type=template&id=60c8a4a4&scoped=true&bindings={}\"\nimport script from \"./RankList.vue?vue&type=script&lang=ts\"\nexport * from \"./RankList.vue?vue&type=script&lang=ts\"\n\nimport \"./RankList.vue?vue&type=style&index=0&id=60c8a4a4&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-60c8a4a4\"\n\nexport default script","\nimport {\n computed,\n defineComponent,\n onBeforeUpdate,\n onMounted,\n reactive,\n Ref,\n ref,\n toRaw,\n} from \"vue\";\nimport { PlaySquareOutlined, PlusOutlined } from \"@ant-design/icons-vue\";\nimport { useForm } from \"@ant-design-vue/use\";\nimport NavBottom from \"@/components/NavBottom.vue\";\nimport RankList from \"./RankList.vue\";\nimport { previewCover, provenimg, provenvideo } from \"@/utils/common\";\nimport { FromSend, ImgInfo } from \"@/types/index\";\nimport { uploadflie } from \"@/utils/vod\";\nimport { cancellive, getlivest, liveadd, liveinfo, setlive } from \"@/api\";\nimport { useRoute } from \"vue-router\";\nimport dayjs from \"dayjs\";\nimport { message } from \"ant-design-vue\";\nimport router from \"@/router\";\nimport { useI18n } from \"@/utils/i18n\";\nimport store from '@/store';\n\nexport default defineComponent({\n name: \"ReleaseWebcast\",\n components: {\n PlaySquareOutlined,\n PlusOutlined,\n NavBottom,\n RankList,\n },\n setup() {\n let issum = true;\n const lan: any = useI18n();\n // 表单数据\n const form = ref({\n title: \"\",\n img: \"\",\n fileid: 0,\n fileurl: \"\",\n fileduration: 0,\n dateline: \"\",\n livetime: \"\",\n livenumber: \"\",\n desc: \"\",\n });\n const isquxiao = ref(false)\n const uploadprogress: Ref<number> = ref(0);\n const uploadpicprogress: Ref<number> = ref(0);\n const videofile = ref<File>();\n const videos = ref<Array<any>>([]);\n const lives = ref<any>({});\n const jinzhi = ref(false)\n const isEntitled: Ref<boolean> = ref(false);\n\n /**\n * 验证直播时间\n */\n async function validateaLivetime(\n rule: unknown,\n value: number\n ): Promise<string | void> {\n console.log(value);\n if (value < 30 || value > 120) {\n return Promise.reject(\"*最短30min 最长120min\");\n } else {\n return Promise.resolve();\n }\n }\n /**\n * 验证直播人数\n */\n const validateLivenumber = async (\n rule: unknown,\n value: number\n ): Promise<string | void> => {\n console.log(value);\n if (value < 1 || value > 4) {\n return Promise.reject(\"**最少1人,最多4人\");\n } else {\n return Promise.resolve();\n }\n };\n // 验证规则\n const rules = reactive({\n livetime: [\n {\n validator: validateaLivetime,\n trigger: \"change\",\n },\n ],\n livenumber: [\n {\n validator: validateLivenumber,\n trigger: \"change\",\n },\n ],\n });\n\n // 是否显示封面预览 封面的路径\n const viewCover: Ref<boolean> = ref(false);\n const previewImage: Ref<string> = ref(\"\");\n\n /**\n * 封面改变触发事件\n */\n\n function coverChange(info: ImgInfo): void {\n // console.log(info);\n // 获取预览图片\n previewCover(info.file).then((url) => (previewImage.value = url));\n viewCover.value = true;\n // form.cover = fileList;\n }\n function fankui() {\n router.push({ path: \"/mine/aboutus\", query: { selected: 3 } });\n }\n const { resetFields, validate, validateInfos } = useForm(form, rules);\n\n /**\n * 表单提交\n */\n\n // const subdata = ref({\n // title: \"\",\n // img: \"\",\n // fileid: \"\",\n // fileurl: \"\",\n // fileduration: \"\",\n // dateline: \"\",\n // livetime: \"\",\n // livenumber: \"\",\n // desc: \"\",\n // });\n /**\n * todo 需要后台返回年份\n */\n const id = useRoute().query.id;\n const isbianji = ref(id);\n if (id != null && typeof id == \"string\") {\n liveinfo(parseInt(id)).then((res) => {\n form.value = res;\n });\n }\n const seting = computed(() => store.state.seting)\n const onSubmit = (e: FromSend) => {\n if(jinzhi.value){\n isEntitled.value = true;\n\n }\n if(!issum){\n message.error(lan.$t(\"shangchuanwancheng\"))\n return; \n }\n e.preventDefault();\n validate()\n .then(() => {\n // else if (subdata.fileurl == \"\") {\n // message.error(lan.$t('shipinjieshaoweikong'));\n // return;\n // }\n console.log(seting.value)\n\n console.log(toRaw(form), 111);\n const subdata: any = toRaw(form.value);\n if (subdata.title == \"\") {\n message.error(lan.$t('zhibobiaotiweikong'));\n return;\n } else if (subdata.img == \"\") {\n message.error(lan.$t('zhibofengmianweikong'));\n return;\n } else if (subdata.dateline == \"\") {\n message.error(lan.$t('kaishishijianweikong'));\n return;\n } else if (subdata.livetime == \"\") {\n message.error(lan.$t('zhiboshichangweikong'));\n return;\n } else if (subdata.livenumber == \"\") {\n message.error(lan.$t('zhiborenshuweikong'));\n return;\n } else {\n if(subdata.livetime < parseInt(seting.value.timeLowerLimit) || subdata.livetime > parseInt(seting.value.timeCeiling)){\n // console.log(subdata.livetime, subdata.livetime < seting.value.timeLowerLimit || subdata.livetime > seting.value.timeCeiling)\n message.error(lan.$t('shichangtishi'));\n return ;\n }\n if(subdata.livenumber > parseInt(seting.value.numberCeiling) || subdata.livenumber < parseInt(seting.value.lowerLimit)){\n message.error(lan.$t('renshutishi'));\n return ;\n }\n if (!lives.value.status) {\n // subdata.fileid=picinfo.\n if (id != undefined && id) {\n /**\n * todo 提交会报错 编辑直播\n */\n subdata.id = id;\n setlive(subdata)\n } else {\n console.log(subdata);\n console.log(lives.value);\n liveadd(subdata);\n }\n } else {\n message.error(lan.$t('wuzhibozigeale'));\n }\n }\n })\n .catch((err: unknown) => {\n console.log(\"error\", err);\n });\n };\n /**\n * 隐藏无资格提示\n */\n function hideNoticeModal(): void {\n isEntitled.value = false;\n }\n\n /**\n * 开始时间设置\n */\n\n function startchange(e: string): void {\n // const month = new Date(e).getMonth()+1\n // console.log(new Date(e).getFullYear()+\"-\"+month+'-'+new Date(e).getDate())\n // console.log(e.toString())\n const time = dayjs(new Date(e));\n const timestr =\n time.year() +\n \"-\" +\n (time.month() + 1) +\n \"-\" +\n time.date() +\n \" \" +\n time.hour() +\n \":\" +\n time.minute() +\n \":\" +\n time.second();\n console.log(timestr);\n form.value.dateline = timestr;\n }\n /**\n * 上传文件\n */\n const videoinfo = reactive({\n fileId: \"\",\n url: \"\",\n });\n const picinfo = reactive({\n fileId: \"\",\n url: \"\",\n });\n interface AntUpload {\n action: string;\n data: unknown;\n file: File;\n }\n const ifallowupload = ref<boolean>(false);\n function beforeUpload(info?: any) {\n console.log(info);\n if (info.type.split(\"/\")[0] != \"video\") {\n ifallowupload.value = false;\n message.error(lan.$t('shipinjieshaoccuowu'));\n return;\n } else {\n ifallowupload.value = true;\n }\n }\n async function uploads(file: AntUpload) {\n issum = false;\n console.log(file);\n videofile.value = file.file;\n videos.value[0].addEventListener(\"durationchange\", () => {\n console.log(videos.value[0].duration);\n form.value.fileduration = videos.value[0].duration;\n });\n uploadprogress.value = 1;\n const res = await uploadflie(file.file, (info: any) => {\n console.log(info);\n // const jindu = info.percent.toFixed(2) * 100\n let jindu: number = info.percent.toFixed(2) * 100;\n jindu = parseInt(jindu + \"\");\n uploadprogress.value = jindu > 0 ? jindu : 1;\n });\n console.log(res);\n\n form.value.fileid = res.fileId;\n form.value.fileurl = res.video.url;\n issum = true;\n }\n const ifallowpic = ref<boolean>(false);\n async function uploadspic(file: AntUpload) {\n uploadpicprogress.value = 1;\n const res = await uploadflie(file.file, (info: any) => {\n console.log(info);\n let jindu: number = info.percent.toFixed(2) * 100;\n jindu = parseInt(jindu + \"\");\n uploadpicprogress.value = jindu || 1;\n });\n console.log(res);\n\n // picinfo.fileId=res.fileId\n // picinfo.url=res.video.url\n form.value.img = res.video.url;\n }\n getlivest().then((res) => {\n if (res) {\n isEntitled.value = true;\n lives.value = res;\n jinzhi.value = true;\n }\n });\n function beforeUploadpic(info?: any) {\n console.log(info);\n if (info.type.split(\"/\")[0] != \"image\") {\n message.error(lan.$t('fengmiangeshi'));\n ifallowpic.value = false;\n return;\n } else {\n ifallowpic.value = true;\n }\n }\n\n function disabledDate(current: any){\n console.log(current + 0)\n const now = dayjs().date(dayjs().date() - 1);\n return current && current < now;\n }\n\n function onquxiao(){\n isquxiao.value = false;\n if (id != null && typeof id == \"string\") {\n cancellive(parseInt(id), 3).then((res)=>{\n if(res){\n router.push(\"/regime/live\")\n }\n })\n }\n }\n function video(file: any){\n if(jinzhi.value){\n isEntitled.value = true;\n return false;\n }\n return provenvideo(file)\n }\n function imgs(file: any){\n if(jinzhi.value){\n isEntitled.value = true;\n return false;\n }\n return provenimg(file)\n }\n const view = computed(()=>store.state.seting.views)\n return {\n labelCol: { span: 4 },\n wrapperCol: { span: 14 },\n modalNode: () =>\n document.getElementsByClassName(\"modal-container\")[0],\n validateInfos,\n resetFields,\n viewCover,\n previewImage,\n coverChange,\n form,\n onSubmit,\n isEntitled,\n hideNoticeModal,\n uploads,\n uploadprogress,\n videoinfo,\n uploadspic,\n uploadpicprogress,\n picinfo,\n startchange,\n videofile,\n videos,\n lives,\n beforeUploadpic,\n ifallowpic,\n beforeUpload,\n ifallowupload,\n fankui,\n lan,\n disabledDate,\n isbianji,\n onquxiao,\n isquxiao,\n video,\n imgs,\n jinzhi,\n view\n };\n },\n});\n","import { render } from \"./ReleaseWebcast.vue?vue&type=template&id=fab6ab04&scoped=true&bindings={}\"\nimport script from \"./ReleaseWebcast.vue?vue&type=script&lang=ts\"\nexport * from \"./ReleaseWebcast.vue?vue&type=script&lang=ts\"\n\nimport \"./ReleaseWebcast.vue?vue&type=style&index=0&id=fab6ab04&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-fab6ab04\"\n\nexport default script","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./RankList.vue?vue&type=style&index=0&id=60c8a4a4&lang=scss&scoped=true\"","module.exports = __webpack_public_path__ + \"img/rank_first.87f7067d.png\";","module.exports = __webpack_public_path__ + \"img/rank_third.65fdcf57.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./ReleaseWebcast.vue?vue&type=style&index=0&id=fab6ab04&lang=scss&scoped=true\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjRGNkU1MzA2MkIxQjExRUI4OUEzQUYxRkFFODM5RTc3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjRGNkU1MzA3MkIxQjExRUI4OUEzQUYxRkFFODM5RTc3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NEY2RTUzMDQyQjFCMTFFQjg5QTNBRjFGQUU4MzlFNzciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NEY2RTUzMDUyQjFCMTFFQjg5QTNBRjFGQUU4MzlFNzciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7zy1bGAAAD1klEQVR42sSYe2jNYRjHz+5mc9kWpbFmxqIpU5NJM2OW29D+cJlLEZNkMhoRUlhuKYb5Q7lPzbRQyDDkfqklMZSFhtxmM2aX4/vU8+bx63d2zvv7nTlPfTrv+57f5ft7L8/7PK+f0+l0hJ4pdti0UNAZBAB/0AJ+gUbQZufBgRbviwHTQQYYAcJcXNcKqsAVcBrc1n2Rn2YPpoECkEn3WviwarAdHAG/vSmwL9gDJrr4vw684F8a3nAQC6JdXP8SLAUXvTHEs8EBwzA6QSU4CSrAKxf3RoJUMA1ki2fEgwugCOSDJis9SEO4Daw0tJ8Am8FTzeHtDpbx87qIdpqXk8AXs5v823ngPoO412AUyLEgjuwb2AQGgvOiPYVHI0pH4EawWNRprgwF1x327R2YDNaJtkRwDnTyROB4sEHUyT1kga8O75mTp0muaBsOdrsTGAEOizr12CxPXYIFOwjWinoud5BLgVtADy5/ZGfcUeKUbeXhVbYXBJsJpN1hgajngfeaL+sFBlsY7kWgnutxYL6ZwBUgiMt3QYnmi+LZAVcZ5pYnVss9qSxf7VRKYBDPNTnUupbCAYMq69p+0Yv0sSOlwFQx9z4Y/JSnFmBzLpKfLBX1bClwtPijnKMQX1iZKKdLgcnij2sO39kNXjTKeQcogQnioic+FEjRUI2IBcKUwJ7iohqHb+2NKIf4i5Bd2XcfC5RbaqC/ZoTzPyzQTEy9aIvyscAIUW5WAt+KxjiLD27g+Ut8siEwXpR/KoHPRGOSxQeXch4SaxKFe2q9xYZBQUqjEnhLXDTWh8ObLsp3yCcqgRXijwmgq40eSLIhcIYoX5aL5LEYZnI5cyzOHUo9H3FKqWv9wDhRLzG6lEOiXGCWH7ix/uKeRAsCV4uAo5I/9h+BFO585nIfsEbzBZfADs5hCjXvTTYEy4Wu8uI8kbg0c0x2r4MXBp1CPBDxAJ3jjHG1axTxfFRBbBlP/I4yGtKjQhydiC1pb1tr4USpgevRvJo6QmQgZ5BTRdty8NzdvkuTc6bj77leAh9PDPOiuEjO5HIMJxnFngYGdPNcIZJ68CYn9CE2xWVxYpUp2o7xuY1W5HIcTAE/xJykI5FqPhYJ1xBF78ngaL3ccCy3kzujVfd0S9kAcAoMMbST8LO8Cz3kIzgVSwbznkz+MI0/NMYkSVpoSJQsCVQTmoZgPejmJglvlicDJtbGQ7qKTy/cdr0nRqt7FzvwAuXlzT64HXF1vAho0c3zRJxOD7ry/uRQ6RB9EIsPFj1Zyx9CTvgqu6smW+G1pt1njD3oEKmjbfsjwACyG9+vkjY46gAAAABJRU5ErkJggg==\"","// This icon file is generated automatically.\nvar UserOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M858.5 763.6a374 374 0 00-80.6-119.5 375.63 375.63 0 00-119.5-80.6c-.4-.2-.8-.3-1.2-.5C719.5 518 760 444.7 760 362c0-137-111-248-248-248S264 225 264 362c0 82.7 40.5 156 102.8 201.1-.4.2-.8.3-1.2.5-44.8 18.9-85 46-119.5 80.6a375.63 375.63 0 00-80.6 119.5A371.7 371.7 0 00136 901.8a8 8 0 008 8.2h60c4.4 0 7.9-3.5 8-7.8 2-77.2 33-149.5 87.8-204.3 56.7-56.7 132-87.9 212.2-87.9s155.5 31.2 212.2 87.9C779 752.7 810 825 812 902.2c.1 4.4 3.6 7.8 8 7.8h60a8 8 0 008-8.2c-1-47.8-10.9-94.3-29.5-138.2zM512 534c-45.9 0-89.1-17.9-121.6-50.4S340 407.9 340 362c0-45.9 17.9-89.1 50.4-121.6S466.1 190 512 190s89.1 17.9 121.6 50.4S684 316.1 684 362c0 45.9-17.9 89.1-50.4 121.6S557.9 534 512 534z\" } }] }, \"name\": \"user\", \"theme\": \"outlined\" };\nexport default UserOutlined;\n","import * as _vue from \"vue\";\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport UserOutlinedSvg from \"@ant-design/icons-svg/es/asn/UserOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar UserOutlined = function UserOutlined(props, context) {\n var p = _objectSpread({}, props, context.attrs);\n\n return _vue.createVNode(AntdIcon, _vue.mergeProps(p, {\n \"icon\": UserOutlinedSvg\n }), null);\n};\n\nUserOutlined.displayName = 'UserOutlined';\nUserOutlined.inheritAttrs = false;\nexport default UserOutlined;"],"sourceRoot":""} |