yc-ui2 0.1.2-beta12 → 0.1.2-beta14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/img/password.04ba67f0.svg +1 -0
- package/dist/yc-ui2.common.js +7341 -736
- package/dist/yc-ui2.common.js.map +1 -1
- package/dist/yc-ui2.css +1 -1
- package/dist/yc-ui2.umd.js +7341 -736
- package/dist/yc-ui2.umd.js.map +1 -1
- package/dist/yc-ui2.umd.min.js +1 -1
- package/dist/yc-ui2.umd.min.js.map +1 -1
- package/package.json +5 -2
- package/src/App.vue +36 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"yc-ui2.umd.min.js","mappings":"CAAA,SAA2CA,EAAMC,GAC1B,kBAAZC,SAA0C,kBAAXC,OACxCA,OAAOD,QAAUD,IACQ,oBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,GACe,kBAAZC,QACdA,QAAQ,UAAYD,IAEpBD,EAAK,UAAYC,GAClB,EATD,CASoB,qBAATK,KAAuBA,KAAOC,MAAO,WAChD,O,oDCTA,IAAIC,EAAa,EAAQ,KACrBC,EAAc,EAAQ,MAEtBC,EAAaC,UAGjBR,EAAOD,QAAU,SAAUU,GACzB,GAAIJ,EAAWI,GAAW,OAAOA,EACjC,MAAM,IAAIF,EAAWD,EAAYG,GAAY,qBAC/C,C,uBCTA,IAAIC,EAAW,EAAQ,KAEnBC,EAAUC,OACVL,EAAaC,UAGjBR,EAAOD,QAAU,SAAUU,GACzB,GAAIC,EAASD,GAAW,OAAOA,EAC/B,MAAM,IAAIF,EAAWI,EAAQF,GAAY,oBAC3C,C,uBCTA,IAAII,EAAkB,EAAQ,MAC1BC,EAAkB,EAAQ,MAC1BC,EAAoB,EAAQ,MAG5BC,EAAe,SAAUC,GAC3B,OAAO,SAAUC,EAAOC,EAAIC,GAC1B,IAGIC,EAHAC,EAAIT,EAAgBK,GACpBK,EAASR,EAAkBO,GAC3BE,EAAQV,EAAgBM,EAAWG,GAIvC,GAAIN,GAAeE,IAAOA,GAAI,MAAOI,EAASC,EAG5C,GAFAH,EAAQC,EAAEE,KAENH,IAAUA,EAAO,OAAO,OAEvB,KAAME,EAASC,EAAOA,IAC3B,IAAKP,GAAeO,KAASF,IAAMA,EAAEE,KAAWL,EAAI,OAAOF,GAAeO,GAAS,EACnF,OAAQP,IAAgB,CAC5B,CACF,EAEAjB,EAAOD,QAAU,CAGf0B,SAAUT,GAAa,GAGvBU,QAASV,GAAa,G,uBC9BxB,IAAIW,EAAc,EAAQ,MACtBC,EAAU,EAAQ,MAElBrB,EAAaC,UAEbqB,EAA2BC,OAAOD,yBAGlCE,EAAoCJ,IAAgB,WAEtD,QAAaK,IAAT5B,KAAoB,OAAO,EAC/B,IAEE0B,OAAOG,eAAe,GAAI,SAAU,CAAEC,UAAU,IAASX,OAAS,CACpE,CAAE,MAAOY,GACP,OAAOA,aAAiB3B,SAC1B,CACF,CATwD,GAWxDR,EAAOD,QAAUgC,EAAoC,SAAUT,EAAGC,GAChE,GAAIK,EAAQN,KAAOO,EAAyBP,EAAG,UAAUY,SACvD,MAAM,IAAI3B,EAAW,gCACrB,OAAOe,EAAEC,OAASA,CACtB,EAAI,SAAUD,EAAGC,GACf,OAAOD,EAAEC,OAASA,CACpB,C,uBCzBA,IAAIa,EAAc,EAAQ,MAEtBC,EAAWD,EAAY,CAAC,EAAEC,UAC1BC,EAAcF,EAAY,GAAGG,OAEjCvC,EAAOD,QAAU,SAAUyC,GACzB,OAAOF,EAAYD,EAASG,GAAK,GAAI,EACvC,C,uBCPA,IAAIC,EAAS,EAAQ,MACjBC,EAAU,EAAQ,MAClBC,EAAiC,EAAQ,MACzCC,EAAuB,EAAQ,MAEnC5C,EAAOD,QAAU,SAAU8C,EAAQC,EAAQC,GAIzC,IAHA,IAAIC,EAAON,EAAQI,GACfb,EAAiBW,EAAqBK,EACtCpB,EAA2Bc,EAA+BM,EACrDC,EAAI,EAAGA,EAAIF,EAAKzB,OAAQ2B,IAAK,CACpC,IAAIC,EAAMH,EAAKE,GACVT,EAAOI,EAAQM,IAAUJ,GAAcN,EAAOM,EAAYI,IAC7DlB,EAAeY,EAAQM,EAAKtB,EAAyBiB,EAAQK,GAEjE,CACF,C,uBCfA,IAAIxB,EAAc,EAAQ,MACtBiB,EAAuB,EAAQ,MAC/BQ,EAA2B,EAAQ,MAEvCpD,EAAOD,QAAU4B,EAAc,SAAU0B,EAAQF,EAAK9B,GACpD,OAAOuB,EAAqBK,EAAEI,EAAQF,EAAKC,EAAyB,EAAG/B,GACzE,EAAI,SAAUgC,EAAQF,EAAK9B,GAEzB,OADAgC,EAAOF,GAAO9B,EACPgC,CACT,C,mBCTArD,EAAOD,QAAU,SAAUuD,EAAQjC,GACjC,MAAO,CACLkC,aAAuB,EAATD,GACdE,eAAyB,EAATF,GAChBpB,WAAqB,EAAToB,GACZjC,MAAOA,EAEX,C,uBCPA,IAAIhB,EAAa,EAAQ,KACrBuC,EAAuB,EAAQ,MAC/Ba,EAAc,EAAQ,MACtBC,EAAuB,EAAQ,MAEnC1D,EAAOD,QAAU,SAAUuB,EAAG6B,EAAK9B,EAAOsC,GACnCA,IAASA,EAAU,CAAC,GACzB,IAAIC,EAASD,EAAQJ,WACjBM,OAAwB7B,IAAjB2B,EAAQE,KAAqBF,EAAQE,KAAOV,EAEvD,GADI9C,EAAWgB,IAAQoC,EAAYpC,EAAOwC,EAAMF,GAC5CA,EAAQG,OACNF,EAAQtC,EAAE6B,GAAO9B,EAChBqC,EAAqBP,EAAK9B,OAC1B,CACL,IACOsC,EAAQI,OACJzC,EAAE6B,KAAMS,GAAS,UADEtC,EAAE6B,EAEhC,CAAE,MAAOhB,GAAqB,CAC1ByB,EAAQtC,EAAE6B,GAAO9B,EAChBuB,EAAqBK,EAAE3B,EAAG6B,EAAK,CAClC9B,MAAOA,EACPkC,YAAY,EACZC,cAAeG,EAAQK,gBACvB9B,UAAWyB,EAAQM,aAEvB,CAAE,OAAO3C,CACX,C,uBC1BA,IAAIwC,EAAS,EAAQ,MAGjB7B,EAAiBH,OAAOG,eAE5BjC,EAAOD,QAAU,SAAUoD,EAAK9B,GAC9B,IACEY,EAAe6B,EAAQX,EAAK,CAAE9B,MAAOA,EAAOmC,cAAc,EAAMtB,UAAU,GAC5E,CAAE,MAAOC,GACP2B,EAAOX,GAAO9B,CAChB,CAAE,OAAOA,CACX,C,uBCXA,IAAI6C,EAAQ,EAAQ,MAGpBlE,EAAOD,SAAWmE,GAAM,WAEtB,OAA+E,IAAxEpC,OAAOG,eAAe,CAAC,EAAG,EAAG,CAAEkC,IAAK,WAAc,OAAO,CAAG,IAAK,EAC1E,G,mBCNA,IAAIC,EAAiC,iBAAZC,UAAwBA,SAASC,IAItDC,EAAmC,oBAAfH,QAA8CpC,IAAhBoC,EAEtDpE,EAAOD,QAAU,CACfuE,IAAKF,EACLG,WAAYA,E,sBCRd,IAAIT,EAAS,EAAQ,MACjBpD,EAAW,EAAQ,KAEnB2D,EAAWP,EAAOO,SAElBG,EAAS9D,EAAS2D,IAAa3D,EAAS2D,EAASI,eAErDzE,EAAOD,QAAU,SAAUyC,GACzB,OAAOgC,EAASH,EAASI,cAAcjC,GAAM,CAAC,CAChD,C,mBCTA,IAAIjC,EAAaC,UACbkE,EAAmB,iBAEvB1E,EAAOD,QAAU,SAAUyC,GACzB,GAAIA,EAAKkC,EAAkB,MAAMnE,EAAW,kCAC5C,OAAOiC,CACT,C,mBCNAxC,EAAOD,QAA8B,oBAAb4E,WAA4B/D,OAAO+D,UAAUC,YAAc,E,uBCAnF,IAOIC,EAAOC,EAPPhB,EAAS,EAAQ,MACjBc,EAAY,EAAQ,MAEpBG,EAAUjB,EAAOiB,QACjBC,EAAOlB,EAAOkB,KACdC,EAAWF,GAAWA,EAAQE,UAAYD,GAAQA,EAAKF,QACvDI,EAAKD,GAAYA,EAASC,GAG1BA,IACFL,EAAQK,EAAGC,MAAM,KAGjBL,EAAUD,EAAM,GAAK,GAAKA,EAAM,GAAK,EAAI,IAAMA,EAAM,GAAKA,EAAM,MAK7DC,GAAWF,IACdC,EAAQD,EAAUC,MAAM,iBACnBA,GAASA,EAAM,IAAM,MACxBA,EAAQD,EAAUC,MAAM,iBACpBA,IAAOC,GAAWD,EAAM,MAIhC7E,EAAOD,QAAU+E,C,kBCzBjB9E,EAAOD,QAAU,CACf,cACA,iBACA,gBACA,uBACA,iBACA,WACA,U,uBCRF,IAAI+D,EAAS,EAAQ,MACjBjC,EAA2B,UAC3BuD,EAA8B,EAAQ,MACtCC,EAAgB,EAAQ,MACxB3B,EAAuB,EAAQ,MAC/B4B,EAA4B,EAAQ,MACpCC,EAAW,EAAQ,MAiBvBvF,EAAOD,QAAU,SAAU4D,EAASb,GAClC,IAGI0C,EAAQ3C,EAAQM,EAAKsC,EAAgBC,EAAgBC,EAHrDC,EAASjC,EAAQd,OACjBgD,EAASlC,EAAQG,OACjBgC,EAASnC,EAAQoC,KASrB,GANElD,EADEgD,EACO/B,EACAgC,EACAhC,EAAO8B,IAAWlC,EAAqBkC,EAAQ,CAAC,IAE/C9B,EAAO8B,IAAW,CAAC,GAAGI,UAE9BnD,EAAQ,IAAKM,KAAOL,EAAQ,CAQ9B,GAPA4C,EAAiB5C,EAAOK,GACpBQ,EAAQsC,gBACVN,EAAa9D,EAAyBgB,EAAQM,GAC9CsC,EAAiBE,GAAcA,EAAWtE,OACrCoE,EAAiB5C,EAAOM,GAC/BqC,EAASD,EAASM,EAAS1C,EAAMyC,GAAUE,EAAS,IAAM,KAAO3C,EAAKQ,EAAQuC,SAEzEV,QAA6BxD,IAAnByD,EAA8B,CAC3C,UAAWC,UAAyBD,EAAgB,SACpDH,EAA0BI,EAAgBD,EAC5C,EAEI9B,EAAQwC,MAASV,GAAkBA,EAAeU,OACpDf,EAA4BM,EAAgB,QAAQ,GAEtDL,EAAcxC,EAAQM,EAAKuC,EAAgB/B,EAC7C,CACF,C,mBCrDA3D,EAAOD,QAAU,SAAUqG,GACzB,IACE,QAASA,GACX,CAAE,MAAOjE,GACP,OAAO,CACT,CACF,C,uBCNA,IAAI+B,EAAQ,EAAQ,MAEpBlE,EAAOD,SAAWmE,GAAM,WAEtB,IAAImC,EAAO,WAA4B,EAAEC,OAEzC,MAAsB,mBAARD,GAAsBA,EAAKE,eAAe,YAC1D,G,uBCPA,IAAIC,EAAc,EAAQ,MAEtBC,EAAOC,SAASV,UAAUS,KAE9BzG,EAAOD,QAAUyG,EAAcC,EAAKH,KAAKG,GAAQ,WAC/C,OAAOA,EAAKE,MAAMF,EAAMG,UAC1B,C,uBCNA,IAAIjF,EAAc,EAAQ,MACtBc,EAAS,EAAQ,MAEjBoE,EAAoBH,SAASV,UAE7Bc,EAAgBnF,GAAeG,OAAOD,yBAEtC2C,EAAS/B,EAAOoE,EAAmB,QAEnCE,EAASvC,GAA0D,cAAhD,WAAqC,EAAEX,KAC1DmD,EAAexC,KAAY7C,GAAgBA,GAAemF,EAAcD,EAAmB,QAAQrD,cAEvGxD,EAAOD,QAAU,CACfyE,OAAQA,EACRuC,OAAQA,EACRC,aAAcA,E,uBCfhB,IAAIR,EAAc,EAAQ,MAEtBK,EAAoBH,SAASV,UAC7BS,EAAOI,EAAkBJ,KACzBQ,EAAsBT,GAAeK,EAAkBP,KAAKA,KAAKG,EAAMA,GAE3EzG,EAAOD,QAAUyG,EAAcS,EAAsB,SAAUC,GAC7D,OAAO,WACL,OAAOT,EAAKE,MAAMO,EAAIN,UACxB,CACF,C,uBCVA,IAAI9C,EAAS,EAAQ,MACjBzD,EAAa,EAAQ,KAErB8G,EAAY,SAAU1G,GACxB,OAAOJ,EAAWI,GAAYA,OAAWuB,CAC3C,EAEAhC,EAAOD,QAAU,SAAUqH,EAAWC,GACpC,OAAOT,UAAUrF,OAAS,EAAI4F,EAAUrD,EAAOsD,IAActD,EAAOsD,IAActD,EAAOsD,GAAWC,EACtG,C,uBCTA,IAAIC,EAAY,EAAQ,MACpBC,EAAoB,EAAQ,MAIhCvH,EAAOD,QAAU,SAAUyH,EAAGC,GAC5B,IAAIC,EAAOF,EAAEC,GACb,OAAOF,EAAkBG,QAAQ1F,EAAYsF,EAAUI,EACzD,C,uBCRA,IAAIC,EAAQ,SAAUnF,GACpB,OAAOA,GAAMA,EAAGoF,OAASA,MAAQpF,CACnC,EAGAxC,EAAOD,QAEL4H,EAA2B,iBAAdE,YAA0BA,aACvCF,EAAuB,iBAAVG,QAAsBA,SAEnCH,EAAqB,iBAARxH,MAAoBA,OACjCwH,EAAuB,iBAAV,EAAAI,GAAsB,EAAAA,IAEnC,WAAe,OAAO3H,IAAO,CAA7B,IAAoCA,MAAQsG,SAAS,cAATA,E,uBCb9C,IAAItE,EAAc,EAAQ,MACtB4F,EAAW,EAAQ,MAEnBzB,EAAiBnE,EAAY,CAAC,EAAEmE,gBAKpCvG,EAAOD,QAAU+B,OAAOW,QAAU,SAAgBD,EAAIW,GACpD,OAAOoD,EAAeyB,EAASxF,GAAKW,EACtC,C,mBCVAnD,EAAOD,QAAU,CAAC,C,uBCAlB,IAAI4B,EAAc,EAAQ,MACtBuC,EAAQ,EAAQ,MAChBO,EAAgB,EAAQ,KAG5BzE,EAAOD,SAAW4B,IAAgBuC,GAAM,WAEtC,OAES,IAFFpC,OAAOG,eAAewC,EAAc,OAAQ,IAAK,CACtDN,IAAK,WAAc,OAAO,CAAG,IAC5B8D,CACL,G,uBCVA,IAAI7F,EAAc,EAAQ,MACtB8B,EAAQ,EAAQ,MAChBgE,EAAU,EAAQ,MAElBC,EAAUrG,OACVqD,EAAQ/C,EAAY,GAAG+C,OAG3BnF,EAAOD,QAAUmE,GAAM,WAGrB,OAAQiE,EAAQ,KAAKC,qBAAqB,EAC5C,IAAK,SAAU5F,GACb,MAAuB,WAAhB0F,EAAQ1F,GAAmB2C,EAAM3C,EAAI,IAAM2F,EAAQ3F,EAC5D,EAAI2F,C,uBCdJ,IAAI/F,EAAc,EAAQ,MACtB/B,EAAa,EAAQ,KACrBgI,EAAQ,EAAQ,MAEhBC,EAAmBlG,EAAYsE,SAASrE,UAGvChC,EAAWgI,EAAME,iBACpBF,EAAME,cAAgB,SAAU/F,GAC9B,OAAO8F,EAAiB9F,EAC1B,GAGFxC,EAAOD,QAAUsI,EAAME,a,uBCbvB,IAYIC,EAAKrE,EAAKsE,EAZVC,EAAkB,EAAQ,MAC1B5E,EAAS,EAAQ,MACjBpD,EAAW,EAAQ,KACnB0E,EAA8B,EAAQ,MACtC3C,EAAS,EAAQ,MACjBkG,EAAS,EAAQ,MACjBC,EAAY,EAAQ,MACpBC,EAAa,EAAQ,MAErBC,EAA6B,6BAC7BtI,EAAYsD,EAAOtD,UACnBuI,EAAUjF,EAAOiF,QAGjBC,EAAU,SAAUxG,GACtB,OAAOiG,EAAIjG,GAAM2B,EAAI3B,GAAMgG,EAAIhG,EAAI,CAAC,EACtC,EAEIyG,EAAY,SAAUC,GACxB,OAAO,SAAU1G,GACf,IAAI2G,EACJ,IAAKzI,EAAS8B,KAAQ2G,EAAQhF,EAAI3B,IAAK4G,OAASF,EAC9C,MAAM,IAAI1I,EAAU,0BAA4B0I,EAAO,aACvD,OAAOC,CACX,CACF,EAEA,GAAIT,GAAmBC,EAAOQ,MAAO,CACnC,IAAId,EAAQM,EAAOQ,QAAUR,EAAOQ,MAAQ,IAAIJ,GAEhDV,EAAMlE,IAAMkE,EAAMlE,IAClBkE,EAAMI,IAAMJ,EAAMI,IAClBJ,EAAMG,IAAMH,EAAMG,IAElBA,EAAM,SAAUhG,EAAI6G,GAClB,GAAIhB,EAAMI,IAAIjG,GAAK,MAAM,IAAIhC,EAAUsI,GAGvC,OAFAO,EAASC,OAAS9G,EAClB6F,EAAMG,IAAIhG,EAAI6G,GACPA,CACT,EACAlF,EAAM,SAAU3B,GACd,OAAO6F,EAAMlE,IAAI3B,IAAO,CAAC,CAC3B,EACAiG,EAAM,SAAUjG,GACd,OAAO6F,EAAMI,IAAIjG,EACnB,CACF,KAAO,CACL,IAAI+G,EAAQX,EAAU,SACtBC,EAAWU,IAAS,EACpBf,EAAM,SAAUhG,EAAI6G,GAClB,GAAI5G,EAAOD,EAAI+G,GAAQ,MAAM,IAAI/I,EAAUsI,GAG3C,OAFAO,EAASC,OAAS9G,EAClB4C,EAA4B5C,EAAI+G,EAAOF,GAChCA,CACT,EACAlF,EAAM,SAAU3B,GACd,OAAOC,EAAOD,EAAI+G,GAAS/G,EAAG+G,GAAS,CAAC,CAC1C,EACAd,EAAM,SAAUjG,GACd,OAAOC,EAAOD,EAAI+G,EACpB,CACF,CAEAvJ,EAAOD,QAAU,CACfyI,IAAKA,EACLrE,IAAKA,EACLsE,IAAKA,EACLO,QAASA,EACTC,UAAWA,E,uBCpEb,IAAIf,EAAU,EAAQ,MAKtBlI,EAAOD,QAAUyJ,MAAM5H,SAAW,SAAiBnB,GACjD,MAA6B,UAAtByH,EAAQzH,EACjB,C,sBCPA,IAAIgJ,EAAe,EAAQ,MAEvBrF,EAAcqF,EAAanF,IAI/BtE,EAAOD,QAAU0J,EAAalF,WAAa,SAAU9D,GACnD,MAA0B,mBAAZA,GAA0BA,IAAa2D,CACvD,EAAI,SAAU3D,GACZ,MAA0B,mBAAZA,CAChB,C,uBCVA,IAAIyD,EAAQ,EAAQ,MAChB7D,EAAa,EAAQ,KAErBqJ,EAAc,kBAEdnE,EAAW,SAAUoE,EAASC,GAChC,IAAIvI,EAAQwI,EAAKC,EAAUH,IAC3B,OAAOtI,IAAU0I,GACb1I,IAAU2I,IACV3J,EAAWuJ,GAAa1F,EAAM0F,KAC5BA,EACR,EAEIE,EAAYvE,EAASuE,UAAY,SAAUG,GAC7C,OAAOrJ,OAAOqJ,GAAQC,QAAQR,EAAa,KAAKS,aAClD,EAEIN,EAAOtE,EAASsE,KAAO,CAAC,EACxBG,EAASzE,EAASyE,OAAS,IAC3BD,EAAWxE,EAASwE,SAAW,IAEnC/J,EAAOD,QAAUwF,C,mBCnBjBvF,EAAOD,QAAU,SAAUyC,GACzB,OAAc,OAAPA,QAAsBR,IAAPQ,CACxB,C,sBCJA,IAAInC,EAAa,EAAQ,KACrBoJ,EAAe,EAAQ,MAEvBrF,EAAcqF,EAAanF,IAE/BtE,EAAOD,QAAU0J,EAAalF,WAAa,SAAU/B,GACnD,MAAoB,iBAANA,EAAwB,OAAPA,EAAcnC,EAAWmC,IAAOA,IAAO4B,CACxE,EAAI,SAAU5B,GACZ,MAAoB,iBAANA,EAAwB,OAAPA,EAAcnC,EAAWmC,EAC1D,C,mBCTAxC,EAAOD,SAAU,C,uBCAjB,IAAIqK,EAAa,EAAQ,MACrB/J,EAAa,EAAQ,KACrBgK,EAAgB,EAAQ,MACxBC,EAAoB,EAAQ,MAE5BnC,EAAUrG,OAEd9B,EAAOD,QAAUuK,EAAoB,SAAU9H,GAC7C,MAAoB,iBAANA,CAChB,EAAI,SAAUA,GACZ,IAAI+H,EAAUH,EAAW,UACzB,OAAO/J,EAAWkK,IAAYF,EAAcE,EAAQvE,UAAWmC,EAAQ3F,GACzE,C,uBCZA,IAAIgI,EAAW,EAAQ,MAIvBxK,EAAOD,QAAU,SAAU0K,GACzB,OAAOD,EAASC,EAAIlJ,OACtB,C,uBCNA,IAAIa,EAAc,EAAQ,MACtB8B,EAAQ,EAAQ,MAChB7D,EAAa,EAAQ,KACrBoC,EAAS,EAAQ,MACjBd,EAAc,EAAQ,MACtB+I,EAA6B,qBAC7BnC,EAAgB,EAAQ,MACxBoC,EAAsB,EAAQ,MAE9BC,EAAuBD,EAAoB3B,QAC3C6B,EAAmBF,EAAoBxG,IACvCxD,EAAUC,OAEVqB,EAAiBH,OAAOG,eACxBK,EAAcF,EAAY,GAAGG,OAC7B2H,EAAU9H,EAAY,GAAG8H,SACzBY,EAAO1I,EAAY,GAAG0I,MAEtBC,EAAsBpJ,IAAgBuC,GAAM,WAC9C,OAAsF,IAA/EjC,GAAe,WAA0B,GAAG,SAAU,CAAEZ,MAAO,IAAKE,MAC7E,IAEIyJ,EAAWpK,OAAOA,QAAQuE,MAAM,UAEhC1B,EAAczD,EAAOD,QAAU,SAAUsB,EAAOwC,EAAMF,GACf,YAArCrB,EAAY3B,EAAQkD,GAAO,EAAG,KAChCA,EAAO,IAAMqG,EAAQvJ,EAAQkD,GAAO,qBAAsB,MAAQ,KAEhEF,GAAWA,EAAQsH,SAAQpH,EAAO,OAASA,GAC3CF,GAAWA,EAAQuH,SAAQrH,EAAO,OAASA,KAC1CpB,EAAOpB,EAAO,SAAYqJ,GAA8BrJ,EAAMwC,OAASA,KACtElC,EAAaM,EAAeZ,EAAO,OAAQ,CAAEA,MAAOwC,EAAML,cAAc,IACvEnC,EAAMwC,KAAOA,GAEhBkH,GAAuBpH,GAAWlB,EAAOkB,EAAS,UAAYtC,EAAME,SAAWoC,EAAQwH,OACzFlJ,EAAeZ,EAAO,SAAU,CAAEA,MAAOsC,EAAQwH,QAEnD,IACMxH,GAAWlB,EAAOkB,EAAS,gBAAkBA,EAAQyH,YACnDzJ,GAAaM,EAAeZ,EAAO,YAAa,CAAEa,UAAU,IAEvDb,EAAM2E,YAAW3E,EAAM2E,eAAYhE,EAChD,CAAE,MAAOG,GAAqB,CAC9B,IAAIgH,EAAQyB,EAAqBvJ,GAG/B,OAFGoB,EAAO0G,EAAO,YACjBA,EAAMrG,OAASgI,EAAKE,EAAyB,iBAARnH,EAAmBA,EAAO,KACxDxC,CACX,EAIAqF,SAASV,UAAU3D,SAAWoB,GAAY,WACxC,OAAOpD,EAAWD,OAASyK,EAAiBzK,MAAM0C,QAAUyF,EAAcnI,KAC5E,GAAG,W,mBCrDH,IAAIiL,EAAOzD,KAAKyD,KACZC,EAAQ1D,KAAK0D,MAKjBtL,EAAOD,QAAU6H,KAAK2D,OAAS,SAAeC,GAC5C,IAAIC,GAAKD,EACT,OAAQC,EAAI,EAAIH,EAAQD,GAAMI,EAChC,C,uBCTA,IAAI9J,EAAc,EAAQ,MACtB+J,EAAiB,EAAQ,MACzBC,EAA0B,EAAQ,MAClCC,EAAW,EAAQ,MACnBC,EAAgB,EAAQ,MAExBtL,EAAaC,UAEbsL,EAAkBhK,OAAOG,eAEzB8J,EAA4BjK,OAAOD,yBACnCmK,EAAa,aACbhF,EAAe,eACfiF,EAAW,WAIflM,EAAQkD,EAAItB,EAAcgK,EAA0B,SAAwBrK,EAAGmG,EAAGyE,GAIhF,GAHAN,EAAStK,GACTmG,EAAIoE,EAAcpE,GAClBmE,EAASM,GACQ,oBAAN5K,GAA0B,cAANmG,GAAqB,UAAWyE,GAAcD,KAAYC,IAAeA,EAAWD,GAAW,CAC5H,IAAIE,EAAUJ,EAA0BzK,EAAGmG,GACvC0E,GAAWA,EAAQF,KACrB3K,EAAEmG,GAAKyE,EAAW7K,MAClB6K,EAAa,CACX1I,aAAcwD,KAAgBkF,EAAaA,EAAWlF,GAAgBmF,EAAQnF,GAC9EzD,WAAYyI,KAAcE,EAAaA,EAAWF,GAAcG,EAAQH,GACxE9J,UAAU,GAGhB,CAAE,OAAO4J,EAAgBxK,EAAGmG,EAAGyE,EACjC,EAAIJ,EAAkB,SAAwBxK,EAAGmG,EAAGyE,GAIlD,GAHAN,EAAStK,GACTmG,EAAIoE,EAAcpE,GAClBmE,EAASM,GACLR,EAAgB,IAClB,OAAOI,EAAgBxK,EAAGmG,EAAGyE,EAC/B,CAAE,MAAO/J,GAAqB,CAC9B,GAAI,QAAS+J,GAAc,QAASA,EAAY,MAAM,IAAI3L,EAAW,2BAErE,MADI,UAAW2L,IAAY5K,EAAEmG,GAAKyE,EAAW7K,OACtCC,CACT,C,uBC1CA,IAAIK,EAAc,EAAQ,MACtB8E,EAAO,EAAQ,MACf2F,EAA6B,EAAQ,MACrChJ,EAA2B,EAAQ,MACnCvC,EAAkB,EAAQ,MAC1BgL,EAAgB,EAAQ,MACxBpJ,EAAS,EAAQ,MACjBiJ,EAAiB,EAAQ,MAGzBK,EAA4BjK,OAAOD,yBAIvC9B,EAAQkD,EAAItB,EAAcoK,EAA4B,SAAkCzK,EAAGmG,GAGzF,GAFAnG,EAAIT,EAAgBS,GACpBmG,EAAIoE,EAAcpE,GACdiE,EAAgB,IAClB,OAAOK,EAA0BzK,EAAGmG,EACtC,CAAE,MAAOtF,GAAqB,CAC9B,GAAIM,EAAOnB,EAAGmG,GAAI,OAAOrE,GAA0BqD,EAAK2F,EAA2BnJ,EAAG3B,EAAGmG,GAAInG,EAAEmG,GACjG,C,uBCrBA,IAAI4E,EAAqB,EAAQ,MAC7BC,EAAc,EAAQ,KAEtBzD,EAAayD,EAAYC,OAAO,SAAU,aAK9CxM,EAAQkD,EAAInB,OAAO0K,qBAAuB,SAA6BlL,GACrE,OAAO+K,EAAmB/K,EAAGuH,EAC/B,C,qBCTA9I,EAAQkD,EAAInB,OAAO2K,qB,uBCDnB,IAAIrK,EAAc,EAAQ,MAE1BpC,EAAOD,QAAUqC,EAAY,CAAC,EAAEiI,c,uBCFhC,IAAIjI,EAAc,EAAQ,MACtBK,EAAS,EAAQ,MACjB5B,EAAkB,EAAQ,MAC1Ba,EAAU,gBACVmH,EAAa,EAAQ,MAErB6D,EAAOtK,EAAY,GAAGsK,MAE1B1M,EAAOD,QAAU,SAAUsD,EAAQsJ,GACjC,IAGIxJ,EAHA7B,EAAIT,EAAgBwC,GACpBH,EAAI,EACJ0J,EAAS,GAEb,IAAKzJ,KAAO7B,GAAImB,EAAOoG,EAAY1F,IAAQV,EAAOnB,EAAG6B,IAAQuJ,EAAKE,EAAQzJ,GAE1E,MAAOwJ,EAAMpL,OAAS2B,EAAOT,EAAOnB,EAAG6B,EAAMwJ,EAAMzJ,SAChDxB,EAAQkL,EAAQzJ,IAAQuJ,EAAKE,EAAQzJ,IAExC,OAAOyJ,CACT,C,qBCnBA,IAAIC,EAAwB,CAAC,EAAEzE,qBAE3BvG,EAA2BC,OAAOD,yBAGlCiL,EAAcjL,IAA6BgL,EAAsBpG,KAAK,CAAE,EAAG,GAAK,GAIpF1G,EAAQkD,EAAI6J,EAAc,SAA8BtF,GACtD,IAAI7B,EAAa9D,EAAyBzB,KAAMoH,GAChD,QAAS7B,GAAcA,EAAWpC,UACpC,EAAIsJ,C,uBCZJ,IAAIpG,EAAO,EAAQ,MACfpG,EAAa,EAAQ,KACrBK,EAAW,EAAQ,KAEnBH,EAAaC,UAIjBR,EAAOD,QAAU,SAAUgN,EAAOC,GAChC,IAAI9F,EAAI+F,EACR,GAAa,WAATD,GAAqB3M,EAAW6G,EAAK6F,EAAM1K,YAAc3B,EAASuM,EAAMxG,EAAKS,EAAI6F,IAAS,OAAOE,EACrG,GAAI5M,EAAW6G,EAAK6F,EAAMG,WAAaxM,EAASuM,EAAMxG,EAAKS,EAAI6F,IAAS,OAAOE,EAC/E,GAAa,WAATD,GAAqB3M,EAAW6G,EAAK6F,EAAM1K,YAAc3B,EAASuM,EAAMxG,EAAKS,EAAI6F,IAAS,OAAOE,EACrG,MAAM,IAAI1M,EAAW,0CACvB,C,uBCdA,IAAI6J,EAAa,EAAQ,MACrBhI,EAAc,EAAQ,MACtB+K,EAA4B,EAAQ,MACpCC,EAA8B,EAAQ,MACtCxB,EAAW,EAAQ,MAEnBW,EAASnK,EAAY,GAAGmK,QAG5BvM,EAAOD,QAAUqK,EAAW,UAAW,YAAc,SAAiB5H,GACpE,IAAIQ,EAAOmK,EAA0BlK,EAAE2I,EAASpJ,IAC5CiK,EAAwBW,EAA4BnK,EACxD,OAAOwJ,EAAwBF,EAAOvJ,EAAMyJ,EAAsBjK,IAAOQ,CAC3E,C,uBCbA,IAAIuE,EAAoB,EAAQ,MAE5BhH,EAAaC,UAIjBR,EAAOD,QAAU,SAAUyC,GACzB,GAAI+E,EAAkB/E,GAAK,MAAM,IAAIjC,EAAW,wBAA0BiC,GAC1E,OAAOA,CACT,C,uBCTA,IAAImG,EAAS,EAAQ,MACjB0E,EAAM,EAAQ,MAEdrK,EAAO2F,EAAO,QAElB3I,EAAOD,QAAU,SAAUoD,GACzB,OAAOH,EAAKG,KAASH,EAAKG,GAAOkK,EAAIlK,GACvC,C,uBCPA,IAAIW,EAAS,EAAQ,MACjBJ,EAAuB,EAAQ,MAE/B4J,EAAS,qBACTjF,EAAQvE,EAAOwJ,IAAW5J,EAAqB4J,EAAQ,CAAC,GAE5DtN,EAAOD,QAAUsI,C,uBCNjB,IAAIkF,EAAU,EAAQ,MAClBlF,EAAQ,EAAQ,OAEnBrI,EAAOD,QAAU,SAAUoD,EAAK9B,GAC/B,OAAOgH,EAAMlF,KAASkF,EAAMlF,QAAiBnB,IAAVX,EAAsBA,EAAQ,CAAC,EACpE,GAAG,WAAY,IAAIqL,KAAK,CACtB5H,QAAS,SACT0I,KAAMD,EAAU,OAAS,SACzBE,UAAW,4CACXC,QAAS,2DACT5K,OAAQ,uC,uBCTV,IAAI6K,EAAa,EAAQ,MACrBzJ,EAAQ,EAAQ,MAChBJ,EAAS,EAAQ,MAEjBnD,EAAUmD,EAAOlD,OAGrBZ,EAAOD,UAAY+B,OAAO2K,wBAA0BvI,GAAM,WACxD,IAAI0J,EAASC,OAAO,oBAKpB,OAAQlN,EAAQiN,MAAa9L,OAAO8L,aAAmBC,UAEpDA,OAAO1H,MAAQwH,GAAcA,EAAa,EAC/C,G,uBCjBA,IAAIG,EAAsB,EAAQ,MAE9BC,EAAMnG,KAAKmG,IACXC,EAAMpG,KAAKoG,IAKfhO,EAAOD,QAAU,SAAUyB,EAAOD,GAChC,IAAI0M,EAAUH,EAAoBtM,GAClC,OAAOyM,EAAU,EAAIF,EAAIE,EAAU1M,EAAQ,GAAKyM,EAAIC,EAAS1M,EAC/D,C,uBCVA,IAAI2M,EAAgB,EAAQ,MACxBC,EAAyB,EAAQ,MAErCnO,EAAOD,QAAU,SAAUyC,GACzB,OAAO0L,EAAcC,EAAuB3L,GAC9C,C,uBCNA,IAAI+I,EAAQ,EAAQ,MAIpBvL,EAAOD,QAAU,SAAUU,GACzB,IAAI2N,GAAU3N,EAEd,OAAO2N,IAAWA,GAAqB,IAAXA,EAAe,EAAI7C,EAAM6C,EACvD,C,uBCRA,IAAIN,EAAsB,EAAQ,MAE9BE,EAAMpG,KAAKoG,IAIfhO,EAAOD,QAAU,SAAUU,GACzB,OAAOA,EAAW,EAAIuN,EAAIF,EAAoBrN,GAAW,kBAAoB,CAC/E,C,uBCRA,IAAI0N,EAAyB,EAAQ,MAEjChG,EAAUrG,OAId9B,EAAOD,QAAU,SAAUU,GACzB,OAAO0H,EAAQgG,EAAuB1N,GACxC,C,uBCRA,IAAIgG,EAAO,EAAQ,MACf/F,EAAW,EAAQ,KACnB2N,EAAW,EAAQ,MACnBC,EAAY,EAAQ,MACpBC,EAAsB,EAAQ,MAC9BC,EAAkB,EAAQ,MAE1BjO,EAAaC,UACbiO,EAAeD,EAAgB,eAInCxO,EAAOD,QAAU,SAAUgN,EAAOC,GAChC,IAAKtM,EAASqM,IAAUsB,EAAStB,GAAQ,OAAOA,EAChD,IACIH,EADA8B,EAAeJ,EAAUvB,EAAO0B,GAEpC,GAAIC,EAAc,CAGhB,QAFa1M,IAATgL,IAAoBA,EAAO,WAC/BJ,EAASnG,EAAKiI,EAAc3B,EAAOC,IAC9BtM,EAASkM,IAAWyB,EAASzB,GAAS,OAAOA,EAClD,MAAM,IAAIrM,EAAW,0CACvB,CAEA,YADayB,IAATgL,IAAoBA,EAAO,UACxBuB,EAAoBxB,EAAOC,EACpC,C,uBCxBA,IAAI2B,EAAc,EAAQ,MACtBN,EAAW,EAAQ,MAIvBrO,EAAOD,QAAU,SAAUU,GACzB,IAAI0C,EAAMwL,EAAYlO,EAAU,UAChC,OAAO4N,EAASlL,GAAOA,EAAMA,EAAM,EACrC,C,mBCRA,IAAIxC,EAAUC,OAEdZ,EAAOD,QAAU,SAAUU,GACzB,IACE,OAAOE,EAAQF,EACjB,CAAE,MAAO0B,GACP,MAAO,QACT,CACF,C,uBCRA,IAAIC,EAAc,EAAQ,MAEtBwM,EAAK,EACLC,EAAUjH,KAAKkH,SACfzM,EAAWD,EAAY,GAAIC,UAE/BrC,EAAOD,QAAU,SAAUoD,GACzB,MAAO,gBAAqBnB,IAARmB,EAAoB,GAAKA,GAAO,KAAOd,IAAWuM,EAAKC,EAAS,GACtF,C,uBCPA,IAAIE,EAAgB,EAAQ,MAE5B/O,EAAOD,QAAUgP,IACXlB,OAAO1H,MACkB,iBAAnB0H,OAAOmB,Q,uBCLnB,IAAIrN,EAAc,EAAQ,MACtBuC,EAAQ,EAAQ,MAIpBlE,EAAOD,QAAU4B,GAAeuC,GAAM,WAEpC,OAGiB,KAHVpC,OAAOG,gBAAe,WAA0B,GAAG,YAAa,CACrEZ,MAAO,GACPa,UAAU,IACT8D,SACL,G,uBCXA,IAAIlC,EAAS,EAAQ,MACjBzD,EAAa,EAAQ,KAErB0I,EAAUjF,EAAOiF,QAErB/I,EAAOD,QAAUM,EAAW0I,IAAY,cAAc1C,KAAKzF,OAAOmI,G,uBCLlE,IAAIjF,EAAS,EAAQ,MACjB6E,EAAS,EAAQ,MACjBlG,EAAS,EAAQ,MACjB4K,EAAM,EAAQ,MACd0B,EAAgB,EAAQ,MACxBzE,EAAoB,EAAQ,MAE5BuD,EAAS/J,EAAO+J,OAChBoB,EAAwBtG,EAAO,OAC/BuG,EAAwB5E,EAAoBuD,EAAO,QAAUA,EAASA,GAAUA,EAAOsB,eAAiB9B,EAE5GrN,EAAOD,QAAU,SAAU8D,GAKvB,OAJGpB,EAAOwM,EAAuBpL,KACjCoL,EAAsBpL,GAAQkL,GAAiBtM,EAAOoL,EAAQhK,GAC1DgK,EAAOhK,GACPqL,EAAsB,UAAYrL,IAC/BoL,EAAsBpL,EACjC,C,uBCjBA,IAAIuL,EAAI,EAAQ,MACZpH,EAAW,EAAQ,MACnBjH,EAAoB,EAAQ,MAC5BsO,EAAiB,EAAQ,MACzBC,EAA2B,EAAQ,MACnCpL,EAAQ,EAAQ,MAEhBqL,EAAsBrL,GAAM,WAC9B,OAAoD,aAA7C,GAAGwI,KAAKjG,KAAK,CAAElF,OAAQ,YAAe,EAC/C,IAIIiO,EAAiC,WACnC,IAEE1N,OAAOG,eAAe,GAAI,SAAU,CAAEC,UAAU,IAASwK,MAC3D,CAAE,MAAOvK,GACP,OAAOA,aAAiB3B,SAC1B,CACF,EAEIgF,EAAS+J,IAAwBC,IAIrCJ,EAAE,CAAEvM,OAAQ,QAAS4M,OAAO,EAAMtE,MAAO,EAAGjF,OAAQV,GAAU,CAE5DkH,KAAM,SAAcgD,GAClB,IAAIpO,EAAI0G,EAAS5H,MACbuP,EAAM5O,EAAkBO,GACxBsO,EAAWhJ,UAAUrF,OACzB+N,EAAyBK,EAAMC,GAC/B,IAAK,IAAI1M,EAAI,EAAGA,EAAI0M,EAAU1M,IAC5B5B,EAAEqO,GAAO/I,UAAU1D,GACnByM,IAGF,OADAN,EAAe/N,EAAGqO,GACXA,CACT,G,GCvCEE,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqB/N,IAAjBgO,EACH,OAAOA,EAAajQ,QAGrB,IAAIC,EAAS6P,EAAyBE,GAAY,CAGjDhQ,QAAS,CAAC,GAOX,OAHAkQ,EAAoBF,GAAUtJ,KAAKzG,EAAOD,QAASC,EAAQA,EAAOD,QAAS+P,GAGpE9P,EAAOD,OACf,E,WCrBA+P,EAAoBI,EAAI,SAASnQ,EAASoQ,GACzC,IAAI,IAAIhN,KAAOgN,EACXL,EAAoBM,EAAED,EAAYhN,KAAS2M,EAAoBM,EAAErQ,EAASoD,IAC5ErB,OAAOG,eAAelC,EAASoD,EAAK,CAAEI,YAAY,EAAMY,IAAKgM,EAAWhN,IAG3E,C,eCPA2M,EAAoB/H,EAAI,WACvB,GAA0B,kBAAfF,WAAyB,OAAOA,WAC3C,IACC,OAAOzH,MAAQ,IAAIsG,SAAS,cAAb,EAChB,CAAE,MAAO2J,GACR,GAAsB,kBAAXvI,OAAqB,OAAOA,MACxC,CACA,CAPuB,E,eCAxBgI,EAAoBM,EAAI,SAAS3F,EAAK6F,GAAQ,OAAOxO,OAAOkE,UAAUO,eAAeE,KAAKgE,EAAK6F,EAAO,C,eCCtGR,EAAoBS,EAAI,SAASxQ,GACX,qBAAX8N,QAA0BA,OAAO2C,aAC1C1O,OAAOG,eAAelC,EAAS8N,OAAO2C,YAAa,CAAEnP,MAAO,WAE7DS,OAAOG,eAAelC,EAAS,aAAc,CAAEsB,OAAO,GACvD,C,eCNAyO,EAAoBW,EAAI,E,+BCGxB,G,6CAAsB,qBAAX3I,OAAwB,CACjC,IAAI4I,EAAgB5I,OAAOzD,SAASqM,cAWhCC,EAAMD,GAAiBA,EAAcC,IAAI9L,MAAM,2BAC/C8L,IACF,IAA0BA,EAAI,GAElC,CAGA,ICtBIC,EAAS,WAAkB,IAAIC,EAAIzQ,KAAK0Q,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQH,EAAII,MAAM,QAAUJ,EAAIK,OAAO,MAAQ,QAAQ,kBAAiB,GAAMC,GAAG,CAAC,MAAQN,EAAIO,cAAc,CAACN,EAAG,eAAe,CAACO,IAAI,aAAaL,MAAM,CAAC,EAAI,GAAG,EAAI,GAAG,EAAI,IAAI,EAAI,IAAI,KAAOH,EAAIS,KAAK,SAAWT,EAAIU,SAAS,cAAcV,EAAIW,YAAYL,GAAG,CAAC,QAAUN,EAAIY,UAAU,KAAOZ,EAAIa,OAAO,MAAQb,EAAIc,QAAQ,QAAUd,EAAIe,UAAU,UAAYf,EAAIgB,gBAAgB,EAChd,EACIC,EAAkB,GCyBtB,G,QAAA,CACAjO,KAAA,gBACAkO,MAAA,CACAd,MAAA,CACA7H,KAAAxI,OACAoR,QAAA,QAEAd,OAAA,CACA9H,KAAA6I,QACAD,SAAA,IAGAnI,IAAAA,GACA,OACA0H,SAAA,EACAC,WAAA,WACAU,aAAA,IAEA,EACAC,SAAA,CACAb,IAAAA,GACA,MAAAc,EAAA,GACA,QAAAlP,EAAA,EAAAA,EAAA,EAAAA,IACAkP,EAAA1F,KAAA,cAAAxJ,SAEA,OAAAkP,CACA,GAEAC,MAAA,CACAnB,MAAAA,CAAAoB,GACAA,GACA,KAAAC,MAAAC,YACA,KAAAD,MAAAC,WAAAC,OACA,KAAAF,MAAAC,WAAAC,OACA,GAEAC,OAAAA,GAAA,EACAC,QAAA,CACAlB,SAAAA,GACA,KAAAmB,MAAA,UACA,EACAlB,MAAAA,GAAA,EACAC,OAAAA,GAAA,EACAC,SAAAA,GAAA,EACAC,WAAAA,GAAA,EACAT,WAAAA,GACA,KAAAwB,MAAA,QACA,KC1E+P,ICMhP,SAASC,EACtBC,EACAlC,EACAkB,EACAiB,EACAC,EACAC,EACAC,EACAC,GAGA,IAoBIC,EApBAzP,EACuB,oBAAlBmP,EAA+BA,EAAcnP,QAAUmP,EAuDhE,GApDIlC,IACFjN,EAAQiN,OAASA,EACjBjN,EAAQmO,gBAAkBA,EAC1BnO,EAAQ0P,WAAY,GAIlBN,IACFpP,EAAQ2P,YAAa,GAInBL,IACFtP,EAAQ4P,SAAW,UAAYN,GAI7BC,GAEFE,EAAO,SAAUI,GAEfA,EACEA,GACCpT,KAAKqT,QAAUrT,KAAKqT,OAAOC,YAC3BtT,KAAKuT,QAAUvT,KAAKuT,OAAOF,QAAUrT,KAAKuT,OAAOF,OAAOC,WAEtDF,GAA0C,qBAAxBI,sBACrBJ,EAAUI,qBAGRZ,GACFA,EAAavM,KAAKrG,KAAMoT,GAGtBA,GAAWA,EAAQK,uBACrBL,EAAQK,sBAAsBC,IAAIZ,EAEtC,EAGAvP,EAAQoQ,aAAeX,GACdJ,IACTI,EAAOD,EACH,WACEH,EAAavM,KACXrG,MACCuD,EAAQ2P,WAAalT,KAAKuT,OAASvT,MAAM4T,MAAMC,SAASC,WAE7D,EACAlB,GAGFI,EACF,GAAIzP,EAAQ2P,WAAY,CAGtB3P,EAAQwQ,cAAgBf,EAExB,IAAIgB,EAAiBzQ,EAAQiN,OAC7BjN,EAAQiN,OAAS,SAAkCyD,EAAGb,GAEpD,OADAJ,EAAK3M,KAAK+M,GACHY,EAAeC,EAAGb,EAC3B,CACF,KAAO,CAEL,IAAIc,EAAW3Q,EAAQ4Q,aACvB5Q,EAAQ4Q,aAAeD,EAAW,GAAG/H,OAAO+H,EAAUlB,GAAQ,CAACA,EACjE,CAGF,MAAO,CACLrT,QAAS+S,EACTnP,QAASA,EAEb,CCvFA,IAAI6Q,EAAY,EACd,EACA5D,EACAkB,GACA,EACA,KACA,WACA,MAIF,EAAe0C,EAAiB,QCnB5B5D,EAAS,WAAkB,IAAIC,EAAIzQ,KAAK0Q,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACO,IAAI,WAAWoD,YAAY,CAAC,QAAU,SAAS,CAAC3D,EAAG,WAAW,CAACE,MAAM,CAAC,QAAUH,EAAI6D,QAAQ,SAAW7D,EAAI8D,SAAS,MAAQ9D,EAAII,MAAM,KAAOJ,EAAI+D,KAAK,QAAU/D,EAAIgE,SAAS1D,GAAG,CAAC,iBAAiB,SAAS2D,GAAQjE,EAAI6D,QAAQI,CAAM,KAAKhE,EAAG,MAAM,CAACiE,YAAY,mBAAmB,CAACjE,EAAG,MAAM,CAACiE,YAAY,UAAU,CAAClE,EAAImE,GAAG,YAAY,GAAGlE,EAAG,MAAM,CAACiE,YAAY,UAAU5D,GAAG,CAAC,MAAQ,SAAS2D,GAAQjE,EAAI6D,SAAW7D,EAAI6D,OAAO,IAAI,CAAC7D,EAAIoE,GAAG,GAAGpE,EAAIoE,GAAG,QAAQ,EAC7gB,EACInD,EAAkB,CAAC,WAAY,IAAIjB,EAAIzQ,KAAK0Q,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACA,EAAG,IAAI,CAACiE,YAAY,qBACrG,EAAE,WAAY,IAAIlE,EAAIzQ,KAAK0Q,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACA,EAAG,IAAI,CAACD,EAAIqE,GAAG,WAC3E,GCJItE,EAAS,WAAkB,IAAIC,EAAIzQ,KAAK0Q,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACqE,WAAW,CAAC,CAACtR,KAAK,OAAOuR,QAAQ,SAAS/T,MAAOwP,EAAI6D,QAASW,WAAW,YAAYN,YAAY,QAAQ,CAACjE,EAAG,SAAS,CAACA,EAAG,MAAM,CAACE,MAAM,CAAC,IAAM,0CAA0CF,EAAG,OAAO,CAACD,EAAIqE,GAAGrE,EAAIyE,GAAGzE,EAAII,UAAWJ,EAAI8D,SAAU7D,EAAG,IAAI,CAACiE,YAAY,eAAe5D,GAAG,CAAC,MAAQN,EAAI0E,UAAU,CAACzE,EAAG,MAAM,CAACE,MAAM,CAAC,IAAM,8CAA8CH,EAAI2E,KAAK1E,EAAG,IAAI,CAACiE,YAAY,gBAAgB5D,GAAG,CAAC,MAAQN,EAAI4E,WAAW3E,EAAG,OAAO,CAACO,IAAI,QAAQR,EAAI6E,GAAI7E,EAAI8E,aAAa,SAASjG,EAAKlO,GAAO,OAAOsP,EAAG,MAAM,CAAC3N,IAAI3B,EAAMoU,MAAM,CAAC,UAAWlG,EAAKd,KAAK,CAACkC,EAAG,MAAM,CAACiE,YAAY,SAAS/D,MAAM,CAAC,IAAO,8BAA6BtB,EAAKd,YAAYkC,EAAG,MAAM,CAACiE,YAAY,WAAW,CAAClE,EAAI6E,GAAIhG,EAAKmG,KAAK,SAASA,EAAIrU,GAAO,OAAOsP,EAAG,OAAO,CAAC3N,IAAI0S,EAAMrU,EAAMoU,MAAMlG,EAAKmG,IAAItU,OAAS,EAAI,OAAS,GAAGuU,SAAS,CAAC,UAAYjF,EAAIyE,IAAI5F,EAAKmG,IAAItU,OAAS,EAAI,EAAIC,EAAQ,KAAO,KAAOqU,IAAM1E,GAAG,CAAC,MAAQ,SAAS2D,GAAQpF,EAAKmG,IAAItU,OAAS,GAAKsP,EAAIkF,aAAaF,EAAI,IAAI,IAAInG,EAAKsG,MAAOlF,EAAG,MAAM,CAACiE,YAAY,QAAQ5D,GAAG,CAAC,MAAQ,SAAS2D,GAAQ,OAAOjE,EAAIoF,WAAWvG,EAAK,IAAI,CAACoB,EAAG,OAAO,CAACD,EAAIqE,GAAG,QAAQpE,EAAG,OAAO,CAAC8E,MAAM,CAAE,YAAalG,EAAKwG,WAAY,CAACrF,EAAIqE,GAAGrE,EAAIyE,GAAG5F,EAAKsG,QAAQlF,EAAG,IAAI,CAACiE,YAAY,8BAA8BlE,EAAI2E,MAAM,IAAI,IAAG,GAAG1E,EAAG,MAAMD,EAAI6E,GAAI7E,EAAIgE,SAAS,SAASnF,EAAKlO,GAAO,OAAOsP,EAAG,YAAY,CAAC3N,IAAIuM,EAAOlO,EAAMwP,MAAM,CAAC,KAAO,OAAO,MAAQ,IAAIG,GAAG,CAAC,MAAQ,SAAS2D,GAAQ,OAAOjE,EAAIkF,aAAarG,EAAK,IAAI,CAACmB,EAAIqE,GAAGrE,EAAIyE,GAAG5F,KAAQ,IAAG,GAAGoB,EAAG,WAAW,CAACE,MAAM,CAAC,KAAO,WAAW,UAAY,MAAM,SAAW,CAAEmF,QAAS,EAAGC,QAAS,GAAI,UAAY,OAAO,OAAS,OAAO,YAAc,mBAAmBC,SAAS,CAAC,MAAQ,SAASvB,GAAQ,OAAIA,EAAO1L,KAAK1H,QAAQ,QAAQmP,EAAIyF,GAAGxB,EAAOyB,QAAQ,QAAQ,GAAGzB,EAAO3R,IAAI,SAAgB,KAAY0N,EAAI2F,eAAe7P,MAAM,KAAMC,UAAU,GAAG6P,MAAM,CAACpV,MAAOwP,EAAI6F,cAAeC,SAAS,SAAUC,GAAM/F,EAAI6F,cAAcE,CAAG,EAAEvB,WAAW,mBAAmBvE,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,UAAU,KAAO,OAAO,UAAYH,EAAI6F,eAAevF,GAAG,CAAC,MAAQN,EAAIgG,OAAO,CAAChG,EAAIqE,GAAG,SAAS,EACvkE,EACIpD,EAAkB,GCFtB,GACIC,MAAO,CACH2C,QAASzC,QACT0C,SAAU/T,OACVgU,KAAMhU,OACNqQ,MAAOrQ,OACPkW,OAAQlW,OACRiU,QAASrL,OAEbK,IAAAA,GACI,MAAO,CACH6M,cAAe,GAEff,YAAa,CACT,CAAC/G,GAAI,QAASiH,IAAK,CAAC,oBAAqBK,UAAU,IAGvDA,UAAU,EAElB,EACA/D,SAAU,CACN4E,SAAAA,GACI,OAAOC,KAAKC,MAAM7W,KAAKwU,KAC3B,GAEJjC,QAAS,CACL8C,KAAAA,GACIrV,KAAKwS,MAAM,kBAAkB,EACjC,EACA4D,cAAAA,GACI,IAAInG,EAAIvI,OAAOoP,OAAStQ,UAAU,GACpB,SAATyJ,EAAElN,KAA4B,SAAVkN,EAAE8G,MAAgC,IAAb9G,EAAEkG,UAAkBnW,KAAKsW,eACnEtW,KAAKyW,MAEb,EACAA,IAAAA,GACQzW,KAAKsW,cAAcxM,QAAQ,sBAAuB,MAGtD9J,KAAK0T,IAAI1T,KAAKsW,cAAe,YAAY,KAAMtW,KAAKsW,cAAgB,EAAE,IACtEtW,KAAKgX,OAAOhX,KAAKsW,eACrB,EACAX,YAAAA,CAAaF,GACTzV,KAAK0T,IAAI+B,GACTzV,KAAKgX,OAAOvB,EAChB,EACAuB,MAAAA,CAAOvB,GACH,MAAMzD,EAAOhS,KAAK2W,UAAUM,QAAO3H,GAAQA,EAAK4H,IAAIpN,QAAQ,sBAAuB,IAAIC,cAAc1I,SAASoU,EAAI3L,QAAQ,sBAAuB,IAAIC,iBACrJ,IAAKoN,EAAOvB,GAAS,CAAC,GAAI,IAEvB5D,EAAK7Q,OAAS,EACbgW,EAAQnF,EAAKoF,QAAO,CAACC,EAAMC,IAAS,IAAID,EAAMC,EAAKJ,MAAM,IACpC,GAAflF,EAAK7Q,QACVgW,EAAOvB,GAAS,CAAC5D,EAAK,GAAGyD,IAAKzD,EAAK,GAAG4D,OAEvCuB,EADM,CAAC,KAAK,MAAM9V,SAASoU,EAAI3L,QAAQ,sBAAuB,KACtD,MAEA,oHAEZ9J,KAAK0T,IAAIyD,EAAO,QAAS,KAAMvB,EACnC,EACAlC,GAAAA,CAAI+B,EAAKjH,EAAG,WAAY+I,EAAK3B,EAAQ,IACjC5V,KAAKuV,YAAYjJ,KAAK,CAClBkC,KACAiH,IAAKrM,MAAM5H,QAAQiU,GAAOA,EAAM,CAACA,GACjCG,QACAE,UAAU,IAEd9V,KAAKwX,WAAU,KACXD,GAAOA,IAEPvX,KAAKmS,MAAMsF,KAAKC,UAAY1X,KAAKmS,MAAMsF,KAAKE,YAAY,GAGhE,EACAxC,OAAAA,GAKIzN,OAAOkQ,KAAK5X,KAAKuU,SAAU,SAC/B,EACAsB,UAAAA,CAAWvG,GACPA,EAAKwG,UAAYxG,EAAKwG,QAC1B,ICdR,GACArS,KAAA,WACAoU,OAAA,CAAAC,ICxE8P,ICQ1P,EAAY,EACd,EACA,EACA,GACA,EACA,KACA,WACA,MAIF,EAAe,EAAiB,QCchC,GACArU,KAAA,oBACAsU,WAAA,CACAC,QAAAA,GAEArG,MAAA,CACA4C,SAAA/T,OACAqQ,MAAArQ,OACAgU,KAAAhU,OACAiU,QAAArL,OAEAK,IAAAA,GACA,OACA6K,SAAA,EAEA,EACAvC,SAAA,CACAkG,OAAAA,GACA,OAAApG,QAAA,KAAAqG,OAAAtG,QACA,GAEAK,MAAA,CACAkG,MAAAA,CAAAC,GACAA,EAAAC,MAAA,KAAA9D,SACA,KAAApC,MAAAmG,SAAAC,MAAAC,QAAA,QAEA,KAAArG,MAAAmG,SAAAC,MAAAC,QAAA,MAEA,GAEAC,OAAAA,GACA,KAAAtG,MAAAmG,SAAAC,MAAAC,QAAA,OACA,GCjE+P,ICQ3P,EAAY,EACd,EACA,EACA,GACA,EACA,KACA,WACA,MAIF,EAAe,EAAiB,QCnB5BhI,EAAS,WAAkB,IAAIC,EAAIzQ,KAAK0Q,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACiE,YAAY,cAAc,CAACjE,EAAG,MAAM,CAACiE,YAAY,YAAY,CAACjE,EAAG,SAAS,CAAC2D,YAAY,CAAC,WAAa,uDAAuD,kBAAkB,UAAU,CAAC3D,EAAG,MAAM,CAACA,EAAG,KAAK,CAACD,EAAIqE,GAAGrE,EAAIyE,GAAGzE,EAAII,UAAUH,EAAG,OAAO,CAACD,EAAIqE,GAAG,oBAAoBpE,EAAG,IAAI,CAACD,EAAIqE,GAAG,oBAAoBpE,EAAG,MAAM,CAACiE,YAAY,QAAQ,CAACjE,EAAG,MAAM,CAACA,EAAG,OAAO,CAACO,IAAI,QAAQ,CAACP,EAAG,IAAI,CAACD,EAAIqE,GAAG,KAAKrE,EAAIyE,GAAGzE,EAAIiI,aAAajI,EAAI6E,GAAI7E,EAAI8E,aAAa,SAASjG,EAAKlO,GAAO,OAAOsP,EAAG,MAAM,CAAC3N,IAAI3B,EAAMoU,MAAM,CAAC,UAAWlG,EAAKd,KAAK,CAACkC,EAAG,MAAM,CAACiE,YAAY,SAAS/D,MAAM,CAAC,IAAM,8BAAgCtB,EAAKd,GAAK,UAAUkC,EAAG,MAAM,CAACiE,YAAY,WAAW,CAAClE,EAAI6E,GAAIhG,EAAKmG,KAAK,SAASA,EAAIrU,GAAO,OAAOsP,EAAG,OAAO,CAAC3N,IAAI0S,EAAMrU,EAAMoU,MAAMlG,EAAKmG,IAAItU,OAAS,EAAI,OAAS,GAAGuU,SAAS,CAAC,UAAYjF,EAAIyE,IAAI5F,EAAKmG,IAAItU,OAAS,EAAI,EAAIC,EAAQ,KAAO,KAAOqU,IAAM1E,GAAG,CAAC,MAAQ,SAAS2D,GAAQpF,EAAKmG,IAAItU,OAAS,GAAKsP,EAAIkF,aAAaF,EAAI,IAAI,IAAInG,EAAKsG,MAAOlF,EAAG,MAAM,CAACiE,YAAY,QAAQ5D,GAAG,CAAC,MAAQ,SAAS2D,GAAgC,OAAxBA,EAAOiE,iBAAwBlI,EAAIoF,WAAWvG,EAAK,IAAI,CAACoB,EAAG,OAAO,CAACD,EAAIqE,GAAG,QAAQpE,EAAG,OAAO,CAAC8E,MAAM,CAAE,YAAalG,EAAKwG,WAAY,CAACrF,EAAIqE,GAAGrE,EAAIyE,GAAG5F,EAAKsG,QAAQlF,EAAG,IAAI,CAACiE,YAAY,8BAA8BlE,EAAI2E,MAAM,IAAI,KAAI,GAAG1E,EAAG,SAAS,CAACA,EAAG,WAAW,CAACE,MAAM,CAAC,KAAO,WAAW,UAAY,MAAM,SAAW,CAAEmF,QAAS,EAAGC,QAAS,GAAI,UAAY,OAAO,OAAS,OAAO,YAAc,cAAcC,SAAS,CAAC,MAAQ,SAASvB,GAAQ,OAAIA,EAAO1L,KAAK1H,QAAQ,QAAQmP,EAAIyF,GAAGxB,EAAOyB,QAAQ,QAAQ,GAAGzB,EAAO3R,IAAI,SAAgB,KAAY0N,EAAI2F,eAAe7P,MAAM,KAAMC,UAAU,GAAG6P,MAAM,CAACpV,MAAOwP,EAAI6F,cAAeC,SAAS,SAAUC,GAAM/F,EAAI6F,cAAcE,CAAG,EAAEvB,WAAW,mBAAmBvE,EAAG,YAAY,CAAC6H,MAAQ9H,EAAI6F,cAEjvD,GADA,sEACI1F,MAAM,CAAC,KAAO,UAAU,UAAYH,EAAI6F,eAAevF,GAAG,CAAC,MAAQN,EAAIgG,OAAO,CAAChG,EAAIqE,GAAG,SAAS,KAAKpE,EAAG,QAAQ,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,UAAY,IAAIyF,MAAM,CAACpV,MAAOwP,EAAImI,YAAarC,SAAS,SAAUC,GAAM/F,EAAImI,YAAYpC,CAAG,EAAEvB,WAAW,gBAAgBxE,EAAI6E,GAAI7E,EAAIoI,eAAe,SAASvJ,EAAKvM,EAAI3B,GAAO,OAAOsP,EAAG,mBAAmB,CAAC3N,IAAIA,EAAI6N,MAAM,CAAC,KAAOxP,IAAQ,CAACsP,EAAG,WAAW,CAACoI,KAAK,SAAS,CAACpI,EAAG,MAAM,CAACE,MAAM,CAAC,IAAM,mDAAmDH,EAAIqE,GAAGrE,EAAIyE,GAAGnS,GAAK,OAAO0N,EAAI6E,GAAIhG,GAAM,SAAS4H,GAAK,OAAOxG,EAAG,MAAM,CAAC3N,IAAImU,EAAIxB,SAAS,CAAC,UAAYjF,EAAIyE,GAAGgC,IAAMnG,GAAG,CAAC,MAAQ,SAAS2D,GAAQ,OAAOjE,EAAIkF,aAAauB,EAAI,IAAI,KAAI,EAAE,IAAG,IAAI,QAC5qB,EACIxF,EAAkB,GCkGtB,GACAjO,KAAA,aACAoU,OAAA,CAAAC,GACArO,IAAAA,GACA,OACAmP,YAAA,IAEA,EACA7G,SAAA,CACA2G,QAAAA,GACA,MAAAA,EAAA,IAAAK,KACA,SAAAL,EAAAM,cAAAN,EAAAO,cACA,EACAJ,aAAAA,GACA,YAAAlC,UAAAS,QAAA,CAAAC,EAAAC,KAEAD,EAAAlR,eAAAmR,EAAAtO,MACAqO,EAAAC,EAAAtO,MAAAsD,KAAAgL,EAAAJ,KAEAG,EAAAC,EAAAtO,MAAA,CAAAsO,EAAAJ,KAEAG,IACA,GACA,IC7H+P,ICQ3P,EAAY,EACd,EACA,EACA,GACA,EACA,KACA,WACA,MAIF,EAAe,EAAiB,QCdhC,MAAMU,EAAa,CACjBmB,EACAC,EACAC,GAGIC,EAAU,SAAUC,GAExBvB,EAAWwB,SAAQnF,IACjBkF,EAAIlF,UAAUA,EAAU3Q,KAAM2Q,EAAU,IAIpB,qBAAX1M,QAA0BA,OAAO4R,KAC1CD,EAAQ3R,OAAO4R,IAEnB,EAGA,OACED,WCvBF,G","sources":["webpack://yc-ui2/webpack/universalModuleDefinition","webpack://yc-ui2/./node_modules/core-js/internals/a-callable.js","webpack://yc-ui2/./node_modules/core-js/internals/an-object.js","webpack://yc-ui2/./node_modules/core-js/internals/array-includes.js","webpack://yc-ui2/./node_modules/core-js/internals/array-set-length.js","webpack://yc-ui2/./node_modules/core-js/internals/classof-raw.js","webpack://yc-ui2/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://yc-ui2/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://yc-ui2/./node_modules/core-js/internals/create-property-descriptor.js","webpack://yc-ui2/./node_modules/core-js/internals/define-built-in.js","webpack://yc-ui2/./node_modules/core-js/internals/define-global-property.js","webpack://yc-ui2/./node_modules/core-js/internals/descriptors.js","webpack://yc-ui2/./node_modules/core-js/internals/document-all.js","webpack://yc-ui2/./node_modules/core-js/internals/document-create-element.js","webpack://yc-ui2/./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://yc-ui2/./node_modules/core-js/internals/engine-user-agent.js","webpack://yc-ui2/./node_modules/core-js/internals/engine-v8-version.js","webpack://yc-ui2/./node_modules/core-js/internals/enum-bug-keys.js","webpack://yc-ui2/./node_modules/core-js/internals/export.js","webpack://yc-ui2/./node_modules/core-js/internals/fails.js","webpack://yc-ui2/./node_modules/core-js/internals/function-bind-native.js","webpack://yc-ui2/./node_modules/core-js/internals/function-call.js","webpack://yc-ui2/./node_modules/core-js/internals/function-name.js","webpack://yc-ui2/./node_modules/core-js/internals/function-uncurry-this.js","webpack://yc-ui2/./node_modules/core-js/internals/get-built-in.js","webpack://yc-ui2/./node_modules/core-js/internals/get-method.js","webpack://yc-ui2/./node_modules/core-js/internals/global.js","webpack://yc-ui2/./node_modules/core-js/internals/has-own-property.js","webpack://yc-ui2/./node_modules/core-js/internals/hidden-keys.js","webpack://yc-ui2/./node_modules/core-js/internals/ie8-dom-define.js","webpack://yc-ui2/./node_modules/core-js/internals/indexed-object.js","webpack://yc-ui2/./node_modules/core-js/internals/inspect-source.js","webpack://yc-ui2/./node_modules/core-js/internals/internal-state.js","webpack://yc-ui2/./node_modules/core-js/internals/is-array.js","webpack://yc-ui2/./node_modules/core-js/internals/is-callable.js","webpack://yc-ui2/./node_modules/core-js/internals/is-forced.js","webpack://yc-ui2/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://yc-ui2/./node_modules/core-js/internals/is-object.js","webpack://yc-ui2/./node_modules/core-js/internals/is-pure.js","webpack://yc-ui2/./node_modules/core-js/internals/is-symbol.js","webpack://yc-ui2/./node_modules/core-js/internals/length-of-array-like.js","webpack://yc-ui2/./node_modules/core-js/internals/make-built-in.js","webpack://yc-ui2/./node_modules/core-js/internals/math-trunc.js","webpack://yc-ui2/./node_modules/core-js/internals/object-define-property.js","webpack://yc-ui2/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://yc-ui2/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://yc-ui2/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://yc-ui2/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://yc-ui2/./node_modules/core-js/internals/object-keys-internal.js","webpack://yc-ui2/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://yc-ui2/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://yc-ui2/./node_modules/core-js/internals/own-keys.js","webpack://yc-ui2/./node_modules/core-js/internals/require-object-coercible.js","webpack://yc-ui2/./node_modules/core-js/internals/shared-key.js","webpack://yc-ui2/./node_modules/core-js/internals/shared-store.js","webpack://yc-ui2/./node_modules/core-js/internals/shared.js","webpack://yc-ui2/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://yc-ui2/./node_modules/core-js/internals/to-absolute-index.js","webpack://yc-ui2/./node_modules/core-js/internals/to-indexed-object.js","webpack://yc-ui2/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://yc-ui2/./node_modules/core-js/internals/to-length.js","webpack://yc-ui2/./node_modules/core-js/internals/to-object.js","webpack://yc-ui2/./node_modules/core-js/internals/to-primitive.js","webpack://yc-ui2/./node_modules/core-js/internals/to-property-key.js","webpack://yc-ui2/./node_modules/core-js/internals/try-to-string.js","webpack://yc-ui2/./node_modules/core-js/internals/uid.js","webpack://yc-ui2/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://yc-ui2/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://yc-ui2/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://yc-ui2/./node_modules/core-js/internals/well-known-symbol.js","webpack://yc-ui2/./node_modules/core-js/modules/es.array.push.js","webpack://yc-ui2/webpack/bootstrap","webpack://yc-ui2/webpack/runtime/define property getters","webpack://yc-ui2/webpack/runtime/global","webpack://yc-ui2/webpack/runtime/hasOwnProperty shorthand","webpack://yc-ui2/webpack/runtime/make namespace object","webpack://yc-ui2/webpack/runtime/publicPath","webpack://yc-ui2/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://yc-ui2/./src/components/YcSlideVerify/index.vue","webpack://yc-ui2/src/components/YcSlideVerify/index.vue","webpack://yc-ui2/./src/components/YcSlideVerify/index.vue?aaea","webpack://yc-ui2/./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js","webpack://yc-ui2/./src/components/YcSlideVerify/index.vue?0582","webpack://yc-ui2/./src/components/YcCustomerService/index.vue","webpack://yc-ui2/./src/components/YcCustomerService/chat.vue","webpack://yc-ui2/./src/components/YcCustomerService/chatMixin.js","webpack://yc-ui2/src/components/YcCustomerService/chat.vue","webpack://yc-ui2/./src/components/YcCustomerService/chat.vue?5072","webpack://yc-ui2/./src/components/YcCustomerService/chat.vue?40e1","webpack://yc-ui2/src/components/YcCustomerService/index.vue","webpack://yc-ui2/./src/components/YcCustomerService/index.vue?d2ba","webpack://yc-ui2/./src/components/YcCustomerService/index.vue?cfd4","webpack://yc-ui2/./src/components/YcQuestion/index.vue","webpack://yc-ui2/src/components/YcQuestion/index.vue","webpack://yc-ui2/./src/components/YcQuestion/index.vue?35d5","webpack://yc-ui2/./src/components/YcQuestion/index.vue?c0dd","webpack://yc-ui2/./src/packages/index.js","webpack://yc-ui2/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"yc-ui2\"] = factory();\n\telse\n\t\troot[\"yc-ui2\"] = factory();\n})((typeof self !== 'undefined' ? self : this), function() {\nreturn ","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw new $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || this || Function('return this')();\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nmodule.exports = false;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nvar global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.33.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.33.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar fails = require('../internals/fails');\n\nvar INCORRECT_TO_LENGTH = fails(function () {\n return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;\n});\n\n// V8 and Safari <= 15.4, FF < 23 throws InternalError\n// https://bugs.chromium.org/p/v8/issues/detail?id=12681\nvar properErrorOnNonWritableLength = function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).push();\n } catch (error) {\n return error instanceof TypeError;\n }\n};\n\nvar FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();\n\n// `Array.prototype.push` method\n// https://tc39.es/ecma262/#sec-array.prototype.push\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n push: function push(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n doesNotExceedSafeInteger(len + argCount);\n for (var i = 0; i < argCount; i++) {\n O[len] = arguments[i];\n len++;\n }\n setArrayLength(O, len);\n return len;\n }\n});\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"\";","/* eslint-disable no-var */\n// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('el-dialog',{attrs:{\"title\":_vm.title,\"visible\":_vm.isShow,\"width\":\"350px\",\"append-to-body\":true},on:{\"close\":_vm.handleClose}},[_c('slide-verify',{ref:\"slideblock\",attrs:{\"l\":42,\"r\":10,\"w\":310,\"h\":155,\"imgs\":_vm.imgs,\"accuracy\":_vm.accuracy,\"slider-text\":_vm.sliderText},on:{\"success\":_vm.onSuccess,\"fail\":_vm.onFail,\"again\":_vm.onAgain,\"refresh\":_vm.onRefresh,\"fulfilled\":_vm.onFulfilled}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <el-dialog\r\n :title=\"title\"\r\n :visible=\"isShow\"\r\n width=\"350px\"\r\n :append-to-body=\"true\"\r\n @close=\"handleClose\"\r\n >\r\n <slide-verify\r\n ref=\"slideblock\"\r\n :l=\"42\"\r\n :r=\"10\"\r\n :w=\"310\"\r\n :h=\"155\"\r\n :imgs=\"imgs\"\r\n :accuracy=\"accuracy\"\r\n :slider-text=\"sliderText\"\r\n @success=\"onSuccess\"\r\n @fail=\"onFail\"\r\n @again=\"onAgain\"\r\n @refresh=\"onRefresh\"\r\n @fulfilled=\"onFulfilled\"\r\n ></slide-verify>\r\n </el-dialog>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: \"YcSlideVerify\",\r\n props: {\r\n title: {\r\n type: String,\r\n default: \"滑动验证\",\r\n },\r\n isShow: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n },\r\n data() {\r\n return {\r\n accuracy: 5,\r\n sliderText: \"拖动完成上方拼图\",\r\n countDownNum: 120,\r\n }\r\n },\r\n computed: {\r\n imgs() {\r\n const list = []\r\n for (let i = 1; i < 9; i++) {\r\n list.push(`/cloud-img/${i}.jpg`)\r\n }\r\n return list\r\n },\r\n },\r\n watch: {\r\n isShow(newVal) {\r\n newVal &&\r\n this.$refs.slideblock &&\r\n this.$refs.slideblock.reset &&\r\n this.$refs.slideblock.reset()\r\n },\r\n },\r\n created() {},\r\n methods: {\r\n onSuccess() {\r\n this.$emit(\"success\")\r\n },\r\n onFail() {},\r\n onAgain() {},\r\n onRefresh() {},\r\n onFulfilled() {},\r\n handleClose() {\r\n this.$emit(\"close\")\r\n },\r\n },\r\n}\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.el-dialog__wrapper {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n::v-deep .el-dialog {\r\n margin-top: 0 !important;\r\n border-radius: 8px;\r\n}\r\n::v-deep .el-dialog__header {\r\n background-color: #f2f6fc;\r\n border-radius: 8px 8px 0 0;\r\n}\r\n.el-dialog__body {\r\n display: flex;\r\n justify-content: center;\r\n}\r\n</style>\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-124.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-124.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=f25df386&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=f25df386&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f25df386\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{ref:\"customer\",staticStyle:{\"display\":\"none\"}},[_c('chat-vue',{attrs:{\"visible\":_vm.visible,\"jumpPage\":_vm.jumpPage,\"title\":_vm.title,\"json\":_vm.json,\"regular\":_vm.regular},on:{\"update:visible\":function($event){_vm.visible=$event}}}),_c('div',{staticClass:\"customerService\"},[_c('div',{staticClass:\"mobile\"},[_vm._t(\"default\")],2),_c('div',{staticClass:\"headset\",on:{\"click\":function($event){_vm.visible = !_vm.visible}}},[_vm._m(0),_vm._m(1)])])],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',[_c('i',{staticClass:\"el-icon-headset\"})])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',[_c('a',[_vm._v(\"在线客服\")])])\n}]\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.visible),expression:\"visible\"}],staticClass:\"chat\"},[_c('header',[_c('img',{attrs:{\"src\":\"/cloud-img/customerService/admin.jpg\"}}),_c('span',[_vm._v(_vm._s(_vm.title))]),(_vm.jumpPage)?_c('i',{staticClass:\"icon-enlarge\",on:{\"click\":_vm.enlarge}},[_c('img',{attrs:{\"src\":\"/cloud-img/customerService/enlarge.png\"}})]):_vm._e(),_c('i',{staticClass:\"el-icon-close\",on:{\"click\":_vm.close}})]),_c('main',{ref:\"main\"},_vm._l((_vm.messagelist),function(item,index){return _c('div',{key:index,class:['message', item.id]},[_c('img',{staticClass:\"avatar\",attrs:{\"src\":`/cloud-img/customerService/${item.id}.jpg`}}),_c('div',{staticClass:\"content\"},[_vm._l((item.msg),function(msg,index){return _c('span',{key:msg + index,class:item.msg.length > 1 ? 'href' : '',domProps:{\"innerHTML\":_vm._s((item.msg.length > 1 ? 1 + index + '. ' : ' ') + msg)},on:{\"click\":function($event){item.msg.length > 1 && _vm.regularClick(msg)}}})}),(item.based)?_c('div',{staticClass:\"based\",on:{\"click\":function($event){return _vm.handExpand(item)}}},[_c('span',[_vm._v(\"依据\")]),_c('span',{class:{ 'is-active': item.isActive }},[_vm._v(_vm._s(item.based)),_c('i',{staticClass:\"el-icon-d-arrow-right\"})])]):_vm._e()],2)])}),0),_c('nav',_vm._l((_vm.regular),function(item,index){return _c('el-button',{key:item + index,attrs:{\"size\":\"mini\",\"round\":\"\"},on:{\"click\":function($event){return _vm.regularClick(item)}}},[_vm._v(_vm._s(item))])}),1),_c('el-input',{attrs:{\"type\":\"textarea\",\"maxlength\":\"500\",\"autosize\":{ minRows: 2, maxRows: 3 },\"autofocus\":\"true\",\"resize\":\"none\",\"placeholder\":\"请反馈您的问题,我们将尽快回复\"},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.carriageReturn.apply(null, arguments)}},model:{value:(_vm.textareaValue),callback:function ($$v) {_vm.textareaValue=$$v},expression:\"textareaValue\"}}),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"disabled\":!_vm.textareaValue},on:{\"click\":_vm.send}},[_vm._v(\"发送\")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n props: {\r\n visible: Boolean,\r\n jumpPage: String,\r\n json: String,\r\n title: String,\r\n commit: String,\r\n regular: Array\r\n },\r\n data() {\r\n return {\r\n textareaValue: \"\",\r\n // regular: ['发票增值税率', '城市维护建设税', '教育费附加征收率'],\r\n messagelist: [\r\n {id: 'admin', msg: ['您好,38号客服很高兴为你服务!'], isActive: false},\r\n // {id: 'personal', msg: ['消费税?']}\r\n ],\r\n isActive: false\r\n }\r\n },\r\n computed: {\r\n questions() {\r\n return JSON.parse(this.json)\r\n }\r\n },\r\n methods: {\r\n close() {\r\n this.$emit(\"update:visible\", false);\r\n },\r\n carriageReturn() {\r\n let e = window.event || arguments[0];\r\n if ((e.key == \"Enter\" || e.code == \"Enter\" || e.keyCode == 13) && this.textareaValue) {\r\n this.send()\r\n }\r\n },\r\n send() {\r\n if(!this.textareaValue.replace(/[^\\w\\u4E00-\\u9FA5]/g, ''))\r\n return\r\n\r\n this.add(this.textareaValue, \"personal\", ()=> {this.textareaValue = ''})\r\n this.search(this.textareaValue)\r\n },\r\n regularClick(msg) {\r\n this.add(msg)\r\n this.search(msg)\r\n },\r\n search(msg) {\r\n const list = this.questions.filter(item => item.faq.replace(/[^\\w\\u4E00-\\u9FA5]/g, '').toLowerCase().includes(msg.replace(/[^\\w\\u4E00-\\u9FA5]/g, '').toLowerCase()))\r\n let [vlaue, based] = ['', '']\r\n \r\n if(list.length > 1) {\r\n vlaue = list.reduce((prev, curr) => [...prev, curr.faq], [])\r\n } else if(list.length == 1) {\r\n [vlaue, based] = [list[0].msg, list[0].based]\r\n } else if([\"您好\",\"你好\"].includes(msg.replace(/[^\\w\\u4E00-\\u9FA5]/g, ''))) {\r\n vlaue = '您好!'\r\n } else {\r\n vlaue = '请提关键词问题?<br/> 比如: 税率<br/><br/><a href=\"tel:4000770168\">客服热线:<span style=\"color: #FF575F;\">400 0770 168</span></a>'\r\n }\r\n this.add(vlaue, 'admin', null, based)\r\n },\r\n add(msg, id=\"personal\", fun, based = \"\") {\r\n this.messagelist.push({\r\n id,\r\n msg: Array.isArray(msg) ? msg : [msg],\r\n based,\r\n isActive: false\r\n })\r\n this.$nextTick(() => {\r\n fun && fun()\r\n // this.$refs.main.scrollTop += 70\r\n this.$refs.main.scrollTop = this.$refs.main.scrollHeight\r\n // console.log(this.$refs.main.scrollTop, this.$refs.main.scrollHeight)\r\n })\r\n },\r\n enlarge() {\r\n // this.$router.resolve({\r\n // name: this.jumpPage\r\n // })\r\n \r\n window.open(this.jumpPage, '_blank')\r\n },\r\n handExpand(item) {\r\n item.isActive = !item.isActive\r\n }\r\n }\r\n}","<template>\r\n <div class=\"chat\" v-show=\"visible\">\r\n <header>\r\n <img src=\"/cloud-img/customerService/admin.jpg\" />\r\n <span>{{ title }}</span>\r\n <i class=\"icon-enlarge\" v-if=\"jumpPage\" @click=\"enlarge\"\r\n ><img src=\"/cloud-img/customerService/enlarge.png\"\r\n /></i>\r\n <i class=\"el-icon-close\" @click=\"close\"></i>\r\n </header>\r\n <main ref=\"main\">\r\n <div\r\n v-for=\"(item, index) in messagelist\"\r\n :key=\"index\"\r\n :class=\"['message', item.id]\"\r\n >\r\n <img\r\n class=\"avatar\"\r\n :src=\"`/cloud-img/customerService/${item.id}.jpg`\"\r\n />\r\n <div class=\"content\">\r\n <span\r\n v-for=\"(msg, index) in item.msg\"\r\n :key=\"msg + index\"\r\n v-html=\"(item.msg.length > 1 ? 1 + index + '. ' : ' ') + msg\"\r\n :class=\"item.msg.length > 1 ? 'href' : ''\"\r\n @click=\"item.msg.length > 1 && regularClick(msg)\"\r\n ></span>\r\n <div class=\"based\" v-if=\"item.based\" @click=\"handExpand(item)\">\r\n <span>依据</span\r\n ><span :class=\"{ 'is-active': item.isActive }\"\r\n >{{ item.based }}<i class=\"el-icon-d-arrow-right\"></i\r\n ></span>\r\n </div>\r\n </div>\r\n </div>\r\n </main>\r\n <nav>\r\n <el-button\r\n size=\"mini\"\r\n round\r\n v-for=\"(item, index) in regular\"\r\n :key=\"item + index\"\r\n @click=\"regularClick(item)\"\r\n >{{ item }}</el-button\r\n >\r\n </nav>\r\n <el-input\r\n type=\"textarea\"\r\n maxlength=\"500\"\r\n :autosize=\"{ minRows: 2, maxRows: 3 }\"\r\n autofocus=\"true\"\r\n resize=\"none\"\r\n placeholder=\"请反馈您的问题,我们将尽快回复\"\r\n v-model=\"textareaValue\"\r\n @keyup.enter.native=\"carriageReturn\"\r\n >\r\n </el-input>\r\n <!-- <el-button size=\"mini\" type=\"primary\">发送</el-button> -->\r\n <el-button\r\n type=\"primary\"\r\n size=\"mini\"\r\n :disabled=\"!textareaValue\"\r\n @click=\"send\"\r\n >发送</el-button\r\n >\r\n </div>\r\n</template>\r\n<script>\r\nimport chatMixin from \"./chatMixin\"\r\nexport default {\r\n name: \"ChatMini\",\r\n mixins: [chatMixin],\r\n}\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.chat {\r\n width: 350px;\r\n height: 480px;\r\n position: fixed;\r\n bottom: 10px;\r\n right: 55px;\r\n z-index: 2001;\r\n background-color: #ffffff;\r\n border-radius: 12px;\r\n border: 1px solid #e6ebf5;\r\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12), 0 0 6px rgba(0, 0, 0, 0.04);\r\n overflow: hidden;\r\n > header {\r\n display: flex;\r\n justify-content: flex-start;\r\n align-items: center;\r\n background-color: #ff575f;\r\n font-size: 16px;\r\n padding: 10px;\r\n font-weight: 400;\r\n color: #fafdff;\r\n > img {\r\n width: 44px;\r\n height: 44px;\r\n border-radius: 50%;\r\n margin-right: 10px;\r\n transition: all 0.3s linear;\r\n &:focus,\r\n &:hover {\r\n transform: scale(1.2, 1.2) rotate(15deg);\r\n }\r\n }\r\n i {\r\n cursor: pointer;\r\n position: absolute;\r\n top: 5px;\r\n width: 20px;\r\n height: 20px;\r\n border-radius: 6px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n transition: all 0.3s linear;\r\n &:focus,\r\n &:hover {\r\n transform: scale(1.2, 1.2);\r\n background-color: rgba(255, 137, 122, 0.8);\r\n }\r\n &.el-icon-close {\r\n right: 10px;\r\n }\r\n &.icon-enlarge {\r\n right: 35px;\r\n }\r\n > img {\r\n width: 12px;\r\n }\r\n }\r\n }\r\n\r\n > main {\r\n width: 100%;\r\n height: 60%;\r\n overflow-y: auto;\r\n padding-bottom: 20px;\r\n background-color: #f7f7f9;\r\n // 滚动条宽度\r\n &::-webkit-scrollbar {\r\n width: 6px;\r\n }\r\n // 滚动条轨道\r\n &::-webkit-scrollbar-track {\r\n background: rgb(239, 239, 239);\r\n border-radius: 2px;\r\n }\r\n // 小滑块\r\n &::-webkit-scrollbar-thumb {\r\n background: #ff8879;\r\n border-radius: 10px;\r\n }\r\n &::-webkit-scrollbar-thumb:hover {\r\n background: #ff755d;\r\n }\r\n .message {\r\n display: flex;\r\n gap: 15px;\r\n position: relative;\r\n margin: 20px 5px 0px 5px;\r\n opacity: 0;\r\n .avatar {\r\n width: 30px;\r\n height: 30px;\r\n border-radius: 50%;\r\n }\r\n .content {\r\n width: fit-content;\r\n max-width: 250px;\r\n font-weight: 400;\r\n font-size: 12px;\r\n color: #4c4c4d;\r\n line-height: 20px;\r\n padding: 10px;\r\n border-radius: 10px;\r\n background-color: #ffffff;\r\n .href {\r\n cursor: pointer;\r\n display: block;\r\n color: #ff575f;\r\n margin-bottom: 0.5rem;\r\n &:hover {\r\n text-decoration: underline;\r\n }\r\n }\r\n\r\n > .based {\r\n cursor: pointer;\r\n color: #909399;\r\n display: flex;\r\n align-items: flex-start;\r\n justify-content: flex-start;\r\n border-top: 1px solid #ebebed;\r\n padding-top: 5px;\r\n margin-top: 5px;\r\n gap: 5px;\r\n\r\n & > span:first-child {\r\n white-space: nowrap;\r\n color: #4c4c4d;\r\n border-radius: 10px;\r\n background-color: #eeeef0;\r\n padding: 0px 7px;\r\n }\r\n\r\n & > span:last-child {\r\n width: 100%;\r\n position: relative;\r\n display: inline-block;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n padding-right: 12px;\r\n\r\n .el-icon-d-arrow-right {\r\n position: absolute;\r\n right: 0px;\r\n bottom: 5px;\r\n transform: rotate(90deg);\r\n transition: all 0.35s linear;\r\n }\r\n &.is-active {\r\n overflow: visible;\r\n white-space: normal;\r\n .el-icon-d-arrow-right {\r\n transform: rotate(270deg);\r\n }\r\n }\r\n\r\n &:hover {\r\n color: #ff575f;\r\n }\r\n }\r\n }\r\n }\r\n &.admin {\r\n animation: animation01 0.3s linear 1.5s forwards;\r\n .content::before {\r\n content: \"\";\r\n position: absolute;\r\n top: 2px;\r\n left: 37px;\r\n transform: rotate(-45deg);\r\n border-width: 10px;\r\n border-style: solid;\r\n border-color: transparent transparent transparent #ffffff;\r\n }\r\n }\r\n &.personal {\r\n animation: animation01 0.3s linear 0.3s forwards;\r\n flex-direction: row-reverse;\r\n .content::after {\r\n content: \"\";\r\n position: absolute;\r\n top: 2px;\r\n right: 37px;\r\n transform: rotate(-45deg);\r\n border-width: 10px;\r\n border-style: solid;\r\n border-color: transparent transparent #ffffff transparent;\r\n }\r\n }\r\n @keyframes animation01 {\r\n 0% {\r\n transform: translateY(20px);\r\n opacity: 0;\r\n }\r\n\r\n 100% {\r\n transform: translateY(0px);\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n }\r\n > nav {\r\n // overflow-x: auto;\r\n background-color: #f7f7f9;\r\n border-bottom: 1px solid #e7e7ea;\r\n padding: 5px 10px;\r\n display: flex;\r\n .el-button {\r\n font-size: 12px;\r\n font-weight: 400;\r\n color: #4c4c4d;\r\n background-color: #fff !important;\r\n border: 1px solid #e7e7ea;\r\n padding: 5px 8px;\r\n }\r\n }\r\n > .el-textarea {\r\n border-color: transparent;\r\n textarea {\r\n overflow-y: hidden;\r\n padding-right: 65px;\r\n font-weight: 400;\r\n color: #19191a;\r\n font-size: 12px;\r\n font-family: Source Han Sans CN-Regular, Source Han Sans CN;\r\n }\r\n textarea,\r\n textarea:focus {\r\n border-color: transparent;\r\n }\r\n }\r\n > .el-button {\r\n position: absolute;\r\n bottom: 10px;\r\n right: 10px;\r\n }\r\n}\r\n</style>\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-124.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./chat.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-124.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./chat.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./chat.vue?vue&type=template&id=42a8b467&scoped=true&\"\nimport script from \"./chat.vue?vue&type=script&lang=js&\"\nexport * from \"./chat.vue?vue&type=script&lang=js&\"\nimport style0 from \"./chat.vue?vue&type=style&index=0&id=42a8b467&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"42a8b467\",\n null\n \n)\n\nexport default component.exports","<template>\r\n <div ref=\"customer\" style=\"display: none\">\r\n <chat-vue\r\n :visible.sync=\"visible\"\r\n :jumpPage=\"jumpPage\"\r\n :title=\"title\"\r\n :json=\"json\"\r\n :regular=\"regular\"\r\n />\r\n <div class=\"customerService\">\r\n <div class=\"mobile\">\r\n <slot></slot>\r\n <!-- <div><i class=\"el-icon-mobile\"></i></div>\r\n <div>\r\n <span>客服热线</span>\r\n <a href=\"tel:4000770168\">400 0770 168</a>\r\n <template v-if=\"!['/login', '/register'].includes($route.path)\">\r\n <span style=\"margin-top: 10px\">银行服务电话</span>\r\n <a href=\"tel:13973004180\">13973004180(蒋行长)</a>\r\n <a href=\"tel:15773001997\">15773001997(彭经理)</a>\r\n </template>\r\n </div> -->\r\n </div>\r\n <div class=\"headset\" @click=\"visible = !visible\">\r\n <div><i class=\"el-icon-headset\"></i></div>\r\n <div><a>在线客服</a></div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport chatVue from \"./chat.vue\"\r\nexport default {\r\n name: \"YcCustomerService\",\r\n components: {\r\n chatVue,\r\n },\r\n props: {\r\n jumpPage: String,\r\n title: String,\r\n json: String,\r\n regular: Array,\r\n },\r\n data() {\r\n return {\r\n visible: false,\r\n }\r\n },\r\n computed: {\r\n hasSlot() {\r\n return Boolean(this.$slots.default)\r\n },\r\n },\r\n watch: {\r\n $route(to) {\r\n if (to.path != this.jumpPage) {\r\n this.$refs.customer.style.display = \"block\"\r\n } else {\r\n this.$refs.customer.style.display = \"none\"\r\n }\r\n },\r\n },\r\n mounted() {\r\n this.$refs.customer.style.display = \"block\"\r\n },\r\n}\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.customerService {\r\n position: fixed;\r\n right: 0px;\r\n bottom: 35px;\r\n z-index: 2001;\r\n > div {\r\n cursor: pointer;\r\n position: absolute;\r\n right: 0px;\r\n display: flex;\r\n align-items: center;\r\n background-color: #ffffff;\r\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12), 0 0 6px rgba(0, 0, 0, 0.04);\r\n &:hover {\r\n > div:first-child {\r\n color: #ff4949;\r\n i {\r\n animation-name: animateRotate;\r\n animation-duration: 0.5s;\r\n animation-iteration-count: infinite;\r\n }\r\n }\r\n }\r\n > div:first-child {\r\n width: 50px;\r\n height: 50px;\r\n text-align: center;\r\n line-height: 50px;\r\n font-size: 18px;\r\n }\r\n > div:last-child {\r\n opacity: 0;\r\n // transition: all 0.3s linear;\r\n padding: 10px;\r\n border-radius: 6px;\r\n position: absolute;\r\n min-height: 50px;\r\n display: flex;\r\n flex-direction: column;\r\n // align-items: center;\r\n justify-content: space-around;\r\n background-color: #ffffff;\r\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12), 0 0 6px rgba(0, 0, 0, 0.04);\r\n &::after {\r\n content: \"\";\r\n position: absolute;\r\n top: calc(50% - 10px);\r\n right: -20px;\r\n border-width: 10px;\r\n border-style: solid;\r\n border-color: transparent transparent transparent #ffffff;\r\n filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.2));\r\n }\r\n a {\r\n color: #333;\r\n font-size: 14px;\r\n display: block;\r\n }\r\n }\r\n }\r\n .mobile {\r\n bottom: 50px;\r\n border-bottom: 1px solid #e6ebf5;\r\n &:hover {\r\n > div:last-child {\r\n left: -210px;\r\n opacity: 1;\r\n animation-name: animateMobile;\r\n animation-duration: 0.5s;\r\n }\r\n }\r\n > div:last-child {\r\n left: -120vw;\r\n width: 190px;\r\n bottom: 0px;\r\n a {\r\n width: fit-content;\r\n position: relative;\r\n margin-top: 5px;\r\n text-indent: 5px;\r\n &:hover {\r\n color: #ff4949;\r\n &::before {\r\n width: 100%;\r\n right: auto;\r\n left: 0px;\r\n }\r\n }\r\n &::before {\r\n content: \"\";\r\n width: 0%;\r\n height: 1px;\r\n opacity: 0.6;\r\n background: #ff4949;\r\n transition: all 0.5s linear;\r\n position: absolute;\r\n right: 0px;\r\n bottom: -2px;\r\n }\r\n }\r\n &::after {\r\n top: calc(100% - 35px);\r\n }\r\n }\r\n @keyframes animateMobile {\r\n 0% {\r\n left: -200vw;\r\n opacity: 0;\r\n }\r\n 0.1% {\r\n left: -310px;\r\n opacity: 0;\r\n }\r\n 100% {\r\n left: -210px;\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n .headset {\r\n bottom: 0px;\r\n &:hover {\r\n > div:last-child {\r\n left: -110px;\r\n opacity: 1;\r\n animation-name: animateHeadset;\r\n animation-duration: 0.5s;\r\n }\r\n }\r\n > div:last-child {\r\n left: -120vw;\r\n width: 90px;\r\n }\r\n @keyframes animateHeadset {\r\n 0% {\r\n left: -120vw;\r\n opacity: 0;\r\n }\r\n 0.1% {\r\n left: -210px;\r\n opacity: 0.5;\r\n }\r\n 100% {\r\n left: -110px;\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n @keyframes animateRotate {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 20% {\r\n transform: rotate(7deg);\r\n }\r\n 40% {\r\n transform: rotate(0deg);\r\n }\r\n 80% {\r\n transform: rotate(-7deg);\r\n }\r\n 100% {\r\n transform: rotate(0deg);\r\n }\r\n }\r\n}\r\n</style>\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-124.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-124.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=849349a0&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=849349a0&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"849349a0\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"YcQuestion\"},[_c('div',{staticClass:\"chatPage\"},[_c('header',{staticStyle:{\"background\":\"url('/cloud-img/customerService/chatTop.png') center\",\"background-size\":\"cover\"}},[_c('div',[_c('h3',[_vm._v(_vm._s(_vm.title))]),_c('span',[_vm._v(\"Problem Help\")])]),_c('p',[_vm._v(\"小优为您提供24小时服务\")])]),_c('div',{staticClass:\"main\"},[_c('div',[_c('main',{ref:\"main\"},[_c('p',[_vm._v(\"今天\"+_vm._s(_vm.currData))]),_vm._l((_vm.messagelist),function(item,index){return _c('div',{key:index,class:['message', item.id]},[_c('img',{staticClass:\"avatar\",attrs:{\"src\":'/cloud-img/customerService/' + item.id + '.jpg'}}),_c('div',{staticClass:\"content\"},[_vm._l((item.msg),function(msg,index){return _c('span',{key:msg + index,class:item.msg.length > 1 ? 'href' : '',domProps:{\"innerHTML\":_vm._s((item.msg.length > 1 ? 1 + index + '. ' : ' ') + msg)},on:{\"click\":function($event){item.msg.length > 1 && _vm.regularClick(msg)}}})}),(item.based)?_c('div',{staticClass:\"based\",on:{\"click\":function($event){$event.preventDefault();return _vm.handExpand(item)}}},[_c('span',[_vm._v(\"依据\")]),_c('span',{class:{ 'is-active': item.isActive }},[_vm._v(_vm._s(item.based)),_c('i',{staticClass:\"el-icon-d-arrow-right\"})])]):_vm._e()],2)])})],2),_c('footer',[_c('el-input',{attrs:{\"type\":\"textarea\",\"maxlength\":\"500\",\"autosize\":{ minRows: 6, maxRows: 6 },\"autofocus\":\"true\",\"resize\":\"none\",\"placeholder\":\"请输入你要咨询的问题\"},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.carriageReturn.apply(null, arguments)}},model:{value:(_vm.textareaValue),callback:function ($$v) {_vm.textareaValue=$$v},expression:\"textareaValue\"}}),_c('el-button',{style:(!_vm.textareaValue\n ? 'background-color: #F7F7F9;color: #FF575F;border-color: transparent;'\n : ''),attrs:{\"type\":\"primary\",\"disabled\":!_vm.textareaValue},on:{\"click\":_vm.send}},[_vm._v(\"发送\")])],1)]),_c('aside',[_c('el-collapse',{attrs:{\"accordion\":\"\"},model:{value:(_vm.activeNames),callback:function ($$v) {_vm.activeNames=$$v},expression:\"activeNames\"}},_vm._l((_vm.questionsList),function(item,key,index){return _c('el-collapse-item',{key:key,attrs:{\"name\":index}},[_c('template',{slot:\"title\"},[_c('img',{attrs:{\"src\":\"/cloud-img/customerService/ellipticalWenh.png\"}}),_vm._v(_vm._s(key)+\" \")]),_vm._l((item),function(faq){return _c('div',{key:faq,domProps:{\"innerHTML\":_vm._s(faq)},on:{\"click\":function($event){return _vm.regularClick(faq)}}})})],2)}),1)],1)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"YcQuestion\">\r\n <div class=\"chatPage\">\r\n <header\r\n style=\"\r\n background: url('/cloud-img/customerService/chatTop.png') center\r\n no-repeat cover;\r\n background-size: cover;\r\n \"\r\n >\r\n <div>\r\n <h3>{{ title }}</h3>\r\n <span>Problem Help</span>\r\n </div>\r\n <p>小优为您提供24小时服务</p>\r\n </header>\r\n <div class=\"main\">\r\n <div>\r\n <main ref=\"main\">\r\n <p>今天{{ currData }}</p>\r\n <div\r\n v-for=\"(item, index) in messagelist\"\r\n :key=\"index\"\r\n :class=\"['message', item.id]\"\r\n >\r\n <img\r\n class=\"avatar\"\r\n :src=\"'/cloud-img/customerService/' + item.id + '.jpg'\"\r\n />\r\n <div class=\"content\">\r\n <span\r\n v-for=\"(msg, index) in item.msg\"\r\n :key=\"msg + index\"\r\n v-html=\"(item.msg.length > 1 ? 1 + index + '. ' : ' ') + msg\"\r\n :class=\"item.msg.length > 1 ? 'href' : ''\"\r\n @click=\"item.msg.length > 1 && regularClick(msg)\"\r\n ></span>\r\n <div\r\n class=\"based\"\r\n v-if=\"item.based\"\r\n @click.prevent=\"handExpand(item)\"\r\n >\r\n <span>依据</span\r\n ><span :class=\"{ 'is-active': item.isActive }\"\r\n >{{ item.based }}<i class=\"el-icon-d-arrow-right\"></i\r\n ></span>\r\n </div>\r\n </div>\r\n </div>\r\n </main>\r\n <footer>\r\n <el-input\r\n type=\"textarea\"\r\n maxlength=\"500\"\r\n :autosize=\"{ minRows: 6, maxRows: 6 }\"\r\n autofocus=\"true\"\r\n resize=\"none\"\r\n placeholder=\"请输入你要咨询的问题\"\r\n v-model=\"textareaValue\"\r\n @keyup.enter.native=\"carriageReturn\"\r\n >\r\n </el-input>\r\n <el-button\r\n type=\"primary\"\r\n :disabled=\"!textareaValue\"\r\n :style=\"\r\n !textareaValue\r\n ? 'background-color: #F7F7F9;color: #FF575F;border-color: transparent;'\r\n : ''\r\n \"\r\n @click=\"send\"\r\n >发送</el-button\r\n >\r\n </footer>\r\n </div>\r\n <aside>\r\n <el-collapse v-model=\"activeNames\" accordion>\r\n <el-collapse-item\r\n v-for=\"(item, key, index) in questionsList\"\r\n :key=\"key\"\r\n :name=\"index\"\r\n >\r\n <template slot=\"title\">\r\n <img src=\"/cloud-img/customerService/ellipticalWenh.png\" />{{\r\n key\r\n }}\r\n </template>\r\n <div\r\n v-for=\"faq in item\"\r\n :key=\"faq\"\r\n v-html=\"faq\"\r\n @click=\"regularClick(faq)\"\r\n ></div>\r\n </el-collapse-item>\r\n </el-collapse>\r\n </aside>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n<script>\r\nimport chatMixin from \"comp/YcCustomerService/chatMixin\"\r\nexport default {\r\n name: \"YcQuestion\",\r\n mixins: [chatMixin],\r\n data() {\r\n return {\r\n activeNames: [1],\r\n }\r\n },\r\n computed: {\r\n currData() {\r\n const currData = new Date()\r\n return `${currData.getHours()}:${currData.getMinutes()}`\r\n },\r\n questionsList() {\r\n return this.questions.reduce((prev, curr) => {\r\n // eslint-disable-next-line no-prototype-builtins\r\n if (prev.hasOwnProperty(curr.type)) {\r\n prev[curr.type].push(curr.faq)\r\n } else {\r\n prev[curr.type] = [curr.faq]\r\n }\r\n return prev\r\n }, {})\r\n },\r\n },\r\n}\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.YcQuestion {\r\n // min-width: auto;\r\n // overflow: hidden;\r\n // height: 100vh;\r\n ::v-deep .chatPage {\r\n background-color: #ffffff;\r\n\r\n > header {\r\n height: 8vw;\r\n display: flex;\r\n justify-content: flex-start;\r\n align-items: center;\r\n gap: 5vw;\r\n padding-left: 8vw;\r\n // background: url(\"/cloud-img/customerService/chatTop.png\");\r\n background-position: center center;\r\n background-repeat: no-repeat;\r\n background-size: cover;\r\n\r\n > div {\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n // flex-direction: row-reverse;\r\n h3 {\r\n height: 1vw;\r\n margin-top: 0px;\r\n font-size: 2.125rem;\r\n font-weight: bold;\r\n color: #191a2c;\r\n font-family: Source Han Sans CN-Bold, Source Han Sans CN;\r\n }\r\n\r\n span {\r\n font-size: 1rem;\r\n font-family: LXGW New Clear Gothic-Regular, LXGW New Clear Gothic;\r\n font-weight: 400;\r\n color: #666;\r\n }\r\n }\r\n\r\n p {\r\n font-size: 1rem;\r\n font-family: Source Han Sans CN-Regular, Source Han Sans CN;\r\n font-weight: 400;\r\n color: #2e2f42;\r\n }\r\n }\r\n\r\n .main {\r\n display: flex;\r\n\r\n > div {\r\n width: 74vw;\r\n position: relative;\r\n\r\n > main {\r\n height: 62vh;\r\n overflow-y: auto;\r\n padding-bottom: 2vw;\r\n background-color: #f7f7f9;\r\n\r\n // 滚动条宽度\r\n &::-webkit-scrollbar {\r\n width: 6px;\r\n }\r\n\r\n // 滚动条轨道\r\n &::-webkit-scrollbar-track {\r\n background: rgb(239, 239, 239);\r\n border-radius: 2px;\r\n }\r\n\r\n // 小滑块\r\n &::-webkit-scrollbar-thumb {\r\n background: #ff8879;\r\n border-radius: 10px;\r\n }\r\n\r\n &::-webkit-scrollbar-thumb:hover {\r\n background: #ff755d;\r\n }\r\n\r\n > p {\r\n text-align: center;\r\n font-size: 0.875rem;\r\n font-family: Source Han Sans CN-Regular, Source Han Sans CN;\r\n font-weight: 400;\r\n color: #909399;\r\n }\r\n\r\n .message {\r\n display: flex;\r\n gap: 15px;\r\n margin: 1.5vw 1.5vw 0px 1.5vw;\r\n opacity: 0;\r\n\r\n .avatar {\r\n width: 2.5vw;\r\n height: 2.5vw;\r\n min-width: 35px;\r\n min-height: 35px;\r\n border-radius: 50%;\r\n transition: all 0.3s linear;\r\n &:focus,\r\n &:hover {\r\n transform: scale(1.2, 1.2) rotate(15deg);\r\n }\r\n }\r\n\r\n .content {\r\n width: fit-content;\r\n max-width: 50vw;\r\n font-weight: 400;\r\n font-size: 1rem;\r\n color: #4c4c4d;\r\n padding: 10px;\r\n border-radius: 10px;\r\n position: relative;\r\n background-color: #ffffff;\r\n\r\n .href {\r\n cursor: pointer;\r\n display: block;\r\n color: #ff575f;\r\n margin-bottom: 1.5rem;\r\n\r\n &:hover {\r\n text-decoration: underline;\r\n }\r\n }\r\n\r\n > .based {\r\n cursor: pointer;\r\n font-size: 1rem;\r\n font-weight: 400;\r\n color: #909399;\r\n display: flex;\r\n align-items: flex-start;\r\n justify-content: flex-start;\r\n border-top: 1px solid #ebebed;\r\n padding-top: 0.625rem;\r\n margin-top: 0.625rem;\r\n gap: 0.625rem;\r\n\r\n & > span:first-child {\r\n white-space: nowrap;\r\n color: #4c4c4d;\r\n border-radius: 18px;\r\n background-color: #eeeef0;\r\n padding: 0.1875rem 0.625rem;\r\n margin-top: -0.1875rem;\r\n }\r\n\r\n & > span:last-child {\r\n width: 100%;\r\n position: relative;\r\n display: inline-block;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n padding-right: 12px;\r\n\r\n .el-icon-d-arrow-right {\r\n position: absolute;\r\n right: 0px;\r\n bottom: 0px;\r\n transform: rotate(90deg);\r\n transition: all 0.35s linear;\r\n }\r\n &.is-active {\r\n overflow: visible;\r\n white-space: normal;\r\n .el-icon-d-arrow-right {\r\n transform: rotate(270deg);\r\n }\r\n }\r\n\r\n &:hover {\r\n color: #ff575f;\r\n }\r\n }\r\n }\r\n }\r\n\r\n &.admin {\r\n animation: animation01 0.3s linear 1.5s forwards;\r\n\r\n .content {\r\n margin-top: 20px;\r\n\r\n &::before {\r\n content: \"\";\r\n position: absolute;\r\n top: 2px;\r\n left: -10px;\r\n transform: rotate(-45deg);\r\n border-width: 10px;\r\n border-style: solid;\r\n border-color: transparent transparent transparent #fff;\r\n }\r\n\r\n &::after {\r\n content: \"小优客服【38号为您服务】\";\r\n width: 200px;\r\n font-size: 0.875rem;\r\n font-family: Source Han Sans CN-Medium, Source Han Sans CN;\r\n font-weight: 500;\r\n color: #8b8c8f;\r\n position: absolute;\r\n left: 0px;\r\n top: -20px;\r\n }\r\n }\r\n }\r\n\r\n &.personal {\r\n animation: animation01 0.3s linear 0.3s forwards;\r\n flex-direction: row-reverse;\r\n\r\n .content::after {\r\n content: \"\";\r\n position: absolute;\r\n top: 2px;\r\n right: -10px;\r\n transform: rotate(-45deg);\r\n border-width: 10px;\r\n border-style: solid;\r\n border-color: transparent transparent #ffffff transparent;\r\n }\r\n }\r\n\r\n @keyframes animation01 {\r\n 0% {\r\n transform: translateY(20px);\r\n opacity: 0;\r\n }\r\n\r\n 100% {\r\n transform: translateY(0px);\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n }\r\n\r\n footer {\r\n height: 30vh;\r\n border: 1px solid #e7e7ea;\r\n\r\n > .el-textarea {\r\n border-color: transparent;\r\n\r\n textarea {\r\n overflow-y: hidden;\r\n // padding-right: 65px;\r\n font-weight: 400;\r\n color: #19191a;\r\n font-size: 1rem;\r\n font-family: Source Han Sans CN-Regular, Source Han Sans CN;\r\n }\r\n\r\n textarea,\r\n textarea:focus {\r\n border-color: transparent;\r\n }\r\n }\r\n\r\n > .el-button {\r\n float: right;\r\n // position: absolute;\r\n // bottom: 40px;\r\n // right: 40px;\r\n z-index: 1;\r\n font-size: 0.875rem;\r\n font-family: Source Han Sans CN-Regular, Source Han Sans CN;\r\n font-weight: 400;\r\n border-radius: 4px;\r\n margin-right: 2vw;\r\n width: 5vw;\r\n min-width: 92px;\r\n }\r\n }\r\n }\r\n\r\n aside {\r\n width: 26vw;\r\n height: calc(100vh - 8vw);\r\n padding: 1vw;\r\n overflow-y: auto;\r\n background-color: #ffffff;\r\n\r\n .el-collapse-item__header {\r\n color: #373a3c;\r\n font-size: 1.5rem;\r\n font-weight: 500;\r\n font-family: Source Han Sans CN-Medium, Source Han Sans CN;\r\n padding: 2rem;\r\n background-color: #f00;\r\n background: linear-gradient(#ffdad4, #ffa9a3);\r\n\r\n &.is-active {\r\n color: #ffffff;\r\n background: linear-gradient(#ff897a, #ff645a);\r\n\r\n i {\r\n color: #ffffff;\r\n }\r\n }\r\n\r\n img {\r\n width: 2.25rem;\r\n height: 2.25rem;\r\n float: left;\r\n margin-left: -0.5rem;\r\n margin-right: 0.5rem;\r\n }\r\n\r\n i {\r\n font-size: 2rem;\r\n color: #ff575f;\r\n font-weight: 900;\r\n }\r\n }\r\n\r\n .el-collapse-item__content {\r\n font-size: 1rem;\r\n font-family: Source Han Sans CN-Regular, Source Han Sans CN;\r\n font-weight: 400;\r\n padding: 20px 20px 20px 40px;\r\n color: #000000;\r\n background-color: #f7f7f9;\r\n\r\n > div {\r\n position: relative;\r\n margin-top: 1rem;\r\n cursor: pointer;\r\n transition: all 0.3s linear;\r\n\r\n &:first-child {\r\n margin-top: 0px;\r\n }\r\n\r\n &::before {\r\n content: \"\";\r\n position: absolute;\r\n top: 5px;\r\n left: -15px;\r\n // transform: rotate(-45deg);\r\n // float: left;\r\n border-width: 10px;\r\n border-style: solid;\r\n border-color: transparent transparent transparent #ffa9a3;\r\n }\r\n\r\n &:hover {\r\n color: #ff575f;\r\n transform: translate(0.5rem);\r\n\r\n &::before {\r\n border-color: transparent transparent transparent #ff575f;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n</style>\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-124.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-124.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=b15e6fbc&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=b15e6fbc&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b15e6fbc\",\n null\n \n)\n\nexport default component.exports","import YcSlideVerify from 'comp/YcSlideVerify'\r\nimport YcCustomerService from 'comp/YcCustomerService'\r\nimport YcQuestion from 'comp/YcQuestion'\r\n\r\n\r\nconst components = [\r\n YcSlideVerify,\r\n YcCustomerService,\r\n YcQuestion\r\n]\r\n// 定义 install 方法,接收 Vue 作为参数。如果使用 use 注册插件,则所有的组件都将被注册\r\nconst install = function (Vue) {\r\n // 遍历注册全局组件\r\n components.forEach(component => {\r\n Vue.component(component.name, component)\r\n })\r\n\r\n // 判断是否是直接引入文件,如果是,就不用调用 Vue.use()\r\n if (typeof window !== 'undefined' && window.Vue) {\r\n install(window.Vue)\r\n }\r\n}\r\n\r\n// 导出的对象必须具有 install,才能被 Vue.use() 方法安装\r\nexport default {\r\n install\r\n}\r\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n"],"names":["root","factory","exports","module","define","amd","self","this","isCallable","tryToString","$TypeError","TypeError","argument","isObject","$String","String","toIndexedObject","toAbsoluteIndex","lengthOfArrayLike","createMethod","IS_INCLUDES","$this","el","fromIndex","value","O","length","index","includes","indexOf","DESCRIPTORS","isArray","getOwnPropertyDescriptor","Object","SILENT_ON_NON_WRITABLE_LENGTH_SET","undefined","defineProperty","writable","error","uncurryThis","toString","stringSlice","slice","it","hasOwn","ownKeys","getOwnPropertyDescriptorModule","definePropertyModule","target","source","exceptions","keys","f","i","key","createPropertyDescriptor","object","bitmap","enumerable","configurable","makeBuiltIn","defineGlobalProperty","options","simple","name","global","unsafe","nonConfigurable","nonWritable","fails","get","documentAll","document","all","IS_HTMLDDA","EXISTS","createElement","MAX_SAFE_INTEGER","navigator","userAgent","match","version","process","Deno","versions","v8","split","createNonEnumerableProperty","defineBuiltIn","copyConstructorProperties","isForced","FORCED","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","prototype","dontCallGetSet","forced","sham","exec","test","bind","hasOwnProperty","NATIVE_BIND","call","Function","apply","arguments","FunctionPrototype","getDescriptor","PROPER","CONFIGURABLE","uncurryThisWithBind","fn","aFunction","namespace","method","aCallable","isNullOrUndefined","V","P","func","check","Math","globalThis","window","g","toObject","a","classof","$Object","propertyIsEnumerable","store","functionToString","inspectSource","set","has","NATIVE_WEAK_MAP","shared","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","WeakMap","enforce","getterFor","TYPE","state","type","metadata","facade","STATE","Array","$documentAll","replacement","feature","detection","data","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","getBuiltIn","isPrototypeOf","USE_SYMBOL_AS_UID","$Symbol","toLength","obj","CONFIGURABLE_FUNCTION_NAME","InternalStateModule","enforceInternalState","getInternalState","join","CONFIGURABLE_LENGTH","TEMPLATE","getter","setter","arity","constructor","ceil","floor","trunc","x","n","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","anObject","toPropertyKey","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","WRITABLE","Attributes","current","propertyIsEnumerableModule","internalObjectKeys","enumBugKeys","concat","getOwnPropertyNames","getOwnPropertySymbols","push","names","result","$propertyIsEnumerable","NASHORN_BUG","input","pref","val","valueOf","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","uid","SHARED","IS_PURE","mode","copyright","license","V8_VERSION","symbol","Symbol","toIntegerOrInfinity","max","min","integer","IndexedObject","requireObjectCoercible","number","isSymbol","getMethod","ordinaryToPrimitive","wellKnownSymbol","TO_PRIMITIVE","exoticToPrim","toPrimitive","id","postfix","random","NATIVE_SYMBOL","iterator","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","$","setArrayLength","doesNotExceedSafeInteger","INCORRECT_TO_LENGTH","properErrorOnNonWritableLength","proto","item","len","argCount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","d","definition","o","e","prop","r","toStringTag","p","currentScript","src","render","_vm","_c","_self","attrs","title","isShow","on","handleClose","ref","imgs","accuracy","sliderText","onSuccess","onFail","onAgain","onRefresh","onFulfilled","staticRenderFns","props","default","Boolean","countDownNum","computed","list","watch","newVal","$refs","slideblock","reset","created","methods","$emit","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","component","staticStyle","visible","jumpPage","json","regular","$event","staticClass","_t","_m","_v","directives","rawName","expression","_s","enlarge","_e","close","_l","messagelist","class","msg","domProps","regularClick","based","handExpand","isActive","minRows","maxRows","nativeOn","_k","keyCode","carriageReturn","model","textareaValue","callback","$$v","send","commit","questions","JSON","parse","event","code","search","filter","faq","vlaue","reduce","prev","curr","fun","$nextTick","main","scrollTop","scrollHeight","open","mixins","chatMixin","components","chatVue","hasSlot","$slots","$route","to","path","customer","style","display","mounted","currData","preventDefault","activeNames","questionsList","slot","Date","getHours","getMinutes","YcSlideVerify","YcCustomerService","YcQuestion","install","Vue","forEach"],"sourceRoot":""}
|
1
|
+
{"version":3,"file":"yc-ui2.umd.min.js","mappings":"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","sources":["webpack://yc-ui2/webpack/universalModuleDefinition","webpack://yc-ui2/./node_modules/core-js/internals/a-callable.js","webpack://yc-ui2/./node_modules/core-js/internals/an-object.js","webpack://yc-ui2/./node_modules/core-js/internals/array-includes.js","webpack://yc-ui2/./node_modules/core-js/internals/array-set-length.js","webpack://yc-ui2/./node_modules/core-js/internals/classof-raw.js","webpack://yc-ui2/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://yc-ui2/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://yc-ui2/./node_modules/core-js/internals/create-property-descriptor.js","webpack://yc-ui2/./node_modules/core-js/internals/define-built-in.js","webpack://yc-ui2/./node_modules/core-js/internals/define-global-property.js","webpack://yc-ui2/./node_modules/core-js/internals/descriptors.js","webpack://yc-ui2/./node_modules/core-js/internals/document-all.js","webpack://yc-ui2/./node_modules/core-js/internals/document-create-element.js","webpack://yc-ui2/./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://yc-ui2/./node_modules/core-js/internals/engine-user-agent.js","webpack://yc-ui2/./node_modules/core-js/internals/engine-v8-version.js","webpack://yc-ui2/./node_modules/core-js/internals/enum-bug-keys.js","webpack://yc-ui2/./node_modules/core-js/internals/export.js","webpack://yc-ui2/./node_modules/core-js/internals/fails.js","webpack://yc-ui2/./node_modules/core-js/internals/function-bind-native.js","webpack://yc-ui2/./node_modules/core-js/internals/function-call.js","webpack://yc-ui2/./node_modules/core-js/internals/function-name.js","webpack://yc-ui2/./node_modules/core-js/internals/function-uncurry-this.js","webpack://yc-ui2/./node_modules/core-js/internals/get-built-in.js","webpack://yc-ui2/./node_modules/core-js/internals/get-method.js","webpack://yc-ui2/./node_modules/core-js/internals/global.js","webpack://yc-ui2/./node_modules/core-js/internals/has-own-property.js","webpack://yc-ui2/./node_modules/core-js/internals/hidden-keys.js","webpack://yc-ui2/./node_modules/core-js/internals/ie8-dom-define.js","webpack://yc-ui2/./node_modules/core-js/internals/indexed-object.js","webpack://yc-ui2/./node_modules/core-js/internals/inspect-source.js","webpack://yc-ui2/./node_modules/core-js/internals/internal-state.js","webpack://yc-ui2/./node_modules/core-js/internals/is-array.js","webpack://yc-ui2/./node_modules/core-js/internals/is-callable.js","webpack://yc-ui2/./node_modules/core-js/internals/is-forced.js","webpack://yc-ui2/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://yc-ui2/./node_modules/core-js/internals/is-object.js","webpack://yc-ui2/./node_modules/core-js/internals/is-pure.js","webpack://yc-ui2/./node_modules/core-js/internals/is-symbol.js","webpack://yc-ui2/./node_modules/core-js/internals/length-of-array-like.js","webpack://yc-ui2/./node_modules/core-js/internals/make-built-in.js","webpack://yc-ui2/./node_modules/core-js/internals/math-trunc.js","webpack://yc-ui2/./node_modules/core-js/internals/object-define-property.js","webpack://yc-ui2/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://yc-ui2/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://yc-ui2/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://yc-ui2/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://yc-ui2/./node_modules/core-js/internals/object-keys-internal.js","webpack://yc-ui2/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://yc-ui2/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://yc-ui2/./node_modules/core-js/internals/own-keys.js","webpack://yc-ui2/./node_modules/core-js/internals/require-object-coercible.js","webpack://yc-ui2/./node_modules/core-js/internals/shared-key.js","webpack://yc-ui2/./node_modules/core-js/internals/shared-store.js","webpack://yc-ui2/./node_modules/core-js/internals/shared.js","webpack://yc-ui2/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://yc-ui2/./node_modules/core-js/internals/to-absolute-index.js","webpack://yc-ui2/./node_modules/core-js/internals/to-indexed-object.js","webpack://yc-ui2/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://yc-ui2/./node_modules/core-js/internals/to-length.js","webpack://yc-ui2/./node_modules/core-js/internals/to-object.js","webpack://yc-ui2/./node_modules/core-js/internals/to-primitive.js","webpack://yc-ui2/./node_modules/core-js/internals/to-property-key.js","webpack://yc-ui2/./node_modules/core-js/internals/try-to-string.js","webpack://yc-ui2/./node_modules/core-js/internals/uid.js","webpack://yc-ui2/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://yc-ui2/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://yc-ui2/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://yc-ui2/./node_modules/core-js/internals/well-known-symbol.js","webpack://yc-ui2/./node_modules/core-js/modules/es.array.push.js","webpack://yc-ui2/./src/components/YcCA/mTokenPluginBeijin/xtxasyn.js","webpack://yc-ui2/./src/components/YcCA/mTokenPlugin/mToken.js","webpack://yc-ui2/webpack/bootstrap","webpack://yc-ui2/webpack/runtime/compat get default export","webpack://yc-ui2/webpack/runtime/define property getters","webpack://yc-ui2/webpack/runtime/global","webpack://yc-ui2/webpack/runtime/hasOwnProperty shorthand","webpack://yc-ui2/webpack/runtime/make namespace object","webpack://yc-ui2/webpack/runtime/publicPath","webpack://yc-ui2/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://yc-ui2/./src/components/YcSlideVerify/index.vue","webpack://yc-ui2/src/components/YcSlideVerify/index.vue","webpack://yc-ui2/./src/components/YcSlideVerify/index.vue?aaea","webpack://yc-ui2/./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js","webpack://yc-ui2/./src/components/YcSlideVerify/index.vue?0582","webpack://yc-ui2/./src/components/YcCustomerService/index.vue","webpack://yc-ui2/./src/components/YcCustomerService/chat.vue","webpack://yc-ui2/./src/components/YcCustomerService/chatMixin.js","webpack://yc-ui2/src/components/YcCustomerService/chat.vue","webpack://yc-ui2/./src/components/YcCustomerService/chat.vue?5072","webpack://yc-ui2/./src/components/YcCustomerService/chat.vue?40e1","webpack://yc-ui2/src/components/YcCustomerService/index.vue","webpack://yc-ui2/./src/components/YcCustomerService/index.vue?d2ba","webpack://yc-ui2/./src/components/YcCustomerService/index.vue?cfd4","webpack://yc-ui2/./src/components/YcQuestion/index.vue","webpack://yc-ui2/src/components/YcQuestion/index.vue","webpack://yc-ui2/./src/components/YcQuestion/index.vue?35d5","webpack://yc-ui2/./src/components/YcQuestion/index.vue?c0dd","webpack://yc-ui2/./src/components/YcCA/index.vue","webpack://yc-ui2/./src/components/YcCA/mTokenPlugin/base64.js","webpack://yc-ui2/./src/components/YcCA/mTokenPlugin/hunca_mToken_core2.js","webpack://yc-ui2/./src/components/YcCA/mTokenPluginBeijin/formateTime.js","webpack://yc-ui2/src/components/YcCA/index.vue","webpack://yc-ui2/./src/components/YcCA/index.vue?1ad3","webpack://yc-ui2/./src/components/YcCA/index.vue?ea8d","webpack://yc-ui2/./src/packages/index.js","webpack://yc-ui2/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"yc-ui2\"] = factory();\n\telse\n\t\troot[\"yc-ui2\"] = factory();\n})((typeof self !== 'undefined' ? self : this), function() {\nreturn ","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw new $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || this || Function('return this')();\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nmodule.exports = false;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nvar global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.33.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.33.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar fails = require('../internals/fails');\n\nvar INCORRECT_TO_LENGTH = fails(function () {\n return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;\n});\n\n// V8 and Safari <= 15.4, FF < 23 throws InternalError\n// https://bugs.chromium.org/p/v8/issues/detail?id=12681\nvar properErrorOnNonWritableLength = function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).push();\n } catch (error) {\n return error instanceof TypeError;\n }\n};\n\nvar FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();\n\n// `Array.prototype.push` method\n// https://tc39.es/ecma262/#sec-array.prototype.push\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n push: function push(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n doesNotExceedSafeInteger(len + argCount);\n for (var i = 0; i < argCount; i++) {\n O[len] = arguments[i];\n len++;\n }\n setArrayLength(O, len);\n return len;\n }\n});\n","/* eslint-disable no-unused-vars */\r\n/*\r\n --------------------------------------------------------------\r\n * FileName:xtxasyn.js\r\n * This Javascript provides asynchronous interfaces\r\n * Support bjca client version 3.4.1 and later\r\n * Author:BJCA-zys\r\n * Date: 2021-05-06\r\n *\r\n --------------------------------------------------------------\r\n */\r\n \r\n(function() {\r\nif (typeof xtxasyn === 'undefined') {\r\n // eslint-disable-next-line no-undef\r\n xtxasyn = {};\r\n}\r\n})();\r\n\r\n// initialize xtxasyn hashMap object\r\n(function() {\r\n\r\nfunction XTXAsynHashMap(){\r\n this.map = {};\r\n}\r\n\r\nXTXAsynHashMap.prototype = {\r\n put : function(key , value){\r\n this.map[key] = value;\r\n },\r\n\r\n get : function(key){\r\n // eslint-disable-next-line no-prototype-builtins\r\n if(this.map.hasOwnProperty(key)){\r\n return this.map[key];\r\n }\r\n return null;\r\n },\r\n \r\n remove : function(key){\r\n // eslint-disable-next-line no-prototype-builtins\r\n if(this.map.hasOwnProperty(key)){\r\n return delete this.map[key];\r\n }\r\n return false;\r\n },\r\n \r\n removeAll : function(){\r\n this.map = {};\r\n },\r\n \r\n keySet : function(){\r\n var _keys = [];\r\n for(var i in this.map){\r\n _keys.push(i);\r\n }\r\n return _keys;\r\n }\r\n};\r\n\r\nXTXAsynHashMap.prototype.constructor = XTXAsynHashMap;\r\n\r\n// eslint-disable-next-line no-undef\r\nxtxasyn.HashMap = XTXAsynHashMap;\r\n})();\r\n\r\n// initialize xtxasyn util object\r\n(function() {\r\n\r\nfunction initUtilObject(xtxasyn) {\r\n\r\n var util = xtxasyn.util = xtxasyn.util || {};\r\n \r\n util.checkBrowserISIE = function() {\r\n return (!!window.ActiveXObject || 'ActiveXObject' in window) ? true : false;\r\n }\r\n \r\n util.checkLocationIsHttps = function() {\r\n return 'https:' == document.location.protocol ? true: false;\r\n }\r\n \r\n util.evalFunction = function (func) {\r\n if (typeof func === 'function') {\r\n return func;\r\n } else if (typeof func === 'string') {\r\n // eslint-disable-next-line no-undef\r\n cb = eval(func);\r\n } else {\r\n return null;\r\n }\r\n }\r\n \r\n util.consolelog = function(param) {\r\n if (window.console == undefined || window.console.log == undefined) {\r\n return;\r\n }\r\n console.log(param);\r\n }\r\n \r\n util.isEmpty = function(param) {\r\n if (!param) {\r\n return true;\r\n }\r\n if (typeof param == 'string' && param == \"\") {\r\n return true;\r\n }\r\n \r\n return false;\r\n }\r\n\r\n util.loadIECtl = function(clsid, ctlName, checkFunc) {\r\n if (!util.checkBrowserISIE()) {\r\n return null;\r\n }\r\n var ctl = document.getElementById(ctlName);\r\n if (ctl) {\r\n return ctl;\r\n }\r\n try {\r\n var loadObjString = '<object id=\"' + ctlName + '\" classid=\"CLSID:' + clsid + '\" style=\"HEIGHT:0px; WIDTH:0px\">';\r\n loadObjString += '</object>';\r\n document.write(loadObjString);\r\n if (checkFunc != null && checkFunc != \"\" && eval(ctlName + \".\" + checkFunc) == undefined) {\r\n return null; \r\n }\r\n } catch (e) {\r\n util.consolelog(e);\r\n return null;\r\n }\r\n return document.getElementById(ctlName);\r\n }\r\n\r\n util.getAutoExecFunctionString = function (func) {\r\n var ret = \"(\";\r\n ret += func.toString();\r\n ret += \")()\";\r\n \r\n return ret;\r\n }\r\n\r\n util.attachIEEvent = function(ctlName, eventName, eventFunc) {\r\n var ctl;\r\n if (typeof ctlName === 'string') {\r\n ctl = eval(ctlName);\r\n } else {\r\n ctl = ctlName;\r\n }\r\n eventName = eventName.toLowerCase();\r\n\r\n var cb = util.evalFunction(eventFunc);\r\n if (cb == null) {\r\n return;\r\n }\r\n\r\n if (ctl.attachEvent) {\r\n ctl.attachEvent(eventName, cb);\r\n } else { // IE11 not support attachEvent, and addEventListener do not work well, so addEvent ourself\r\n var handler = document.createElement(\"script\");\r\n handler.setAttribute(\"for\", ctlName);\r\n handler.setAttribute(\"event\", eventName);\r\n var eventScript = util.getAutoExecFunctionString(eventFunc);\r\n handler.appendChild(document.createTextNode(eventScript));\r\n document.getElementsByTagName(\"head\")[0].appendChild(handler);\r\n }\r\n }\r\n\r\n util.loadWebSocketCtl = function(wsUrl, wssUrl) {\r\n if (xtxasyn.wsObject) {\r\n return xtxasyn.wsObject;\r\n }\r\n var url;\r\n if (util.checkLocationIsHttps()) {\r\n url = \"wss://\" + wssUrl;\r\n } else {\r\n url = \"ws://\" + wsUrl;\r\n }\r\n \r\n var wsObject = {\r\n socket : undefined,\r\n wsMessageQueue : new xtxasyn.HashMap(),\r\n wsMessageQueueId : 0,\r\n wsEventQueue : new xtxasyn.HashMap(),\r\n wsURL : url,\r\n wsCacheMessage : []\r\n };\r\n xtxasyn.wsObject = wsObject;\r\n xtxasyn.wsObject.wsEventQueue.put(\"onusbkeychange\", util.evalFunction(xtxasyn.custom.defaultUsbkeyChange));\r\n \r\n try {\r\n wsObject.socket = new WebSocket(url); \r\n } catch (e) {\r\n util.consolelog(e);\r\n return null;\r\n }\r\n \r\n // eslint-disable-next-line no-unused-vars\r\n wsObject.socket.onopen = function(evt) {\r\n xtxasyn.util.consolelog(\"open websocket[\" + url + \"] ok...\");\r\n xtxasyn.SOF_GetVersion(function(ret) {\r\n util.consolelog(\"SOF_GetVersion:(\" + ret.retVal + \")\");\r\n });\r\n while (xtxasyn.wsObject.wsCacheMessage.length > 0) {\r\n var tb_send = xtxasyn.wsObject.wsCacheMessage.shift();\r\n //alert(tb_send);\r\n xtxasyn.wsObject.socket.send(tb_send);\r\n }\r\n }\r\n // eslint-disable-next-line no-unused-vars\r\n wsObject.socket.onclose = function(evt) {\r\n util.consolelog(\"websocket[\" + url + \"] closed, reopen it...\");\r\n xtxasyn.wsObject = undefined;\r\n xtxasyn.XTXAppWebSocket = xtxasyn.util.loadWebSocketCtl(wsUrl, wssUrl);\r\n };\r\n wsObject.socket.onmessage = function(evt) {\r\n // eslint-disable-next-line no-unused-vars\r\n var eventCmd = false;\r\n if (xtxasyn.util.isEmpty(evt.data)) {\r\n util.consolelog(\"onmessage evt.data is NULL or empty!!!\");\r\n return;\r\n }\r\n try {\r\n var res = JSON.parse(evt.data);\r\n var cmdId = undefined;\r\n // eslint-disable-next-line no-prototype-builtins\r\n if (res.hasOwnProperty('call_cmd_id')) {\r\n cmdId = res['call_cmd_id'];\r\n } else {\r\n util.consolelog(\"return JSON not include call_cmd_id!!!\");\r\n return;\r\n }\r\n \r\n var retVal = undefined;\r\n // eslint-disable-next-line no-prototype-builtins\r\n if (res.hasOwnProperty('retValue')) {\r\n retVal = res['retValue'];\r\n // eslint-disable-next-line no-prototype-builtins\r\n } else if (res.hasOwnProperty('retVal')) {\r\n retVal = res['retVal'];\r\n }\r\n \r\n var methodName = undefined;\r\n var eventName = cmdId.toLowerCase();\r\n var execFunc = xtxasyn.wsObject.wsEventQueue.get(eventName);\r\n if (execFunc && typeof execFunc == 'function') { // event\r\n execFunc(retVal);\r\n } else { // function\r\n var messageQueue = xtxasyn.wsObject.wsMessageQueue.get(cmdId);\r\n if (!messageQueue || !messageQueue.method) {\r\n util.consolelog(\"can't find call_cmd_id[\" + res['call_cmd_id'] + \"]'s method name!!!\");\r\n return;\r\n }\r\n methodName = messageQueue.method;\r\n execFunc = messageQueue.cb;\r\n if (!execFunc || typeof execFunc != 'function') {\r\n util.consolelog(\"can't find call_cmd_id[\" + res['call_cmd_id'] + \"]'s call back function!!!\");\r\n return;\r\n }\r\n var ctx = messageQueue.ctx;\r\n ctx = ctx || {returnType:\"string\"};\r\n var ret;\r\n if (ctx.returnType == \"bool\"){\r\n if (typeof(retVal) == 'string') {\r\n ret = retVal == \"true\" ? true : false;\r\n } else {\r\n ret = retVal;\r\n }\r\n if (ret == undefined) {\r\n ret = false;\r\n }\r\n } else if (ctx.returnType == \"number\"){\r\n if (typeof(retVal) == 'string') {\r\n ret = Number(retVal);\r\n } else {\r\n ret = retVal;\r\n }\r\n if (ret == undefined) {\r\n ret = -1;\r\n }\r\n } else{\r\n ret = retVal;\r\n if (ret == undefined) {\r\n ret = \"\";\r\n }\r\n }\r\n if (res.token) {\r\n //alert(res.token);\r\n xtxasyn.custom.setToken(res.token);\r\n }\r\n if (((methodName == 'SOF_Login' || methodName == 'SOF_LoginEx') && !ret) || (methodName == 'SOF_Logout' && ret)) {\r\n xtxasyn.custom.setToken(\"\");\r\n } \r\n var retObj = {retVal:ret, ctx:ctx};\r\n execFunc(retObj);\r\n xtxasyn.wsObject.wsMessageQueue.remove(cmdId);\r\n }\r\n } catch (e) {\r\n return;\r\n }\r\n };\r\n wsObject.socket.onerror = function(evt) { \r\n xtxasyn.util.consolelog(evt.data);\r\n };\r\n \r\n return wsObject;\r\n }\r\n \r\n util.attachWebSocketEvent = function(wsObject, eventName, eventFunc) {\r\n if (wsObject == null) {\r\n return;\r\n }\r\n wsObject.wsEventQueue.put(eventName.toLowerCase(), util.evalFunction(eventFunc));\r\n }\r\n \r\n util.callWebSocketMethod = function (wsObject, clsid, method, cb, ctx, returnType, argsArray) {\r\n if (wsObject == null) {\r\n return;\r\n }\r\n wsObject.wsMessageQueueId++;\r\n if (typeof(cb) == 'function'){\r\n ctx = ctx || {};\r\n ctx.returnType = returnType;\r\n var messageQueue = {cb:cb, ctx:ctx, method:method};\r\n wsObject.wsMessageQueue.put('i_' + wsObject.wsMessageQueueId, messageQueue);\r\n }\r\n\r\n var sendArray = {\r\n 'call_cmd_id' : 'i_' + wsObject.wsMessageQueueId,\r\n 'CLSID' : clsid,\r\n 'xtx_func_name' : method,\r\n 'func' : method,\r\n 'URL' : window.location.href\r\n };\r\n if (arguments.length > 6) {\r\n for (var i = 1; i <= argsArray.length; i++) {\r\n var strParam = \"param_\" + i;\r\n sendArray[strParam] = argsArray[i - 1];\r\n }\r\n sendArray[\"param\"] = argsArray;\r\n }\r\n var token = xtxasyn.custom.getToken();\r\n if (token && token != \"\") {\r\n sendArray.token = token;\r\n }\r\n if (wsObject.socket.readyState == WebSocket.OPEN) {\r\n wsObject.socket.send(JSON.stringify(sendArray));\r\n } else if (wsObject.socket.readyState == WebSocket.CONNECTING) {\r\n // The websocket connection has not been successfully created. \r\n // If the html page already has requested data, we will put it in the cache(wsObject.wsCacheMessage),\r\n // and then send the data one by one after the connection is successfully created.\r\n wsObject.wsCacheMessage.push(JSON.stringify(sendArray));\r\n } else {\r\n xtxasyn.util.consolelog(\"Can't connect to WebSocket server[\" + wsObject.wsURL + \"]!!!\");\r\n }\r\n }\r\n\r\n util.SynToAsyn = function(retVal, cb, ctx)\r\n {\r\n if (typeof cb == 'function') {\r\n var retObj = {retVal:retVal, ctx:ctx};\r\n cb(retObj);\r\n } \r\n }\r\n}\r\n\r\n// eslint-disable-next-line no-undef\r\nreturn initUtilObject(xtxasyn);\r\n})();\r\n\r\n// initialize index page and other custom action\r\n(function() {\r\n \r\nfunction initCustomActions(xtxasyn) {\r\n var custom = xtxasyn.custom = xtxasyn.custom || {};\r\n \r\n custom.softCertListID = \"\";\r\n custom.hardCertListID = \"\";\r\n custom.allCertListID = \"\";\r\n custom.loginCertID = \"\";\r\n custom.logoutFunc = null;\r\n custom.UsbkeyChangeFunc = null;\r\n custom.loginToken = \"\";\r\n \r\n custom.errorReportFunc = function(msg) {\r\n alert(msg);\r\n }\r\n \r\n custom.setAutoLogoutParameter = function(strCertID, logoutFunc) {\r\n var custom = xtxasyn.custom;\r\n custom.loginCertID = strCertID;\r\n custom.logoutFunc = logoutFunc;\r\n }\r\n\r\n custom.clearDropList = function(dropListId) {\r\n if (dropListId == \"\") {\r\n return;\r\n }\r\n\r\n var obj = document.getElementById(dropListId);\r\n if (obj == undefined) {\r\n obj = eval(dropListId);\r\n } \r\n if (obj == undefined) {\r\n return;\r\n }\r\n\r\n var i, n = obj.length;\r\n for (i = 0; i < n; i++) {\r\n obj.remove(0);\r\n }\r\n }\r\n\r\n custom.pushOneDropListBox = function(userListArray, strListID) \r\n {\r\n var obj = document.getElementById(strListID);\r\n if (obj == undefined) {\r\n obj = eval(strListID);\r\n }\r\n if (obj == undefined) {\r\n return;\r\n }\r\n \r\n for (var i = 0; i < userListArray.length; i++) {\r\n var certObj = userListArray[i];\r\n var objItem = new Option(certObj.certName, certObj.certID);\r\n obj.options.add(objItem);\r\n } \r\n return;\r\n }\r\n\r\n custom.pushUserListToAllDroplist = function(retObj) {\r\n var custom = xtxasyn.custom;\r\n\r\n custom.clearDropList(custom.softCertListID);\r\n custom.clearDropList(custom.hardCertListID);\r\n custom.clearDropList(custom.allCertListID);\r\n\r\n var strUserList = retObj.retVal;\r\n var allListArray = [];\r\n // eslint-disable-next-line no-constant-condition\r\n while (true) {\r\n var i = strUserList.indexOf(\"&&&\");\r\n if (i <= 0 ) {\r\n break;\r\n }\r\n var strOneUser = strUserList.substring(0, i);\r\n var strName = strOneUser.substring(0, strOneUser.indexOf(\"||\"));\r\n var strCertID = strOneUser.substring(strOneUser.indexOf(\"||\") + 2, strOneUser.length);\r\n allListArray.push({certName:strName, certID:strCertID});\r\n \r\n if (custom.hardCertListID != \"\") {\r\n xtxasyn.GetDeviceInfo(strCertID, 7, function(retObj) {\r\n if (retObj.retVal == \"HARD\") {\r\n custom.pushOneDropListBox([retObj.ctx], custom.hardCertListID);\r\n }\r\n }, {certName:strName, certID:strCertID});\r\n }\r\n \r\n if (custom.softCertListID != \"\") {\r\n xtxasyn.GetDeviceInfo(strCertID, 7, function(retObj) {\r\n if (retObj.retVal == \"SOFT\") {\r\n custom.pushOneDropListBox([retObj.ctx], custom.softCertListID);\r\n }\r\n }, {certName:strName, certID:strCertID});\r\n }\r\n var len = strUserList.length;\r\n strUserList = strUserList.substring(i + 3, len);\r\n }\r\n\r\n if (custom.allCertListID != \"\") {\r\n custom.pushOneDropListBox(allListArray, custom.allCertListID);\r\n }\r\n }\r\n \r\n custom.setUserCertList = function(certListId, certType) {\r\n var custom = xtxasyn.custom;\r\n\r\n if (certType == CERT_TYPE_ALL || certType == undefined) {\r\n custom.allCertListID = certListId;\r\n }\r\n \r\n if (certType == CERT_TYPE_HARD) {\r\n custom.hardCertListID = certListId;\r\n }\r\n \r\n if (certType == CERT_TYPE_SOFT) {\r\n custom.softCertListID = certListId;\r\n }\r\n xtxasyn.SOF_GetUserList(custom.pushUserListToAllDroplist);\r\n }\r\n \r\n custom.setOnUsbKeyChangeCallBack = function(callback) {\r\n var custom = xtxasyn.custom;\r\n custom.UsbkeyChangeFunc = callback;\r\n }\r\n \r\n custom.setErrorReportFunc = function(errFunc) {\r\n var custom = xtxasyn.custom;\r\n custom.errorReportFunc = errFunc;\r\n }\r\n\r\n custom.autoLogoutCallBack = function(retObj) {\r\n var custom = xtxasyn.custom;\r\n if (retObj.retVal.indexOf(custom.loginCertID) <= 0) {\r\n custom.logoutFunc();\r\n }\r\n }\r\n \r\n custom.defaultUsbkeyChange = function() {\r\n var custom = xtxasyn.custom;\r\n xtxasyn.SOF_GetUserList(custom.pushUserListToAllDroplist);\r\n \r\n if (typeof custom.UsbkeyChangeFunc == 'function') {\r\n custom.UsbkeyChangeFunc();\r\n }\r\n\r\n if (custom.loginCertID != \"\" && typeof custom.logoutFunc == 'function') {\r\n xtxasyn.SOF_GetUserList(custom.autoLogoutCallBack);\r\n }\r\n }\r\n \r\n custom.getToken = function() {\r\n return custom.loginToken;\r\n }\r\n \r\n custom.setToken = function(token) {\r\n custom.loginToken = token;\r\n }\r\n}\r\n\r\n// eslint-disable-next-line no-undef\r\nreturn initCustomActions(xtxasyn);\r\n})();\r\n\r\n// initialize xtxappcom object\r\n(function() {\r\n \r\nfunction initXTXAppCOM(xtxasyn) {\r\n var util = xtxasyn.util;\r\n var custom = xtxasyn.custom; \r\n\r\n xtxasyn.XTXAppCOM = util.loadIECtl(xtxasyn.xtx_clsid, \"XTXAppObj\", \"SOF_GetVersion()\");\r\n if (xtxasyn.XTXAppCOM == null) {\r\n custom.errorReportFunc(\"加载XTXAppCOM控件失败,请确认已正确安装BJCA证书应用环境!\");\r\n return false;\r\n }\r\n var XTXAppCOM = xtxasyn.XTXAppCOM;\r\n \r\n util.attachIEEvent(\"XTXAppObj\", \"onUsbkeyChange\", xtxasyn.custom.defaultUsbkeyChange);\r\n \r\n // get key pic interface\r\n var GetPicObj = util.loadIECtl(xtxasyn.getpic_clsid, \"GetPicObj\", \"Hash('0')\");\r\n if (GetPicObj == null) {\r\n //custom.errorReportFunc(\"加载GetKeyPic控件失败,请确认已正确安装GetKeyPic控件!\");\r\n } else {\r\n XTXAppCOM.GetPic = function(strCertID) {\r\n return GetPicObj.GetPic(strCertID);\r\n }\r\n XTXAppCOM.Hash = function(inData) {\r\n return GetPicObj.Hash(inData);\r\n }\r\n XTXAppCOM.ConvertPicFormat = function(inData, type) {\r\n return GetPicObj.ConvertPicFormat(inData, type);\r\n }\r\n XTXAppCOM.ConvertGif2Jpg = function(inData) {\r\n return GetPicObj.ConvertGif2Jpg(inData);\r\n }\r\n XTXAppCOM.GetPic1 = function(strCertID) {\r\n return GetPicObj.GetPic1(strCertID);\r\n }\r\n XTXAppCOM.ConvertPicSize = function(strPicture, w, h) {\r\n return GetPicObj.ConvertPicSize(strPicture, w, h);\r\n }\r\n }\r\n \r\n // xtxversion interface\r\n var XTXVersionOBJ = util.loadIECtl(xtxasyn.xtx_version_clsid, \"XTXVersionOBJ\", \"GetEnvVersion()\");\r\n if (XTXVersionOBJ == null) {\r\n //custom.errorReportFunc(\"加载XTXVersion控件失败,请确认已正确安装证书应用环境!\");\r\n } else {\r\n XTXAppCOM.GetEnvVersion = function() {\r\n return XTXVersionOBJ.GetEnvVersion();\r\n }\r\n } \r\n \r\n return true;\r\n}\r\n\r\nfunction initXTXAppWebSocket(xtxasyn) { \r\n xtxasyn.XTXAppWebSocket = xtxasyn.util.loadWebSocketCtl(\"127.0.0.1:21051/xtxapp/\", \"127.0.0.1:21061/xtxapp/\");\r\n if (xtxasyn.XTXAppWebSocket == null) {\r\n // eslint-disable-next-line no-undef\r\n custom.errorReportFunc(\"连接XTXAppCOM服务失败,请确认已正确安装BJCA证书应用环境!\");\r\n return false;\r\n }\r\n\r\n return true;\r\n}\r\n\r\nfunction initXTXAppObject(xtxasyn) {\r\n var util = xtxasyn.util;\r\n xtxasyn.xtx_clsid = \"3F367B74-92D9-4C5E-AB93-234F8A91D5E6\";\r\n xtxasyn.getpic_clsid = \"3BC3C868-95B5-47ED-8686-E0E3E94EF366\";\r\n xtxasyn.xtx_version_clsid = \"574887FB-22A5-488B-A49C-2CF25F56BE68\";\r\n var getImplmentFunction;\r\n\r\n if (util.checkBrowserISIE()) { // IE\r\n if (!initXTXAppCOM(xtxasyn)) {\r\n return false;\r\n }\r\n getImplmentFunction = function(methodInfo) {\r\n if (methodInfo.inParams == '') { // 0 input param\r\n window[methodInfo.funcName] = new Function('cb', 'ctx', \r\n 'xtxasyn.util.SynToAsyn(xtxasyn.XTXAppCOM.' + methodInfo.funcName + '(), cb, ctx);');\r\n } else {\r\n window[methodInfo.funcName] = new Function(methodInfo.inParams, 'cb', 'ctx', \r\n 'xtxasyn.util.SynToAsyn(xtxasyn.XTXAppCOM.' + methodInfo.funcName + '(' + methodInfo.inParams + '), cb, ctx);');\r\n }\r\n }\r\n } else { // other brower\r\n if (!initXTXAppWebSocket(xtxasyn)) {\r\n return false;\r\n }\r\n getImplmentFunction = function(methodInfo) {\r\n if (methodInfo.inParams == '') { // 0 input param\r\n window[methodInfo.funcName] = new Function('cb, ctx', \r\n \"xtxasyn.util.callWebSocketMethod(xtxasyn.XTXAppWebSocket, '\" + methodInfo.clsid + \"', '\" + \r\n methodInfo.funcName + \"', cb, ctx, '\" + methodInfo.outParamType + \"', []);\");\r\n } else {\r\n window[methodInfo.funcName] = new Function(methodInfo.inParams + ', cb, ctx', \r\n \"xtxasyn.util.callWebSocketMethod(xtxasyn.XTXAppWebSocket, '\" + methodInfo.clsid + \"', '\" + \r\n methodInfo.funcName + \"', cb, ctx, '\" + methodInfo.outParamType + \"', [\" + methodInfo.inParams + \"]);\");\r\n }\r\n }\r\n }\r\n\r\n var export_functions = [\r\n {funcName:'SOF_SetSignMethod', inParams:'SignMethod', outParamType:'number', clsid:xtxasyn.xtx_clsid, aliasName:'SetSignMethod'},\r\n {funcName:'SOF_GetSignMethod', inParams:'', outParamType:'number', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_SetEncryptMethod', inParams:'EncryptMethod', outParamType:'number', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_GetEncryptMethod', inParams:'', outParamType:'number', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_GetUserList', inParams:'', outParamType:'string', clsid:xtxasyn.xtx_clsid, aliasName:'GetUserList'},\r\n {funcName:'SOF_ExportUserCert', inParams:'CertID', outParamType:'string', clsid:xtxasyn.xtx_clsid, aliasName:'GetSignCert'},\r\n {funcName:'SOF_Login', inParams:'CertID, PassWd', outParamType:'bool', clsid:xtxasyn.xtx_clsid, aliasName:'VerifyUserPIN'},\r\n {funcName:'SOF_GetPinRetryCount', inParams:'CertID', outParamType:'number', clsid:xtxasyn.xtx_clsid, aliasName:'GetUserPINRetryCount'},\r\n {funcName:'SOF_ChangePassWd', inParams:'CertID, oldPass, newPass', outParamType:'bool', clsid:xtxasyn.xtx_clsid, aliasName:'ChangeUserPassword'},\r\n {funcName:'SOF_GetCertInfo', inParams:'Cert, type', outParamType:'string', clsid:xtxasyn.xtx_clsid, aliasName:'GetCertBasicinfo'},\r\n {funcName:'SOF_GetCertInfoByOid', inParams:'Cert, Oid', outParamType:'string', clsid:xtxasyn.xtx_clsid, aliasName:'GetExtCertInfoByOID'},\r\n {funcName:'SOF_SignData', inParams:'CertID, InData', outParamType:'string', clsid:xtxasyn.xtx_clsid, aliasName:'SignedData'},\r\n {funcName:'SOF_VerifySignedData', inParams:'Cert, InData, SignValue', outParamType:'bool', clsid:xtxasyn.xtx_clsid, aliasName:'VerifySignedData'},\r\n {funcName:'SOF_SignFile', inParams:'CertID, InFile', outParamType:'string', clsid:xtxasyn.xtx_clsid, aliasName:'SOF_SignFile'},\r\n {funcName:'SOF_VerifySignedFile', inParams:'Cert, InFile, SignValue', outParamType:'bool', clsid:xtxasyn.xtx_clsid, aliasName:'VerifySignFile'},\r\n {funcName:'SOF_EncryptData', inParams:'Cert, InData', outParamType:'string', clsid:xtxasyn.xtx_clsid, aliasName:'EncodeP7Enveloped'},\r\n {funcName:'SOF_DecryptData', inParams:'CertID, InData', outParamType:'string', clsid:xtxasyn.xtx_clsid, aliasName:'DecodeP7Enveloped'},\r\n {funcName:'SOF_EncryptFile', inParams:'Cert, InFile, OutFile', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_DecryptFile', inParams:'CertID, InFile, OutFile', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_SignMessage', inParams:'dwFlag, CertID, InData', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_VerifySignedMessage', inParams:'MessageData, InData', outParamType:'bool', clsid:xtxasyn.xtx_clsid, aliasName:'VerifyDatabyP7'},\r\n {funcName:'SOF_GetInfoFromSignedMessage', inParams:'SignedMessage, type', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_SignDataXML', inParams:'CertID, InData', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_VerifySignedDataXML', inParams:'InData', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_GetXMLSignatureInfo', inParams:'XMLSignedData, type', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_GenRandom', inParams:'RandomLen', outParamType:'string', clsid:xtxasyn.xtx_clsid, aliasName:'GenerateRandom'},\r\n {funcName:'SOF_PubKeyEncrypt', inParams:'Cert, InData', outParamType:'string', clsid:xtxasyn.xtx_clsid, aliasName:'PubKeyEncrypt'},\r\n {funcName:'SOF_PriKeyDecrypt', inParams:'CertID, InData', outParamType:'string', clsid:xtxasyn.xtx_clsid, aliasName:'PriKeyDecrypt'},\r\n {funcName:'SOF_SecertSegment', inParams:'Secert, m, n, k', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_SecertRecovery', inParams:'Seg', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_GetLastError', inParams:'', outParamType:'number', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'GetDeviceCount', inParams:'', outParamType:'number', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'GetAllDeviceSN', inParams:'', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'GetDeviceSNByIndex', inParams:'iIndex', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'GetDeviceInfo', inParams:'sDeviceSN, iType', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'ChangeAdminPass', inParams:'sDeviceSN, sOldPass, sNewPass', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'UnlockUserPass', inParams:'sDeviceSN, sAdminPass, sNewUserPass', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'GenerateKeyPair', inParams:'sDeviceSN, sContainerName, iKeyType, bSign', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'ExportPubKey', inParams:'sDeviceSN, sContainerName, bSign', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'ImportSignCert', inParams:'sDeviceSN, sContainerName, sCert', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'ImportEncCert', inParams:'sDeviceSN, sContainerName, sCert, sPriKeyCipher', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'ReadFile', inParams:'sDeviceSN, sFileName', outParamType:'string', clsid:xtxasyn.xtx_clsid, aliasName:'readFile'},\r\n {funcName:'WriteFile', inParams:'sDeviceSN, sFileName, sContent, bPrivate', outParamType:'bool', clsid:xtxasyn.xtx_clsid, aliasName:'writeFile'},\r\n {funcName:'IsContainerExist', inParams:'sDeviceSN, sContainerName', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'DeleteContainer', inParams:'sDeviceSN, sContainerName', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'ExportPKCS10', inParams:'sDeviceSN, sContainerName, sDN, bSign', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'InitDevice', inParams:'sDeviceSN, sAdminPass', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'AddSignInfo', inParams:'sUserPass', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_GetVersion', inParams:'', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_ExportExChangeUserCert', inParams:'CertID', outParamType:'string', clsid:xtxasyn.xtx_clsid, aliasName:'GetExchCert'},\r\n {funcName:'SOF_ValidateCert', inParams:'Cert', outParamType:'number', clsid:xtxasyn.xtx_clsid, aliasName:'ValidateCert'},\r\n {funcName:'GetENVSN', inParams:'sDeviceSN', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SetENVSN', inParams:'sDeviceSN, sEnvsn', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'IsDeviceExist', inParams:'sDeviceSN', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'GetContainerCount', inParams:'sDeviceSN', outParamType:'number', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_SymEncryptData', inParams:'sKey, indata', outParamType:'string', clsid:xtxasyn.xtx_clsid, aliasName:'EncryptData'},\r\n {funcName:'SOF_SymDecryptData', inParams:'sKey, indata', outParamType:'string', clsid:xtxasyn.xtx_clsid, aliasName:'DecryptData'},\r\n {funcName:'SOF_SymEncryptFile', inParams:'sKey, inFile, outFile', outParamType:'bool', clsid:xtxasyn.xtx_clsid, aliasName:'EncryptFile'},\r\n {funcName:'SOF_SymDecryptFile', inParams:'sKey, inFile, outFile', outParamType:'bool', clsid:xtxasyn.xtx_clsid, aliasName:'DecryptFile'},\r\n {funcName:'SOF_GetLastErrMsg', inParams:'', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_Base64Encode', inParams:'sIndata', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_Base64Decode', inParams:'sIndata', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_HashData', inParams:'hashAlg, sInData', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_HashFile', inParams:'hashAlg, inFile', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'UnlockUserPassEx', inParams:'sDeviceSN, sAdminPin, sNewUserPass', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'DeleteOldContainer', inParams:'sDeviceSN', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'WriteFileEx', inParams:'sDeviceSN, sFileName, sContent', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'ReadFileEx', inParams:'sDeviceSN, sFileName', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n\t\t{funcName:'WriteFileBase64', inParams:'sDeviceSN, sFileName, sContent', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n\t\t{funcName:'DeleteFile', inParams:'sDeviceSN, sFileName', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_EncryptDataEx', inParams:'Cert, InData', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'Base64EncodeFile', inParams:'sInFile', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_GetRetryCount', inParams:'CertID', outParamType:'number', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_GetAllContainerName', inParams:'sDeviceSN', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'CreateSoftDevice', inParams:'sDeviceSN, sLabel', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'DeleteSoftDevice', inParams:'sDeviceSN, sPasswd', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'EnableSoftDevice', inParams:'enable, sDeviceSN', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SoftDeviceBackup', inParams:'sDeviceSN, sPasswd', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SoftDeviceRestore', inParams:'sDeviceSN, sPasswd, sInFilePath', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_Logout', inParams:'CertID', outParamType:'bool', clsid:xtxasyn.xtx_clsid, aliasName:'Logout'},\r\n {funcName:'SetUserConfig', inParams:'type, strConfig', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_SignByteData', inParams:'CertID, byteLen', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_VerifySignedByteData', inParams:'Cert, byteLen, SignValue', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'OTP_GetChallengeCode', inParams:'sCertID', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'ImportEncCertEx', inParams:'sDeviceSN, sContainerName, sCert, sPriKeyCipher, ulSymAlg', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_GetCertEntity', inParams:'sCert', outParamType:'string', clsid:xtxasyn.xtx_clsid, aliasName:'GetCertEntity'},\r\n {funcName:'SOF_HMAC', inParams:'hashid, key, indata', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_SignDataByPriKey', inParams:'sPriKey, sCert, sInData', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'ImportKeyCertToSoftDevice', inParams:'sDeviceSN, sContainerName, sPriKey, sCert, bSign', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'InitDeviceEx', inParams:'sDeviceSN, sAdminPass, sUserPin, sKeyLabel, adminPinMaxRetry, userPinMaxRetry', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SelectFile', inParams:'', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_SignHashData', inParams:'CertID, b64ashData, hashAlg', outParamType:'string', clsid:xtxasyn.xtx_clsid, aliasName:'SignHashData'},\r\n {funcName:'SOF_VerifySignedHashData', inParams:'Cert, b64ashData, SignValue, hashAlg', outParamType:'bool', clsid:xtxasyn.xtx_clsid, aliasName:'VerifySignedHashData'},\r\n {funcName:'CheckSoftDeviceEnv', inParams:'', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'ImportPfxToDevice', inParams:'sDeviceSN, sContainerName, bSign, strPfx, strPfxPass', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_HashDataEx', inParams:'hashAlg, sInData, sCert, sID', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_HashFileEx', inParams:'hashAlg, inFile, sCert, sID', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'GetDeviceCountEx', inParams:'type', outParamType:'number', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'GetAllDeviceSNEx', inParams:'type', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_UpdateCert', inParams:'CertID, type', outParamType:'number', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'OpenSpecifiedFolder', inParams:'backupFilePath', outParamType:'', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'OTP_GetChallengeCodeEx', inParams:'sCertID, szAccount, money', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'Base64DecodeFile', inParams:'sInData, sFilePath', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'EnumFilesInDevice', inParams:'sDeviceSN', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'OTP_Halt', inParams:'sCertID', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_TSGenREQ', inParams:'b64Hash, hashAlg, bReqCert, policyID, b64Nonce, b64Extension', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_TSCompareNonce', inParams:'b64TSReq, b64TSAResp', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_TSGenPDFSignature', inParams:'b64TSAResp, b64OriPDFSignature', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_TSVerifyPDFSignature', inParams:'b64TSPDFSignature', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_TSGetPDFSignatureInfo', inParams:'b64TSPDFSignature, iType', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'OTP_GetState', inParams:'sCertID, bCert', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'OTP_GetSyncCode', inParams:'sCertID, ChallengeCode', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_IsLogin', inParams:'CertID', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_LoginEx', inParams:'CertID, PassWd, updateFlag', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'EnumSupportDeviceList', inParams:'', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'ExportPfxFromDevice', inParams:'sDeviceSN, sContainerName, bSign, strPfxPass', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_SignHashMessage', inParams:'CertID, InHashData, hashAlg', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'ExportPfxToFile', inParams:'sDeviceSN, sContainerName, bSign, strPfxPass', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_SignAPK', inParams:'CertID, strOriSignature', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'YZT_GenerateKeyPair', inParams:'sDeviceSN, sContainerName, iKeyTypeRSA, iKeyTypeSM2', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'YZT_ExportPubKey', inParams:'sDeviceSN, sContainerName, bSign', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'YZT_ImportSignCert', inParams:'sDeviceSN, sContainerName, sRSACert, sSM2Cert', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'YZT_ImportEncCert', inParams:'sDeviceSN, sContainerName, sRSACert, sRSAPriKeyCipher, ulRSASymAlg, sSM2Cert, sSM2PriKeyCipher, ulSM2SymAlg', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_ListenUKey', inParams:'Parm', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_EnableLoginWindow', inParams:'Parm', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_SignEnvelope', inParams:'CertID, Cert, InData', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_UnSignEnvelope', inParams:'CertID, InData', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'BIO_MAKExportPKCS10', inParams:'sDeviceSN, iKeyType, sDN', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'BIO_MAKImportSignEncCert', inParams:'sDeviceSN, sSignCert, sEncCert, sPriKeyCipher', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'BIO_IssueDAKCert', inParams:'sDeviceSN, iKeyType, sDN', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'BIO_InfoCollect', inParams:'', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'BIO_GetBioInfo', inParams:'sDeviceSN', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_GetLastLoginCertID', inParams:'', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_ReadESealData', inParams:'CertID, ulKeyIndex, ulKeyAlgId, ulFlags', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_ReadKFXESealData', inParams:'CertID, ulKeyIndex, ulKeyAlgId, ulFlags', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_SymDecryptFileToData', inParams:'sKey, inFile', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_SignMessageBase64', inParams:'dwFlag, CertID, InData', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_VerifySignedMessageBase64', inParams:'MessageData, InData', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_VerifySignedHashMessage', inParams:'MessageData, InHashData', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_SignDataBase64', inParams:'CertID, InData', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_VerifySignedDataBase64', inParams:'Cert, InData, SignValue', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_HashDataExBase64', inParams:'hashAlg, sInData, sCert, sID', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_GetProductVersion', inParams:'', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_UpdateCertEx', inParams:'CertID, PassWd', outParamType:'number', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_GetLastSignDataCertID', inParams:'CertID', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'BIO_SetUserConfig', inParams:'CertID, type, strConfig', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'BIO_InvokeCommand', inParams:'CertID, bstrCommand', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_ImportSymmKey', inParams:'CertID, ulKeyIndex, InData, ulFlags', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_WriteESealData', inParams:'CertID, InData, ulFlags', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_EPS_Encrypt', inParams:'CertID, ulKeyIndex, ulKeyAlgId, IVData, DivCount, DivComponent, InData, ulFlags', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_EPS_Decrypt', inParams:'CertID, ulKeyIndex, ulKeyAlgId, IVData, DivCount, DivComponent, InData, ulFlags', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_EPS_Mac', inParams:'CertID, ulKeyIndex, ulKeyAlgId, IVData, DivCount, DivComponent, InData, ulFlags', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_PriKeyDecryptEx', inParams:'CertID, InData', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_EPS_ReadESealData', inParams:'CertID, ulKeyIndex, ulKeyAlgId, ulFlags', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_EPS_WriteESealData', inParams:'CertID, InData, ulFlags', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'EnumESeal', inParams:'sDeviceSN', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n\t\t{funcName:'GetPicture', inParams:'bstrConName', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n\t\t{funcName:'SOF_SignEnvelopeFile', inParams:'CertID, Cert, InFile, OutFile', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n\t\t{funcName:'SOF_UnSignEnvelopeFile', inParams:'CertID, InFile, OutFile', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n\t\t{funcName:'SOFX_EncryptFile', inParams:'CertID, Cert, InFile, OutFile, ulFlags', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n\t\t{funcName:'SOFX_DecryptFile', inParams:'CertID, InFile, OutFile, ulFlags', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\t\t\r\n {funcName:'GetPic', inParams:'bstrConName', outParamType:'string', clsid:xtxasyn.getpic_clsid},\r\n {funcName:'Hash', inParams:'inData', outParamType:'string', clsid:xtxasyn.getpic_clsid},\r\n {funcName:'ConvertPicFormat', inParams:'inData, type', outParamType:'string', clsid:xtxasyn.getpic_clsid},\r\n {funcName:'ConvertGif2Jpg', inParams:'inData', outParamType:'string', clsid:xtxasyn.getpic_clsid},\r\n {funcName:'GetPic1', inParams:'bstrConName', outParamType:'string', clsid:xtxasyn.getpic_clsid},\r\n {funcName:'ConvertPicSize', inParams:'bstrPic, w, h', outParamType:'string', clsid:xtxasyn.getpic_clsid},\t\t\r\n {funcName:'GetEnvVersion', inParams:'', outParamType:'string', clsid:xtxasyn.xtx_version_clsid},\r\n\t\t{funcName:'InitDeviceWithParam', inParams:'sDeviceSN, sAppName, sAdminPass, sUserPin, sKeyLabel, adminPinMaxRetry, userPinMaxRetry, createFileRights', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n\t\t{funcName:'SOF_SignDataEx', inParams:'CertID, InData,signFlag', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_VerifySignedDataEx', inParams:'Cert, InData, SignValue,signFlag', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n\t\t{funcName:'SOF_SymEncryptDataEx', inParams:'sKey,sIV,indata', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_SymDecryptDataEx', inParams:'sKey,sIV,indata', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n\t\t\r\n\t\t// 3.8 added \r\n\t\t{funcName:'SOFX_InvokeCommand', inParams:'pluginName,InParam', outParamType:'string', clsid:xtxasyn.xtx_clsid},\t\r\n\t\t\r\n\t\t{funcName:'SOF_SymEncryptFileEx', inParams:'sKey,sIV,inFile, outFile', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOF_SymDecryptFileEx', inParams:'sKey,sIV,inFile, outFile', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n\t\t{funcName:'SOF_SymDecryptFileToDataEx', inParams:'sKey,sIV,inFile', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n\t\t{funcName:'SOFX_SymEncryptDataWithPadding', inParams:'sKey,sIV,padding,indata', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOFX_SymDecryptDataWithPadding', inParams:'sKey,sIV,padding,indata', outParamType:'string', clsid:xtxasyn.xtx_clsid},\r\n\t\t{funcName:'SOFX_SymEncryptFileWithPadding', inParams:'sKey,sIV,padding,inFile, outFile', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n {funcName:'SOFX_SymDecryptFileWithPadding', inParams:'sKey,sIV,padding,inFile, outFile', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n\t\t{funcName:'SOFX_VerifySignedDataWithID', inParams:'Cert, InData, SignValue,userId', outParamType:'bool', clsid:xtxasyn.xtx_clsid}, \r\n {funcName:'SOFX_VerifySignedFileWithID', inParams:'Cert, InFile, SignValue,userId', outParamType:'bool', clsid:xtxasyn.xtx_clsid},\r\n ];\r\n\r\n for (var i = 0; i < export_functions.length; i++) {\r\n getImplmentFunction(export_functions[i]);\r\n xtxasyn[export_functions[i].funcName] = window[export_functions[i].funcName];\r\n if (export_functions[i].aliasName) {\r\n window[export_functions[i].aliasName] = window[export_functions[i].funcName];\r\n xtxasyn[export_functions[i].aliasName] = window[export_functions[i].funcName];\r\n }\r\n \r\n }\r\n\r\n return true;\r\n}\r\n\r\n// eslint-disable-next-line no-undef\r\nreturn initXTXAppObject(xtxasyn);\r\n})();\r\n\r\n///////////////////////////////////////////////////////////////////////////////////////////////////////////\r\n////////////////////////////////////// EXPORT VAR AND FUNCTIONS ///////////////////////////////////////////\r\n///////////////////////////////////////////////////////////////////////////////////////////////////////////\r\n// const var\r\nvar CERT_TYPE_HARD = 1;\r\nvar CERT_TYPE_SOFT = 2;\r\nvar CERT_TYPE_ALL = 3;\r\n\r\n// set auto logout parameters\r\nfunction SetAutoLogoutParameter(strCertID, logoutFunc) {\r\n // eslint-disable-next-line no-undef\r\n xtxasyn.custom.setAutoLogoutParameter(strCertID, logoutFunc);\r\n}\r\n\r\n// set user cert list id\r\nfunction SetUserCertList(strListID, certType) {\r\n // eslint-disable-next-line no-undef\r\n xtxasyn.custom.setUserCertList(strListID, certType);\r\n}\r\n\r\n// set custom usbkeychange callback\r\nfunction SetOnUsbKeyChangeCallBack(callback) {\r\n // eslint-disable-next-line no-undef\r\n xtxasyn.custom.setOnUsbKeyChangeCallBack(callback);\r\n}\r\n\r\n// set custom alert function\r\nfunction SetAlertFunction(custom_alert) {\r\n // eslint-disable-next-line no-undef\r\n xtxasyn.custom.setErrorReportFunc(custom_alert);\r\n}\r\n\r\n// get custom userlogin token \r\nfunction GetLoginToken() {\r\n // eslint-disable-next-line no-undef\r\n return xtxasyn.custom.getToken();\r\n}\r\n\r\nfunction SetLoginToken(tokenData) {\r\n // eslint-disable-next-line no-undef\r\n return xtxasyn.custom.setToken(tokenData);\r\n}\r\n\r\nfunction GetUserListByType(strType, cb, ctx) { // strType is 'HARD' or 'SOFT'\r\n // eslint-disable-next-line no-undef\r\n SOF_GetUserList(function(retObj) {\r\n var strUserList = retObj.retVal;\r\n // eslint-disable-next-line no-constant-condition\r\n while (true) {\r\n var i = strUserList.indexOf(\"&&&\");\r\n if (i <= 0 ) {\r\n break;\r\n }\r\n var strOneUser = strUserList.substring(0, i);\r\n var strName = strOneUser.substring(0, strOneUser.indexOf(\"||\"));\r\n var strCertID = strOneUser.substring(strOneUser.indexOf(\"||\") + 2, strOneUser.length);\r\n GetDeviceType(strCertID, function(retObj) {\r\n if (retObj.retVal == retObj.ctx.ctx.type) {\r\n if (typeof retObj.ctx.ctx.cb == 'function') {\r\n retObj.ctx.ctx.cb({retVal:retObj.ctx.userList, ctx:retObj.ctx.ctx.ctx})\r\n }\r\n }\r\n }, {userList:strOneUser, ctx:retObj.ctx});\r\n var len = strUserList.length;\r\n strUserList = strUserList.substring(i + 3, len);\r\n }\r\n }, {type:strType, cb:cb, ctx:ctx});\r\n}\r\n\r\n//get usbKey user list\r\nfunction GetUserList_USBKey(cb, ctx) {\r\n return GetUserListByType(\"HARD\", cb, ctx);\r\n}\r\n\r\n//get soft user list\r\nfunction GetUserList_Soft() {\r\n // eslint-disable-next-line no-undef\r\n return GetUserListByType(\"SOFT\", cb, ctx);\r\n}\r\n\r\n//sign data with pkcs7 format\r\nfunction SignByP7(strCertID, strInData, bDetach) {\r\n // eslint-disable-next-line no-undef\r\n return xtxasyn.SOF_SignMessage(bDetach ? 1 : 0, strCertID, strInData);\r\n}\r\n\r\n//get symmitric key length \r\n//because xtx and secxv2 secx default symmitric alg is no equal\r\nfunction GetSymKeyLength() {\r\n return 24; \r\n}\r\n\r\n//get device type return SOFT or HARD\r\nfunction GetDeviceType(strCertID) {\r\n // eslint-disable-next-line no-undef\r\n return xtxasyn.GetDeviceInfo(strCertID, 7); \r\n}\r\n\r\n// calculate file's hash\r\nfunction HashFile(strFilePath) {\r\n // eslint-disable-next-line no-undef\r\n return xtxasyn.SOF_HashFile(2/*sha1*/, strFilePath);\r\n}\r\n\r\nfunction ParseDateString(strDate) {\r\n var strYear = strDate.substring(0, 4);\r\n var strMonth = strDate.substring(4, 6);\r\n var strDay = strDate.substring(6, 8);\r\n var strHour = strDate.substring(8, 10);\r\n var strMin = strDate.substring(10, 12);\r\n var strSecond = strDate.substring(12, 14);\r\n var RtnDate = new Date();\r\n RtnDate.setFullYear(Number(strYear), Number(strMonth) - 1, Number(strDay));\r\n RtnDate.setHours(Number(strHour));\r\n RtnDate.setMinutes(Number(strMin));\r\n RtnDate.setSeconds(Number(strSecond));\r\n return RtnDate;\r\n}\r\n\r\nfunction __loginSignRandomCallBack(retObj) {\r\n if (retObj.retVal == \"\") {\r\n // eslint-disable-next-line no-undef\r\n xtxasyn.custom.errorReportFunc(\"客户端签名失败!\");\r\n if (typeof retObj.ctx.cb === 'function') {\r\n retObj.ctx.cb(false);\r\n }\r\n return;\r\n }\r\n var objForm = retObj.ctx.objForm;\r\n objForm.UserSignedData.value = retObj.retVal;\r\n // eslint-disable-next-line no-undef\r\n objForm.LoginToken.value = xtxasyn.custom.getToken();\r\n if (typeof retObj.ctx.cb === 'function') {\r\n retObj.ctx.cb(true);\r\n } else {\r\n objForm.action = retObj.ctx.action;\r\n objForm.submit();\r\n }\r\n}\r\n\r\nfunction __loginVerifyServerSignatureCallBack(retObj) {\r\n if (!retObj.retVal) {\r\n // eslint-disable-next-line no-undef\r\n xtxasyn.custom.errorReportFunc(\"验证服务器端信息失败!\");\r\n if (typeof retObj.ctx.cb === 'function') {\r\n retObj.ctx.cb(false);\r\n }\r\n return;\r\n }\r\n \r\n var strCertID = retObj.ctx.certID;\r\n // eslint-disable-next-line no-undef\r\n xtxasyn.SOF_SignData(strCertID, strServerRan, __loginSignRandomCallBack, retObj.ctx);\r\n}\r\nfunction __loginCheckCertValidNotAfter(retObj) {\r\n var notAfterDate = ParseDateString(retObj.retVal);\r\n var milliseconds = notAfterDate.getTime() - new Date().getTime();\r\n if (milliseconds < 0) {\r\n // eslint-disable-next-line no-undef\r\n xtxasyn.custom.errorReportFunc(\"您的证书已过期,请尽快到北京数字证书认证中心办理证书更新手续!\");\r\n if (typeof retObj.ctx.cb === 'function') {\r\n retObj.ctx.cb(false);\r\n }\r\n return;\r\n }\r\n\r\n // eslint-disable-next-line no-undef\r\n days = parseInt(milliseconds / (1000*60*60*24));\r\n // eslint-disable-next-line no-undef\r\n if (days > 0 && days <= 60) {\r\n // eslint-disable-next-line no-undef\r\n xtxasyn.custom.errorReportFunc(\"您的证书还有\" + days + \"天过期\\n请您尽快到北京数字证书认证中心办理证书更新手续!\");\r\n // eslint-disable-next-line no-undef\r\n } else if (days == 0) { // 证书有效期天数小于1天\r\n var hours = parseInt(milliseconds / (1000*60*60));\r\n if (hours > 0) {\r\n // eslint-disable-next-line no-undef\r\n xtxasyn.custom.errorReportFunc(\"您的证书还有\" + hours + \"小时过期\\n请您尽快到北京数字证书认证中心办理证书更新手续!\");\r\n }\r\n // 证书有效期小于1小时\r\n var minutes = parseInt(milliseconds / (1000*60));\r\n if (minutes > 1) {\r\n // eslint-disable-next-line no-undef\r\n xtxasyn.custom.errorReportFunc(\"您的证书还有\" + minutes + \"分钟过期\\n请您尽快到北京数字证书认证中心办理证书更新手续!\");\r\n } else {\r\n // eslint-disable-next-line no-undef\r\n xtxasyn.custom.errorReportFunc(\"您的证书已过期,请尽快到北京数字证书认证中心办理证书更新手续!\");\r\n if (typeof retObj.ctx.cb === 'function') {\r\n retObj.ctx.cb(false);\r\n }\r\n return;\r\n }\r\n }\r\n\r\n // eslint-disable-next-line no-undef\r\n xtxasyn.SOF_VerifySignedData(strServerCert, strServerRan, strServerSignedData, \r\n __loginVerifyServerSignatureCallBack, retObj.ctx);\r\n}\r\n\r\nfunction __loginCheckCertValidNotBefore(retObj) {\r\n var notBeforeDate = ParseDateString(retObj.retVal);\r\n var days = parseInt((notBeforeDate.getTime() - new Date().getTime()) / (1000*60*60*24));\r\n if (days > 0) {\r\n // eslint-disable-next-line no-undef\r\n xtxasyn.custom.errorReportFunc(\"您的证书尚未生效!距离生效日期还剩\" + days + \"天!\");\r\n if (typeof retObj.ctx.cb === 'function') {\r\n retObj.ctx.cb(false);\r\n }\r\n return;\r\n }\r\n var strUserCert = retObj.ctx.objForm.UserCert.value;\r\n // eslint-disable-next-line no-undef\r\n xtxasyn.SOF_GetCertInfo(strUserCert, 12, __loginCheckCertValidNotAfter, retObj.ctx);\r\n}\r\n\r\nfunction __loginGetSignCertCallBack(retObj) {\r\n var strUserCert = retObj.retVal;\r\n if (strUserCert == \"\") {\r\n // eslint-disable-next-line no-undef\r\n xtxasyn.custom.errorReportFunc(\"导出用户证书失败!\");\r\n if (typeof retObj.ctx.cb === 'function') {\r\n retObj.ctx.cb(false);\r\n }\r\n return;\r\n }\r\n retObj.ctx.objForm.UserCert.value = strUserCert;\r\n \r\n // eslint-disable-next-line no-undef\r\n xtxasyn.SOF_GetCertInfo(strUserCert, 11, __loginCheckCertValidNotBefore, retObj.ctx);\r\n}\r\n\r\nfunction __loginGetPINRetryCallBack(retObj) {\r\n var retryCount = Number(retObj.retVal);\r\n if (retryCount > 0) {\r\n // eslint-disable-next-line no-undef\r\n xtxasyn.custom.errorReportFunc(\"校验证书密码失败!您还有\" + retryCount + \"次机会重试!\");\r\n } else if (retryCount == 0) {\r\n // eslint-disable-next-line no-undef\r\n xtxasyn.custom.errorReportFunc(\"您的证书密码已被锁死,请联系BJCA进行解锁!\");\r\n } else {\r\n // eslint-disable-next-line no-undef\r\n xtxasyn.custom.errorReportFunc(\"登录失败!\");\r\n }\r\n if (typeof retObj.ctx.cb === 'function') {\r\n retObj.ctx.cb();\r\n }\r\n}\r\n\r\nfunction __loginVerifyPINCallBack(retObj) {\r\n var strCertID = retObj.ctx.certID;\r\n var objForm = retObj.ctx.objForm;\r\n if (!retObj.retVal) {\r\n // eslint-disable-next-line no-undef\r\n xtxasyn.SOF_GetPinRetryCount(strCertID, __loginGetPINRetryCallBack, retObj.ctx);\r\n return;\r\n }\r\n objForm.CertID.value = strCertID;\r\n objForm.ContainerName.value = strCertID; \r\n \r\n // eslint-disable-next-line no-undef\r\n xtxasyn.SOF_ExportUserCert(strCertID, __loginGetSignCertCallBack, retObj.ctx);\r\n}\r\n\r\n//Form login\r\nfunction Login(formName, strCertID, strPin, strAction, custom_cb) {\r\n var objForm = eval(formName);\r\n if (objForm == null) {\r\n // eslint-disable-next-line no-undef\r\n xtxasyn.custom.errorReportFunc(\"表单错误!\");\r\n if (typeof(custom_cb) === 'function') {\r\n custom_cb(false);\r\n }\r\n return;\r\n }\r\n if (strCertID == null || strCertID == \"\") {\r\n // eslint-disable-next-line no-undef\r\n xtxasyn.custom.errorReportFunc(\"请输入证书密码!\");\r\n if (typeof(custom_cb) === 'function') {\r\n custom_cb(false);\r\n }\r\n return;\r\n }\r\n if (strPin == null || strPin == \"\") {\r\n // eslint-disable-next-line no-undef\r\n xtxasyn.custom.errorReportFunc(\"请输入证书密码!\");\r\n if (typeof(custom_cb) === 'function') {\r\n custom_cb(false);\r\n }\r\n return;\r\n }\r\n\r\n //Add a hidden item ...\r\n if (objForm.UserSignedData == null) {\r\n objForm.insertAdjacentHTML(\"BeforeEnd\", \"<input type=\\\"hidden\\\" name=\\\"UserSignedData\\\" value=\\\"\\\">\");\r\n }\r\n if (objForm.UserCert == null) {\r\n objForm.insertAdjacentHTML(\"BeforeEnd\", \"<input type=\\\"hidden\\\" name=\\\"UserCert\\\" value=\\\"\\\">\");\r\n }\r\n if (objForm.CertID == null) {\r\n objForm.insertAdjacentHTML(\"BeforeEnd\", \"<input type=\\\"hidden\\\" name=\\\"CertID\\\" value=\\\"\\\">\");\r\n }\r\n if (objForm.ContainerName == null) {\r\n objForm.insertAdjacentHTML(\"BeforeEnd\", \"<input type=\\\"hidden\\\" name=\\\"ContainerName\\\" value=\\\"\\\">\");\r\n } \r\n if (objForm.LoginToken == null) {\r\n objForm.insertAdjacentHTML(\"BeforeEnd\", \"<input type=\\\"hidden\\\" name=\\\"LoginToken\\\" value=\\\"\\\">\");\r\n }\r\n\r\n var ctx = {certID:strCertID, objForm:objForm, action:strAction, cb:custom_cb};\r\n \r\n // eslint-disable-next-line no-undef\r\n xtxasyn.SOF_Login(strCertID, strPin, __loginVerifyPINCallBack, ctx);\r\n\r\n return;\r\n}\r\n","/*******************************************************\r\n*\r\n* 使用此JS脚本之前请先仔细阅读帮助文档!\r\n*\r\n* @author Fuly\r\n* @version 3.2.3\r\n* @date 2020/12/23\r\n*\r\n**********************************************************/\r\n\r\n\r\n\r\nvar split;\r\n\r\n// Avoid running twice; that would break the `nativeSplit` reference\r\n// eslint-disable-next-line no-unused-vars\r\nsplit = split || function (undef) {\r\n\r\n var nativeSplit = String.prototype.split,\r\n compliantExecNpcg = /()??/.exec(\"\")[1] === undef, // NPCG: nonparticipating capturing group\r\n self;\r\n\r\n self = function (str, separator, limit) {\r\n // If `separator` is not a regex, use `nativeSplit`\r\n if (Object.prototype.toString.call(separator) !== \"[object RegExp]\") {\r\n return nativeSplit.call(str, separator, limit);\r\n }\r\n var output = [],\r\n flags = (separator.ignoreCase ? \"i\" : \"\") +\r\n (separator.multiline ? \"m\" : \"\") +\r\n (separator.extended ? \"x\" : \"\") + // Proposed for ES6\r\n (separator.sticky ? \"y\" : \"\"), // Firefox 3+\r\n lastLastIndex = 0,\r\n // Make `global` and avoid `lastIndex` issues by working with a copy\r\n // eslint-disable-next-line no-redeclare\r\n separator = new RegExp(separator.source, flags + \"g\"),\r\n separator2, match, lastIndex, lastLength;\r\n str += \"\"; // Type-convert\r\n if (!compliantExecNpcg) {\r\n // Doesn't need flags gy, but they don't hurt\r\n separator2 = new RegExp(\"^\" + separator.source + \"$(?!\\\\s)\", flags);\r\n }\r\n /* Values for `limit`, per the spec:\r\n * If undefined: 4294967295 // Math.pow(2, 32) - 1\r\n * If 0, Infinity, or NaN: 0\r\n * If positive number: limit = Math.floor(limit); if (limit > 4294967295) limit -= 4294967296;\r\n * If negative number: 4294967296 - Math.floor(Math.abs(limit))\r\n * If other: Type-convert, then use the above rules\r\n */\r\n limit = limit === undef ?\r\n -1 >>> 0 : // Math.pow(2, 32) - 1\r\n limit >>> 0; // ToUint32(limit)\r\n // eslint-disable-next-line no-cond-assign\r\n while (match = separator.exec(str)) {\r\n // `separator.lastIndex` is not reliable cross-browser\r\n lastIndex = match.index + match[0].length;\r\n if (lastIndex > lastLastIndex) {\r\n output.push(str.slice(lastLastIndex, match.index));\r\n // Fix browsers whose `exec` methods don't consistently return `undefined` for\r\n // nonparticipating capturing groups\r\n if (!compliantExecNpcg && match.length > 1) {\r\n match[0].replace(separator2, function () {\r\n for (var i = 1; i < arguments.length - 2; i++) {\r\n if (arguments[i] === undef) {\r\n match[i] = undef;\r\n }\r\n }\r\n });\r\n }\r\n if (match.length > 1 && match.index < str.length) {\r\n Array.prototype.push.apply(output, match.slice(1));\r\n }\r\n lastLength = match[0].length;\r\n lastLastIndex = lastIndex;\r\n if (output.length >= limit) {\r\n break;\r\n }\r\n }\r\n if (separator.lastIndex === match.index) {\r\n separator.lastIndex++; // Avoid an infinite loop\r\n }\r\n }\r\n if (lastLastIndex === str.length) {\r\n if (lastLength || !separator.test(\"\")) {\r\n output.push(\"\");\r\n }\r\n } else {\r\n output.push(str.slice(lastLastIndex));\r\n }\r\n return output.length > limit ? output.slice(0, limit) : output;\r\n };\r\n\r\n // For convenience\r\n String.prototype.split = function (separator, limit) {\r\n return self(this, separator, limit);\r\n };\r\n\r\n return self;\r\n\r\n}();\r\n\r\n\r\nexport function mToken (obj) {\r\n this.obj = obj;\r\n\r\n this.SAR_OK = 0;\r\n this.SAR_FALSE = 1;\r\n\r\n //分组加密算法标识\r\n this.SGD_SM1_ECB = 0x00000101;\r\n this.SGD_SM1_CBC = 0x00000102;\r\n this.SGD_SM1_CFB = 0x00000104;\r\n this.SGD_SM1_OFB = 0x00000108;\r\n this.SGD_SM1_MAC = 0x00000110;\r\n this.SGD_SSF33_ECB = 0x00000201;\r\n this.SGD_SSF33_CBC = 0x00000202;\r\n this.SGD_SSF33_CFB = 0x00000204;\r\n this.SGD_SSF33_OFB = 0x00000208;\r\n this.SGD_SSF33_MAC = 0x00000210;\r\n this.SGD_SM4_ECB = 0x00000401;\r\n this.SGD_SM4_CBC = 0x00000402;\r\n this.SGD_SM4_CFB = 0x00000404;\r\n this.SGD_SM4_OFB = 0x00000408;\r\n this.SGD_SM4_MAC = 0x00000410;\r\n\r\n this.SGD_VENDOR_DEFINED = 0x80000000;\r\n this.SGD_DES_ECB = this.SGD_VENDOR_DEFINED + 0x00000211\r\n this.SGD_DES_CBC = this.SGD_VENDOR_DEFINED + 0x00000212\r\n\r\n this.SGD_3DES168_ECB = this.SGD_VENDOR_DEFINED + 0x00000241\r\n this.SGD_3DES168_CBC = this.SGD_VENDOR_DEFINED + 0x00000242\r\n\r\n this.SGD_3DES112_ECB = this.SGD_VENDOR_DEFINED + 0x00000221\r\n this.SGD_3DES112_CBC = this.SGD_VENDOR_DEFINED + 0x00000222\r\n\r\n this.SGD_AES128_ECB = this.SGD_VENDOR_DEFINED + 0x00000111\r\n this.SGD_AES128_CBC = this.SGD_VENDOR_DEFINED + 0x00000112\r\n\r\n this.SGD_AES192_ECB = this.SGD_VENDOR_DEFINED + 0x00000121\r\n this.SGD_AES192_CBC = this.SGD_VENDOR_DEFINED + 0x00000122\r\n\r\n this.SGD_AES256_ECB = this.SGD_VENDOR_DEFINED + 0x00000141\r\n this.SGD_AES256_CBC = this.SGD_VENDOR_DEFINED + 0x00000142\r\n\r\n\r\n //非对称密码算法标识\r\n this.SGD_RSA = 0x00010000;\r\n this.SGD_SM2_1 = 0x00020100; //ECC签名\r\n this.SGD_SM2_2 = 0x00020200; //ECC密钥交换\r\n this.SGD_SM2_3 = 0x00020400; //ECC加密\r\n\r\n //密码杂凑算法标识\r\n this.SGD_SM3 = 0x00000001;\r\n this.SGD_SHA1 = 0x00000002;\r\n this.SGD_SHA256 = 0x00000004;\r\n this.SGD_RAW = 0x00000080;\r\n this.SGD_MD5 = 0x00000081;\r\n this.SGD_SHA384 = 0x00000082;\r\n this.SGD_SHA512 = 0x00000083;\r\n\r\n\r\n this.SGD_CERT_VERSION = 0x00000001;\r\n this.SGD_CERT_SERIAL = 0x00000002;\r\n this.SGD_CERT_ISSUE = 0x00000005;\r\n this.SGD_CERT_VALID_TIME = 0x00000006;\r\n this.SGD_CERT_SUBJECT = 0x00000007;\r\n this.SGD_CERT_DER_PUBLIC_KEY = 0x00000008;\r\n this.SGD_CERT_DER_EXTENSIONS = 0x00000009;\r\n this.SGD_CERT_NOT_BEFORE = 0x00000010;\r\n this.SGD_CERT_ISSUER_CN = 0x00000021;\r\n this.SGD_CERT_ISSUER_O = 0x00000022;\r\n this.SGD_CERT_ISSUER_OU = 0x00000023;\r\n this.SGD_CERT_ISSUER_C = 0x00000024;\r\n this.SGD_CERT_ISSUER_P = 0x00000025;\r\n this.SGD_CERT_ISSUER_L = 0x00000026;\r\n this.SGD_CERT_ISSUER_S = 0x00000027;\r\n this.SGD_CERT_ISSUER_EMAIL = 0x00000028;\r\n\r\n this.SGD_CERT_SUBJECT_CN = 0x00000031;\r\n this.SGD_CERT_SUBJECT_O = 0x00000032;\r\n this.SGD_CERT_SUBJECT_OU = 0x00000033;\r\n this.SGD_CERT_SUBJECT_EMALL = 0x00000034;\r\n this.SGD_REMAIN_TIME = 0x00000035;\r\n this.SGD_SIGNATURE_ALG = 0x00000036;\r\n this.SGD_CERT_SUBJECT_C = 0x00000037;\r\n this.SGD_CERT_SUBJECT_P = 0x00000038;\r\n this.SGD_CERT_SUBJECT_L = 0x00000039;\r\n this.SGD_CERT_SUBJECT_S = 0x0000003A;\r\n\r\n this.SGD_CERT_CRL = 0x00000041;\r\n\r\n\r\n this.SGD_DEVICE_SORT = 0x00000201;\r\n this.SGD_DEVICE_TYPE = 0x00000202;\r\n this.SGD_DEVICE_NAME = 0x00000203;\r\n this.SGD_DEVICE_MANUFACTURER = 0x00000204;\r\n this.SGD_DEVICE_HARDWARE_VERSION = 0x00000205;\r\n this.SGD_DEVICE_SOFTWARE_VERSION = 0x00000206;\r\n this.SGD_DEVICE_STANDARD_VERSION = 0x00000207;\r\n this.SGD_DEVICE_SERIAL_NUMBER = 0x00000208;\r\n this.SGD_DEVICE_SUPPORT_SYM_ALG = 0x00000209;\r\n this.SGD_DEVICE_SUPPORT_ASYM_ALG = 0x0000020A;\r\n this.SGD_DEVICE_SUPPORT_HASH_ALG = 0x0000020B;\r\n this.SGD_DEVICE_SUPPORT_STORANGE_SPACE = 0x0000020C;\r\n this.SGD_DEVICE_SUPPORT_FREE_SAPCE = 0x0000020D;\r\n this.SGD_DEVICE_RUNTIME = 0x0000020E;\r\n this.SGD_DEVICE_USED_TIMES = 0x0000020F;\r\n this.SGD_DEVICE_LOCATION = 0x00000210;\r\n this.SGD_DEVICE_DESCRIPTION = 0x00000211;\r\n this.SGD_DEVICE_MANAGER_INFO = 0x00000212;\r\n this.SGD_DEVICE_MAX_DATA_SIZE = 0x00000213;\r\n\r\n this.TRUE = 1;\r\n this.FALSE = 0;\r\n\r\n this.GM3000 = 1;\r\n this.K5 = 3;\r\n this.TF = 4;\r\n this.HT = 5;\r\n this.SJK1137 = 2;\r\n\r\n this.TYPE_UKEY = 1; //普通UKEY\r\n this.TYPE_FPKEY = 2; //指纹UKEY\r\n\r\n var g_mTokenPlugin = null;\r\n\r\n\r\n this.SOF_GetLastError = function () {\r\n if (g_mTokenPlugin == null) {\r\n return -1;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_GetLastError();\r\n }\r\n\r\n // eslint-disable-next-line no-unused-vars\r\n function isIe () {\r\n return (\"ActiveXObject\" in window);\r\n }\r\n\r\n function isMobile () {\r\n var browser = {\r\n versions: function () {\r\n // eslint-disable-next-line no-unused-vars\r\n var u = navigator.userAgent, app = navigator.appVersion;\r\n return {//移动终端浏览器版本信息\r\n trident: u.indexOf('Trident') > -1, //IE内核\r\n presto: u.indexOf('Presto') > -1, //opera内核\r\n webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核\r\n gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核\r\n mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端\r\n ios: !!u.match(/\\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端\r\n android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器\r\n iPhone: u.indexOf('iPhone') > -1, //是否为iPhone或者QQHD浏览器\r\n iPad: u.indexOf('iPad') > -1, //是否iPad\r\n webApp: u.indexOf('Safari') == -1\r\n //是否web应该程序,没有头部与底部\r\n };\r\n }(),\r\n language: (navigator.browserLanguage || navigator.language).toLowerCase()\r\n }\r\n\r\n if ((browser.versions.mobile) && (browser.versions.ios || browser.versions.android || browser.versions.iPhone || browser.versions.iPad)) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n this.SOF_LoadLibrary = function (type) {\r\n os = check_os();\r\n var ret;\r\n if (g_mTokenPlugin == null) {\r\n g_mTokenPlugin = new mTokenPlugin();\r\n }\r\n\r\n if (type == this.GM3000) {\r\n if (isMobile()) {\r\n ret = g_mTokenPlugin.SOF_LoadLibrary(\"1\", \"mToken OTG\", \"com.longmai.security.plugin.driver.otg.OTGDriver\");\r\n }\r\n else {\r\n ret = g_mTokenPlugin.SOF_LoadLibrary(\"mtoken_gm3000_hnca.dll\", \"libgm3000.1.0.so\", \"libgm3000.1.0.dylib\");\r\n }\r\n }\r\n else if (type == this.SJK1137) {\r\n ret = g_mTokenPlugin.SOF_LoadLibrary(\"SKF_APP.dll\", \"libhunca_hsic_skf.so\", \"libhunca_hsic_skf.dylib\");\r\n }\r\n else if (type == this.HT) {\r\n ret = g_mTokenPlugin.SOF_LoadLibrary(\"HUNCA_HT_20522_SKF.dll\", \"libhunca_ht_h2070f63_skf.so\", \"libhunca_ht_h2070f63_skf.dylib\");\r\n }\r\n else if (type == this.K5) {\r\n if (isMobile()) {\r\n ret = g_mTokenPlugin.SOF_LoadLibrary(\"2\", \"mToken K5 Bluetooth\", \"com.longmai.security.plugin.driver.ble.BLEDriver\");\r\n }\r\n else {\r\n ret = g_mTokenPlugin.SOF_LoadLibrary(\"mtoken_k5.dll\", \"libgm3000.1.0.so\", \"libk5.1.0.dylib\");\r\n }\r\n }\r\n else if (type == this.TF) {\r\n if (isMobile()) {\r\n ret = g_mTokenPlugin.SOF_LoadLibrary(\"0\", \"mToken TF/SD Card\", \"com.longmai.security.plugin.driver.tf.TFDriver\");\r\n } else {\r\n ret = g_mTokenPlugin.SOF_LoadLibrary(\"mtoken_tf.dll\", \"libgm3000.1.0.so\", \"libtf.dylib\");\r\n }\r\n }\r\n else {\r\n return -1;\r\n }\r\n\r\n if (ret != 0) {\r\n return -2;\r\n }\r\n return this.SAR_OK;\r\n };\r\n\r\n\r\n this.SOF_EnumDevice = function () {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n var array = g_mTokenPlugin.SOF_EnumDevice();\r\n if (array == null || array.length <= 0) {\r\n return null;\r\n }\r\n\r\n return array.split(\"||\");\r\n\r\n };\r\n\r\n\r\n this.SOF_GetVersion = function () {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_GetVersion();\r\n };\r\n\r\n\r\n this.SOF_GetDeviceInstance = function (DeviceName, ApplicationName) {\r\n if (g_mTokenPlugin == null) {\r\n return -1;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_GetDeviceInstance(DeviceName, ApplicationName);\r\n };\r\n\r\n this.SOF_ReleaseDeviceInstance = function () {\r\n if (g_mTokenPlugin == null) {\r\n return -1;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_ReleaseDeviceInstance()\r\n }\r\n\r\n\r\n this.SOF_GetUserList = function () {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n var array = g_mTokenPlugin.SOF_GetUserList();\r\n if (array == null || array.length <= 0)\r\n return null;\r\n\r\n var list = new Array();\r\n var user = array.split(\"&&&\");\r\n var length = user.length;\r\n for (var i = 0; i < length; i++) {\r\n list[i] = user[i].split(\"||\");\r\n }\r\n\r\n return list;\r\n };\r\n\r\n\r\n this.SOF_ExportUserCert = function (ContainerName, KeySpec) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_ExportUserCert(ContainerName, KeySpec);\r\n };\r\n\r\n\r\n this.SOF_GetDeviceInfo = function (Type) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_GetDeviceInfo(Type);\r\n };\r\n\r\n\r\n this.SOF_GetCertInfo = function (Base64EncodeCert, Type) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_GetCertInfo(Base64EncodeCert, Type);\r\n };\r\n\r\n this.SOF_GetCertInfoByOid = function (Base64EncodeCert, OID) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_GetCertInfoByOid(Base64EncodeCert, OID);\r\n }\r\n\r\n this.SOF_Login = function (PassWd) {\r\n if (g_mTokenPlugin == null) {\r\n return -1;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_Login(PassWd);\r\n };\r\n\r\n\r\n this.SOF_LogOut = function () {\r\n if (g_mTokenPlugin == null) {\r\n return -1;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_LogOut();\r\n };\r\n\r\n\r\n this.SOF_GetPinRetryCount = function () {\r\n if (g_mTokenPlugin == null) {\r\n return -1;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_GetPinRetryCount();\r\n };\r\n\r\n\r\n this.SOF_ChangePassWd = function (OldPassWd, NewPassWd) {\r\n if (g_mTokenPlugin == null) {\r\n return -1;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_ChangePassWd(OldPassWd, NewPassWd);\r\n };\r\n\r\n\r\n this.SOF_SetDigestMethod = function (DigestMethod) {\r\n if (g_mTokenPlugin == null) {\r\n return -1;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_SetDigestMethod(DigestMethod);\r\n };\r\n\r\n\r\n this.SOF_SetUserID = function (UserID) {\r\n if (g_mTokenPlugin == null) {\r\n return -1;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_SetUserID(UserID);\r\n };\r\n\r\n\r\n this.SOF_SetEncryptMethodAndIV = function (EncryptMethod, EncryptIV) {\r\n if (g_mTokenPlugin == null) {\r\n return -1;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_SetEncryptMethodAndIV(EncryptMethod, EncryptIV);\r\n };\r\n\r\n\r\n this.SOF_EncryptFileToPKCS7 = function (Cert, InFile, OutFile, type) {\r\n if (g_mTokenPlugin == null) {\r\n return -1;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_EncryptFileToPKCS7(Cert, InFile, OutFile, type);\r\n };\r\n\r\n\r\n this.SOF_SignFileToPKCS7 = function (ContainerName, InFile, OutFile) {\r\n if (g_mTokenPlugin == null) {\r\n return -1;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_SignFileToPKCS7(ContainerName, InFile, OutFile);\r\n };\r\n\r\n this.SOF_VerifyFileToPKCS7 = function (strPkcs7Data, InFilePath) {\r\n if (g_mTokenPlugin == null) {\r\n return -1;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_VerifyFileToPKCS7(strPkcs7Data, InFilePath);\r\n };\r\n\r\n this.SOF_DecryptFileToPKCS7 = function (ContainerName, keySpec, Pkcs7Data, InFile, OutFile, type) {\r\n if (g_mTokenPlugin == null) {\r\n return -1;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_DecryptFileToPKCS7(ContainerName, keySpec, Pkcs7Data, InFile, OutFile, type);\r\n };\r\n\r\n this.SOF_DigestData = function (ContainerName, nData, InDataLen) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_DigestData(ContainerName, nData, InDataLen);\r\n };\r\n\r\n this.SOF_SignData = function (ContainerName, ulKeySpec, InData, InDataLen) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_SignData(ContainerName, ulKeySpec, InData, InDataLen);\r\n };\r\n //交互式签名\r\n this.SOF_SignDataInteractive = function (ContainerName, ulKeySpec, InData, InDataLen) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_SignDataInteractive(ContainerName, ulKeySpec, InData, InDataLen);\r\n }\r\n\r\n\r\n this.SOF_SignDataToPKCS7 = function (ContainerName, ulKeySpec, InData, ulDetached) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_SignDataToPKCS7(ContainerName, ulKeySpec, InData, ulDetached);\r\n };\r\n\r\n\r\n\r\n this.SOF_VerifyDataToPKCS7 = function (Base64EncodeCert, InData, SignedValue) {\r\n if (g_mTokenPlugin == null) {\r\n return -1;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_VerifyDataToPKCS7(Base64EncodeCert, InData, SignedValue);\r\n };\r\n\r\n\r\n this.SOF_VerifySignedData = function (Base64EncodeCert, digestMethod, InData, SignedValue) {\r\n if (g_mTokenPlugin == null) {\r\n return -1;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_VerifySignedData(Base64EncodeCert, digestMethod, InData, SignedValue);\r\n };\r\n\r\n\r\n this.SOF_EncryptDataPKCS7 = function (Base64EncodeCert, InData, InDataLen) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_EncryptDataPKCS7(Base64EncodeCert, InData, InDataLen);\r\n };\r\n\r\n\r\n this.SOF_DecryptDataPKCS7 = function (ContainerName, ulKeySpec, InData) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_DecryptDataPKCS7(ContainerName, ulKeySpec, InData);\r\n };\r\n\r\n\r\n this.SOF_GenRemoteUnblockRequest = function () {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_GenRemoteUnblockRequest();\r\n };\r\n\r\n\r\n this.SOF_GenResetpwdResponse = function (request, soPin, userPin) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_GenResetpwdResponse(request, soPin, userPin);\r\n };\r\n\r\n\r\n this.SOF_RemoteUnblockPIN = function (request) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_RemoteUnblockPIN(request);\r\n };\r\n\r\n\r\n this.SOF_SignDataToPKCS7 = function (ContainerName, ulKeySpec, InData, ulDetached) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_SignDataToPKCS7(ContainerName, ulKeySpec, InData, ulDetached);\r\n };\r\n\r\n\r\n this.SOF_VerifyDataToPKCS7 = function (strPkcs7Data, OriginalText, ulDetached) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_VerifyDataToPKCS7(strPkcs7Data, OriginalText, ulDetached);\r\n };\r\n\r\n //按expType导出的公钥,格式为国密规范指定的格式或DER格式\r\n this.SOF_ExportPubKey = function (containerName, cerType, expType) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_ExportPubKey(containerName, cerType, expType);\r\n }\r\n\r\n this.SOF_EncryptByPubKey = function (strPubKey, strInput, cerType) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_EncryptByPubKey(strPubKey, strInput, cerType);\r\n }\r\n\r\n this.SOF_DecryptByPrvKey = function (containerName, cerType, strAsymCipher) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_DecryptByPrvKey(containerName, cerType, strAsymCipher);\r\n }\r\n\r\n //RA客户端相关接口:P10及证书导入等\r\n this.SOF_GenerateP10Request = function (deviceName, container, dn, asymAlg, keySpec, keyLength) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_GenerateP10Request(deviceName, container, dn, asymAlg, keySpec, keyLength);\r\n }\r\n\r\n this.SOF_EnumCertContiner = function () {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_EnumCertContiner();\r\n }\r\n\r\n this.SOF_FindContainer = function (certSN) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_FindContainer(certSN);\r\n }\r\n\r\n this.SOF_DeleteCert = function (certSN) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_DeleteCert(certSN);\r\n }\r\n\r\n this.SOF_DeleteContainer = function (certSN) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_DeleteContainer(certSN);\r\n }\r\n\r\n this.SOF_SignByCert = function (certSN, plain) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_SignByCert(certSN, plain);\r\n }\r\n\r\n this.SOF_VerifyByCert = function (certSN, plain, signature) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_VerifyByCert(certSN, plain, signature);\r\n }\r\n\r\n\r\n this.SOF_ImportCert = function (container, cert, keySpec) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_ImportCert(container, cert, keySpec);\r\n }\r\n\r\n this.SOF_ImportCryptoCertAndKey = function (container, cert, nAsymAlg, EncryptedSessionKeyData, symAlg, EncryptedPrivateKeyData, mode) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_ImportCryptoCertAndKey(container, cert, nAsymAlg, EncryptedSessionKeyData, symAlg, EncryptedPrivateKeyData, mode);\r\n }\r\n\r\n this.SOF_VerifyByExtCert = function (cert, plain, signature, digestMethod) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_VerifyByExtCert(cert, plain, signature, digestMethod);\r\n }\r\n\r\n this.SOF_GenerateRandom = function (length) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_GenerateRandom(length);\r\n }\r\n\r\n this.SOF_SymEncryptFile = function (sessionKey, srcfile, destfile, type) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_SymEncryptFile(sessionKey, srcfile, destfile, type);\r\n }\r\n\r\n this.SOF_SymDecryptFile = function (sessionKey, srcfile, destfile, type) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_SymDecryptFile(sessionKey, srcfile, destfile, type);\r\n }\r\n\r\n this.SOF_SymEncryptData = function (sessionKey, inData) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_SymEncryptData(sessionKey, inData);\r\n }\r\n\r\n this.SOF_SymDecryptData = function (sessionKey, inData) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_SymDecryptData(sessionKey, inData);\r\n }\r\n\r\n this.SOF_GenerateQRCode = function (qrcode_text) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_GenerateQRCode(qrcode_text);\r\n }\r\n\r\n\r\n this.SOF_VerifyPinMS = function (responseKey) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_VerifyPinMS(responseKey);\r\n }\r\n\r\n this.SOF_GetHardwareType = function () {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_GetHardwareType();\r\n }\r\n\r\n this.SOF_VerifyFingerprint = function () {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n return g_mTokenPlugin.SOF_VerifyFingerprint();\r\n }\r\n\r\n\r\n this.SOF_EnumFiles = function () {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n\r\n var array = g_mTokenPlugin.SOF_EnumFiles();\r\n if (array == null || array.length <= 0) {\r\n return null;\r\n }\r\n\r\n return array.split(\"||\");\r\n }\r\n\r\n this.SOF_ReadFile = function (fileName, offset, length) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n return g_mTokenPlugin.SOF_ReadFile(fileName, Number(offset), Number(length));\r\n }\r\n\r\n this.SOF_WriteFile = function (fileName, offset, data) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n return g_mTokenPlugin.SOF_WriteFile(fileName, offset, data);\r\n }\r\n\r\n this.SOF_CreateFile = function (fileName, length, readRight, writeRight) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n return g_mTokenPlugin.SOF_CreateFile(fileName, length, readRight, writeRight);\r\n }\r\n\r\n this.SOF_DeleteFile = function (fileName) {\r\n if (g_mTokenPlugin == null) {\r\n return null;\r\n }\r\n return g_mTokenPlugin.SOF_DeleteFile(fileName);\r\n }\r\n\r\n\r\n}\r\n\r\n//判断插件名称是否存在\r\nfunction hasPlugin (name) {\r\n name = name.toLowerCase();\r\n for (var i = 0; i < navigator.plugins.length; i++) {\r\n if (navigator.plugins[i].name.toLowerCase().indexOf(name) > -1) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n//判断系统\r\nfunction check_os () {\r\n var windows = (navigator.userAgent.indexOf(\"Windows\", 0) != -1) ? 1 : 0;\r\n // eslint-disable-next-line no-unused-vars\r\n var mac = (navigator.userAgent.indexOf(\"mac\", 0) != -1) ? 1 : 0;\r\n var linux = (navigator.userAgent.indexOf(\"Linux\", 0) != -1) ? 1 : 0;\r\n // eslint-disable-next-line no-unused-vars\r\n var unix = (navigator.userAgent.indexOf(\"X11\", 0) != -1) ? 1 : 0;\r\n var os_type = \"\";\r\n if (windows) os_type = \"MS Windows\";\r\n // eslint-disable-next-line no-unused-vars\r\n else if (linux) os_type = \"Lunix\";\r\n if (hasPlugin(\"mPlugin1.0.0.1\")) {\r\n linuxWin = 2;\r\n return \"id_mPluginV2Router\";\r\n } else {\r\n linuxWin = 1;\r\n return \"mTokenPlugin\";\r\n }\r\n\r\n\r\n}\r\nvar linuxWin = 0;\r\nvar os;\r\n\r\nfunction mTokenPlugin () {\r\n var _xmlhttp;\r\n var retJSON = \"\";\r\n\r\n function AjaxIO (json_in) {\r\n //id_mPluginV2Router mTokenPlugin\r\n if (os == \"id_mPluginV2Router\") {\r\n var router = null;\r\n //var url = \"http://192.168.1.25:51235/alpha\";\r\n var url = \"http://127.0.0.1:51235/alpha\";\r\n\r\n router = document.getElementById(\"id_mPluginV2Router\");\r\n if (null == router) {\r\n alert(\"无法获取到插件,请确认已经安装好插件!\");\r\n }\r\n /*\r\n if(\"https:\" == document.location.protocol)\r\n {\r\n url = \"https://127.0.0.1:51245/alpha\";\r\n }\r\n */\r\n var json = json_in;\r\n\r\n retJSON = router.invoke(url, json);\r\n return retJSON;\r\n } else {\r\n\r\n // eslint-disable-next-line no-unused-vars\r\n var _curDevName = \"\";\r\n var _url = \"http://127.0.0.1:51235/alpha\";\r\n let json = json_in;\r\n if (_xmlhttp == null) {\r\n if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari\r\n _xmlhttp = new XMLHttpRequest();\r\n } else { // code for IE6, IE5\r\n // eslint-disable-next-line no-undef\r\n _xmlhttp = new ActiveXObject(\"Microsoft.XMLHTTP\");\r\n }\r\n }\r\n\r\n /***\r\n if (\"https:\" == document.location.protocol) {\r\n _url = \"https://127.0.0.1:51245/alpha\";\r\n }\r\n ***/\r\n _xmlhttp.open(\"POST\", _url, false);\r\n _xmlhttp.setRequestHeader(\"Content-type\", \"application/x-www-form-urlencoded\");\r\n _xmlhttp.send(\"json=\" + json);\r\n }\r\n\r\n\r\n\r\n\r\n }\r\n\r\n function GetHttpResult () {\r\n if (_xmlhttp.readyState == 4 && _xmlhttp.status == 200) {\r\n var obj = eval(\"(\" + _xmlhttp.responseText + \")\");\r\n return obj;\r\n }\r\n else {\r\n return null;\r\n }\r\n }\r\n\r\n this.SOF_GetLastError = function () {\r\n var json = '{\"function\":\"SOF_GetLastError\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.errorCode;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.rtn;\r\n }\r\n\r\n return -2;\r\n }\r\n }\r\n\r\n this.SOF_LoadLibrary = function (windows, linux, mac) {\r\n var json = '{\"function\":\"SOF_LoadLibrary\", \"winDllName\":\"' + windows + '\", \"linuxSOName\":\"' + linux + '\", \"macDylibName\":\"' + mac + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.rtn;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.rtn;\r\n }\r\n\r\n return -2;\r\n }\r\n };\r\n\r\n\r\n this.SOF_EnumDevice = function () {\r\n var json = '{\"function\":\"SOF_EnumDevice\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.array;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.array;\r\n }\r\n\r\n return -2;\r\n }\r\n };\r\n\r\n\r\n this.SOF_GetVersion = function () {\r\n var json = '{\"function\":\"SOF_GetVersion\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.version;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.version;\r\n }\r\n\r\n return -2;\r\n }\r\n };\r\n\r\n var _curDevName;\r\n this.SOF_GetDeviceInstance = function (DeviceName, ApplicationName) {\r\n var json = '{\"function\":\"SOF_GetDeviceInstance\", \"deviceName\":\"' + DeviceName + '\", \"applicationName\":\"' + ApplicationName + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n _curDevName = DeviceName;\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.rtn;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n if (ret.rtn == 0) {\r\n _curDevName = DeviceName;\r\n }\r\n return ret.rtn;\r\n }\r\n\r\n return -2;\r\n }\r\n };\r\n\r\n this.SOF_ReleaseDeviceInstance = function () {\r\n var json = '{\"function\":\"SOF_ReleaseDeviceInstance\", \"deviceName\":\"' + _curDevName + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.array;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.rtn;\r\n }\r\n\r\n return -2;\r\n }\r\n };\r\n\r\n this.SOF_GetUserList = function () {\r\n var json = '{\"function\":\"SOF_GetUserList\", \"deviceName\":\"' + _curDevName + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.array;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.array;\r\n }\r\n\r\n return -2;\r\n }\r\n };\r\n\r\n\r\n this.SOF_ExportUserCert = function (ContainerName, KeySpec) {\r\n\r\n var json = '{\"function\":\"SOF_ExportUserCert\", \"deviceName\":\"' + _curDevName + '\", \"containerName\":\"' + ContainerName + '\", \"keySpec\":' + KeySpec + '}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.cert;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.cert;\r\n }\r\n\r\n return -2;\r\n }\r\n };\r\n\r\n\r\n this.SOF_GetDeviceInfo = function (Type) {\r\n var json = '{\"function\":\"SOF_GetDeviceInfo\", \"deviceName\":\"' + _curDevName + '\", \"type\":' + Type + '}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.info;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.info;\r\n }\r\n\r\n return -2;\r\n }\r\n\r\n };\r\n\r\n\r\n this.SOF_GetCertInfo = function (Base64EncodeCert, Type) {\r\n var json = '{\"function\":\"SOF_GetCertInfo\", \"base64EncodeCert\":\"' + Base64EncodeCert + '\", \"type\":' + Type + '}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.info;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.info;\r\n }\r\n\r\n return -2;\r\n }\r\n\r\n };\r\n\r\n\r\n this.SOF_GetCertInfoByOid = function (Base64EncodeCert, OID) {\r\n var json = '{\"function\":\"SOF_GetCertInfoByOid\", \"base64EncodeCert\":\"' + Base64EncodeCert + '\", \"oid\":\"' + OID + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.info;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.info;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n };\r\n\r\n\r\n\r\n this.SOF_Login = function (PassWd) {\r\n\r\n var json = '{\"function\":\"SOF_Login\", \"deviceName\":\"' + _curDevName + '\", \"passWd\":\"' + PassWd + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.rtn;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.rtn;\r\n }\r\n\r\n return -2;\r\n }\r\n };\r\n\r\n\r\n this.SOF_LogOut = function () {\r\n\r\n var json = '{\"function\":\"SOF_LogOut\", \"deviceName\":\"' + _curDevName + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.rtn;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.rtn;\r\n }\r\n\r\n return -2;\r\n }\r\n };\r\n\r\n\r\n this.SOF_GetPinRetryCount = function () {\r\n\r\n var json = '{\"function\":\"SOF_GetPinRetryCount\", \"deviceName\":\"' + _curDevName + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.retryCount;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.retryCount;\r\n }\r\n\r\n return -2;\r\n }\r\n };\r\n\r\n\r\n this.SOF_ChangePassWd = function (OldPassWd, NewPassWd) {\r\n\r\n var json = '{\"function\":\"SOF_ChangePassWd\", \"deviceName\":\"' + _curDevName + '\", \"oldUpin\":\"' + OldPassWd + '\", \"newUpin\":\"' + NewPassWd + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.rtn;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.rtn;\r\n }\r\n\r\n return -2;\r\n }\r\n };\r\n\r\n\r\n this.SOF_SetDigestMethod = function (DigestMethod) {\r\n\r\n var json = '{\"function\":\"SOF_SetDigestMethod\",\"deviceName\":\"' + _curDevName + '\", \"digestMethod\":' + DigestMethod + '}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.rtn;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.rtn;\r\n }\r\n\r\n return -2;\r\n }\r\n };\r\n\r\n\r\n this.SOF_SetUserID = function (UserID) {\r\n\r\n var json = '{\"function\":\"SOF_SetUserID\",\"deviceName\":\"' + _curDevName + '\", \"userID\":\"' + UserID + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.rtn;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.rtn;\r\n }\r\n\r\n return -2;\r\n }\r\n };\r\n\r\n\r\n this.SOF_SetEncryptMethodAndIV = function (EncryptMethod, EncryptIV) {\r\n\r\n var json = '{\"function\":\"SOF_SetEncryptMethodAndIV\",\"deviceName\":\"' + _curDevName + '\", \"encryptMethod\":' + EncryptMethod + ', \"encryptIV\":\"' + EncryptIV + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.rtn;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.rtn;\r\n }\r\n\r\n return -2;\r\n }\r\n };\r\n\r\n\r\n this.SOF_EncryptFileToPKCS7 = function (Cert, InFile, OutFile, type) {\r\n\r\n var json = '{\"function\":\"SOF_EncryptFileToPKCS7\", \"deviceName\":\"' + _curDevName + '\", \"cert\":\"' + Cert + '\", \"inFile\":\"' + InFile.replace(/\\\\/g, '\\\\\\\\') + '\", \"outFile\":\"' + OutFile.replace(/\\\\/g, '\\\\\\\\') + '\", \"type\":' + type + '}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.envelopData;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.envelopData;\r\n }\r\n\r\n return -2;\r\n }\r\n };\r\n\r\n\r\n this.SOF_SignFileToPKCS7 = function (ContainerName, KeySpec, InFile) {\r\n\r\n var json = '{\"function\":\"SOF_SignFileToPKCS7\", \"deviceName\":\"' + _curDevName + '\", \"containerName\":\"' + ContainerName + '\", \"KeySpec\":' + KeySpec + ', \"inFile\":\"' + InFile.replace(/\\\\/g, '\\\\\\\\') + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.signed;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.signed;\r\n }\r\n\r\n return -2;\r\n }\r\n };\r\n\r\n\r\n this.SOF_VerifyFileToPKCS7 = function (strPkcs7Data, InFilePath) {\r\n var json = '{\"function\":\"SOF_VerifyFileToPKCS7\", \"deviceName\":\"' + _curDevName + '\",\"strPkcs7Data\":\"' + strPkcs7Data + '\", \"inFile\":\"' + InFilePath.replace(/\\\\/g, '\\\\\\\\') + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.rtn;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.rtn;\r\n }\r\n\r\n return -2;\r\n }\r\n };\r\n\r\n\r\n this.SOF_DecryptFileToPKCS7 = function (ContainerName, keySpec, Pkcs7Data, InFile, OutFile, type) {\r\n\r\n var json = '{\"function\":\"SOF_DecryptFileToPKCS7\", \"deviceName\":\"' + _curDevName + '\", \"containerName\":\"' + ContainerName + '\", \"keySpec\":' + keySpec + ', \"pkcs7Data\":\"' + Pkcs7Data + '\", \"inFile\":\"' + InFile.replace(/\\\\/g, '\\\\\\\\') + '\", \"outFile\":\"' + OutFile.replace(/\\\\/g, '\\\\\\\\') + '\", \"type\":' + type + '}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.rtn;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.rtn;\r\n }\r\n\r\n return -2;\r\n }\r\n };\r\n\r\n\r\n this.SOF_DigestData = function (ContainerName, InData, InDataLen) {\r\n\r\n var json = '{\"function\":\"SOF_DigestData\",\"deviceName\":\"' + _curDevName + '\", \"containerName\":\"' + ContainerName + '\", \"inData\":\"' + InData + '\", \"inDataLen\":' + InDataLen + '}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.digest;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.digest;\r\n }\r\n\r\n return -2;\r\n }\r\n };\r\n\r\n //交互式签名\r\n this.SOF_SignDataInteractive = function (ContainerName, ulKeySpec, inData, InDataLen) {\r\n var InDataBase64 = inData; //对报文进行Base64编码\r\n var json = '{\"function\":\"SOF_SignDataInteractive\", \"deviceName\":\"' + _curDevName + '\", \"containerName\":\"' + ContainerName + '\", \"keySpec\":' + ulKeySpec + ', \"inData\":\"' + InDataBase64 + '\", \"inDataLen\":' + InDataLen + '}';\r\n\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.signed;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.signed;\r\n }\r\n\r\n return null;\r\n }\r\n };\r\n\r\n this.SOF_SignData = function (ContainerName, ulKeySpec, InData, InDataLen) {\r\n\r\n var json = '{\"function\":\"SOF_SignDataEx\", \"deviceName\":\"' + _curDevName + '\", \"containerName\":\"' + ContainerName + '\", \"keySpec\":' + ulKeySpec + ', \"inData\":\"' + InData + '\", \"inDataLen\":' + InDataLen + '}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.signed;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.signed;\r\n }\r\n\r\n return -2;\r\n }\r\n };\r\n\r\n\r\n this.SOF_VerifySignedData = function (Base64EncodeCert, digestMethod, InData, SignedValue) {\r\n var json = '{\"function\":\"SOF_VerifySignedDataEx\",\"deviceName\":\"' + _curDevName + '\", \"base64EncodeCert\":\"' + Base64EncodeCert + '\", \"digestMethod\":' + digestMethod + ', \"inData\":\"' + InData + '\", \"signedValue\":\"' + SignedValue + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.rtn;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.rtn;\r\n }\r\n\r\n return -2;\r\n }\r\n };\r\n\r\n\r\n this.SOF_EncryptDataPKCS7 = function (Base64EncodeCert, InData, InDataLen) {\r\n\r\n var json = '{\"function\":\"SOF_EncryptDataPKCS7\", \"deviceName\":\"' + _curDevName + '\", \"base64EncodeCert\":\"' + Base64EncodeCert + '\", \"inData\":\"' + InData + '\", \"inDataLen\":' + InDataLen + '}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.encrypedData;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.encrypedData;\r\n }\r\n\r\n return -2;\r\n }\r\n\r\n };\r\n\r\n\r\n this.SOF_DecryptDataPKCS7 = function (ContainerName, ulKeySpec, InData) {\r\n\r\n var json = '{\"function\":\"SOF_DecryptDataPKCS7\", \"deviceName\":\"' + _curDevName + '\", \"containerName\":\"' + ContainerName + '\", \"keySpec\":' + ulKeySpec + ', \"inData\":\"' + InData + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.decryptedData;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.decryptedData;\r\n }\r\n\r\n return -2;\r\n }\r\n };\r\n\r\n\r\n this.SOF_GenRemoteUnblockRequest = function () {\r\n\r\n var json = '{\"function\":\"SOF_GenRemoteUnblockRequest\", \"deviceName\":\"' + _curDevName + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.request;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.request;\r\n }\r\n\r\n return -2;\r\n }\r\n };\r\n\r\n\r\n this.SOF_GenResetpwdResponse = function (request, soPin, userPin) {\r\n\r\n var json = '{\"function\":\"SOF_GenResetpwdResponse\", \"deviceName\":\"' + _curDevName + '\", \"request\":\"' + request + '\", \"soPin\":\"' + soPin + '\", \"userPin\":\"' + userPin + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.request;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.request;\r\n }\r\n\r\n return -2;\r\n }\r\n };\r\n\r\n\r\n this.SOF_RemoteUnblockPIN = function (request) {\r\n\r\n var json = '{\"function\":\"SOF_RemoteUnblockPIN\", \"deviceName\":\"' + _curDevName + '\", \"request\":\"' + request + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.rtn;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.rtn;\r\n }\r\n\r\n return -2;\r\n }\r\n };\r\n\r\n\r\n this.SOF_SignDataToPKCS7 = function (ContainerName, ulKeySpec, InData, ulDetached) {\r\n\r\n var json = '{\"function\":\"SOF_SignDataToPKCS7\", \"deviceName\":\"' + _curDevName + '\", \"containerName\":\"' + ContainerName + '\", \"keySpec\":' + ulKeySpec + ', \"inData\":\"' + InData + '\", \"detached\":' + ulDetached + '}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.pkcs7;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.pkcs7;\r\n }\r\n\r\n return -2;\r\n }\r\n };\r\n\r\n\r\n this.SOF_VerifyDataToPKCS7 = function (strPkcs7Data, OriginalText, ulDetached) {\r\n\r\n var json = '{\"function\":\"SOF_VerifyDataToPKCS7\", \"deviceName\":\"' + _curDevName + '\", \"pkcs7\":\"' + strPkcs7Data + '\", \"original\":\"' + OriginalText + '\", \"detached\":' + ulDetached + '}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.rtn;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.rtn;\r\n }\r\n\r\n return -2;\r\n }\r\n };\r\n\r\n //按expType导出的公钥,格式为国密规范指定的格式或DER格式或裸数据格式\r\n this.SOF_ExportPubKey = function (containerName, keySpec, expType) //expType=1: 国密格式; 2:DER; 3:RAW (SM2 public key ONLY: X|Y, X,Y各为32字节)\r\n {\r\n var json = '{\"function\":\"SOF_ExportPubKeyEx\",\"deviceName\":\"' + _curDevName + '\", \"containerName\":\"' + containerName + '\", \"keySpec\":' + keySpec + ', \"expType\":' + expType + '}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.pubKey;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.pubKey;\r\n }\r\n\r\n return -2;\r\n }\r\n }\r\n\r\n //公钥加密\r\n this.SOF_EncryptByPubKey = function (strPubKey, strInput, cerType) {\r\n var json = '{\"function\":\"SOF_EncryptByPubKey\", \"deviceName\":\"' + _curDevName + '\", \"pubKey\":\"' + strPubKey + '\", \"asymPlain\":\"' + strInput + '\", \"keySpec\":' + cerType + '}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.asymCipher;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.asymCipher;\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n //私钥解密\r\n this.SOF_DecryptByPrvKey = function (containerName, cerType, strAsymCipher) {\r\n var json = '{\"function\":\"SOF_DecryptByPrvKey\", \"deviceName\":\"' + _curDevName + '\", \"containerName\":\"' + containerName + '\", \"asymCipher\":\"' + strAsymCipher + '\", \"keySpec\":' + cerType + '}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.asymPlain;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.asymPlain;\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n //RA客户端控件\r\n this.SOF_CreateKeyPair = function (container, keySpec, asymAlg, keyLength) {\r\n var json = '{\"function\":\"SOF_CreateKeyPair\",\"deviceName\":\"' + _curDevName + '\", \"containerName\":\"' + container + '\", \"asymAlg\":' + asymAlg + ', \"keySpec\":' + keySpec + ',\"keyLength\":' + keyLength + '}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.rtn;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.rtn;\r\n }\r\n\r\n return -2;\r\n }\r\n }\r\n\r\n this.SOF_EnumCertContiner = function () {\r\n var json = '{\"function\":\"SOF_EnumCertContiner\", \"deviceName\":\"' + _curDevName + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.containerName;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.containerName;\r\n }\r\n\r\n return \"\";\r\n }\r\n }\r\n\r\n this.SOF_FindContainer = function (certSN) {\r\n var json = '{\"function\":\"SOF_FindContainer\",\"deviceName\":\"' + _curDevName + '\", \"certSN\":\"' + certSN + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.containerName;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.containerName;\r\n }\r\n\r\n return \"\";\r\n }\r\n }\r\n\r\n this.SOF_DeleteCert = function (certSN) {\r\n var json = '{\"function\":\"SOF_DeleteCert\",\"deviceName\":\"' + _curDevName + '\", \"certSN\":\"' + certSN + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.rtn;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.rtn;\r\n }\r\n\r\n return -2;\r\n }\r\n }\r\n\r\n this.SOF_DeleteContainer = function (certSN) {\r\n var json = '{\"function\":\"SOF_DeleteContainer\", \"deviceName\":\"' + _curDevName + '\", \"certSN\":\"' + certSN + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.rtn;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.rtn;\r\n }\r\n\r\n return -2;\r\n }\r\n }\r\n\r\n this.SOF_SignByCert = function (certSN, plain) {\r\n var json = '{\"function\":\"SOF_SignByCert\", \"deviceName\":\"' + _curDevName + '\", \"certSN\":\"' + certSN + '\", \"inData\":\"' + plain + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.signed;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.signed;\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n this.SOF_VerifyByCert = function (certSN, plain, signature, digestMethod) {\r\n\r\n var json = '{\"function\":\"SOF_VerifyByCert\", \"deviceName\":\"' + _curDevName + '\", \"certSN\":\"' + certSN + '\",\"digestMethod\":' + digestMethod + ', \"inData\":\"' + plain + '\", \"signed\":\"' + signature + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.rtn;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.rtn;\r\n }\r\n\r\n return -2;\r\n }\r\n }\r\n\r\n this.SOF_VerifyByExtCert = function (cert, plain, signature, digestMethod) {\r\n var json = '{\"function\":\"SOF_VerifyByExtCert\",\"deviceName\":\"' + _curDevName + '\", \"cert\":\"' + cert + '\", \"digestMethod\":' + digestMethod + ', \"inData\":\"' + plain + '\", \"signed\":\"' + signature + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.rtn;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.rtn;\r\n }\r\n\r\n return -2;\r\n }\r\n }\r\n\r\n // this.SOF_GenerateP10Request = function (container, dn, asymAlg, keySpec, keyLength) {\r\n // var json = '{\"function\":\"SOF_GenerateP10Request\", \"deviceName\":\"' + _curDevName + '\", \"containerName\":\"' + container + '\", \"certDN\":\"' + dn + '\", \"asymAlg\":' + asymAlg + ', \"keySpec\":' + keySpec + ',\"keyLength\":' + keyLength + '}';\r\n // if (linuxWin == 2) {\r\n // var retJSON = \"\";\r\n // try {\r\n // retJSON = AjaxIO(json);\r\n // } catch (e) {\r\n // return -3;\r\n // }\r\n //\r\n //\r\n // if (retJSON.length > 3) {\r\n // var obj = eval(\"(\" + retJSON + \")\");\r\n // return obj.outData;\r\n // } else {\r\n // return -2;\r\n //\r\n // }\r\n // } else {\r\n // try {\r\n // AjaxIO(json);\r\n // }\r\n // catch (e) {\r\n // return -3;\r\n // }\r\n //\r\n // var ret = GetHttpResult();\r\n // if (ret) {\r\n // return ret.outData;\r\n // }\r\n //\r\n // return null;\r\n // }\r\n // }\r\n this.SOF_GenerateP10Request = function (_curDevName, container, dn, asymAlg, keySpec, keyLength) {\r\n var json = '{\"function\":\"SOF_GenerateP10Request\", \"deviceName\":\"' + _curDevName + '\", \"containerName\":\"' + container + '\", \"certDN\":\"' + dn + '\", \"asymAlg\":' + asymAlg + ', \"keySpec\":' + keySpec + ',\"keyLength\":' + keyLength + '}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.outData;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.outData;\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n this.SOF_ImportCert = function (container, cert, keySpec) {\r\n var json = '{\"function\":\"SOF_ImportCert\", \"deviceName\":\"' + _curDevName + '\", \"containerName\":\"' + container + '\", \"cert\":\"' + cert + '\", \"keySpec\":' + keySpec + '}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.rtn;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.rtn;\r\n }\r\n\r\n return -2;\r\n }\r\n }\r\n\r\n this.SOF_ImportCryptoCertAndKey = function (container, cert, nAsymAlg, EncryptedSessionKeyData, symAlg, EncryptedPrivateKeyData, mode) {\r\n var json = '{\"function\":\"SOF_ImportCryptoCertAndKey\", \"deviceName\":\"' + _curDevName + '\", \"containerName\":\"' + container + '\", \"cert\":\"' + cert + '\", \"asymAlg\":' + nAsymAlg + ', \"sessionKey\":\"' + EncryptedSessionKeyData + '\", \"symAlg\":\"' + symAlg + '\", \"encrypedData\":\"' + EncryptedPrivateKeyData + ', + \"mode\":' + mode + '}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.rtn;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.rtn;\r\n }\r\n\r\n return -2;\r\n }\r\n }\r\n\r\n this.SOF_GenerateRandom = function (length) {\r\n var json = '{\"function\":\"SOF_GenRandom\", \"deviceName\":\"' + _curDevName + '\", \"inDataLen\":' + length + '}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.outData;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.outData;\r\n }\r\n\r\n return -2;\r\n }\r\n }\r\n\r\n this.SOF_SymEncryptFile = function (sessionKey, srcfile, destfile, type) {\r\n var json = '{\"function\":\"SOF_SymEncryptFile\", \"deviceName\":\"' + _curDevName + '\", \"sessionKey\":\"' + sessionKey + '\", \"inFile\":\"' + srcfile.replace(/\\\\/g, '\\\\\\\\') + '\", \"outFile\":\"' + destfile.replace(/\\\\/g, '\\\\\\\\') + '\", \"type\":' + type + '}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.rtn;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.rtn;\r\n }\r\n\r\n return -2;\r\n }\r\n }\r\n\r\n this.SOF_SymDecryptFile = function (sessionKey, srcfile, destfile, type) {\r\n var json = '{\"function\":\"SOF_SymDecryptFile\", \"deviceName\":\"' + _curDevName + '\", \"sessionKey\":\"' + sessionKey + '\", \"inFile\":\"' + srcfile.replace(/\\\\/g, '\\\\\\\\') + '\", \"outFile\":\"' + destfile.replace(/\\\\/g, '\\\\\\\\') + '\", \"type\":' + type + '}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.rtn;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.rtn;\r\n }\r\n\r\n return -2;\r\n }\r\n }\r\n\r\n this.SOF_SymEncryptData = function (sessionKey, inData) {\r\n var json = '{\"function\":\"SOF_SymEncryptData\", \"deviceName\":\"' + _curDevName + '\", \"sessionKey\":\"' + sessionKey + '\", \"inData\":\"' + inData + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.outData;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.outData;\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n this.SOF_SymDecryptData = function (sessionKey, inData) {\r\n var json = '{\"function\":\"SOF_SymDecryptData\", \"deviceName\":\"' + _curDevName + '\", \"sessionKey\":\"' + sessionKey + '\", \"inData\":\"' + inData + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.outData;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.outData;\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n /////////////////////////////////////////////////////////////////\r\n this.SOF_GenerateQRCode = function (qrcode_text_in) {\r\n var qrcode_text = qrcode_text_in.replace(/\"/g, '\\\\\"');\r\n var json = '{\"module\":\"libQR\",\"function\":\"SOF_GenerateQRCode\", \"inData\":\"' + qrcode_text + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.outData;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.outData;\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n this.SOF_VerifyPinMS = function (responseKey) {\r\n var json = '{\"function\":\"SOF_VerifyPinMS\", \"deviceName\":\"' + _curDevName + '\", \"passWd\":\"' + responseKey + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.rtn;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.rtn;\r\n }\r\n\r\n return -2;\r\n }\r\n }\r\n /////////////////////////////////////////////////////////////////\r\n this.SOF_GetHardwareType = function () {\r\n var json = '{\"function\":\"SOF_GetHardwareType\", \"deviceName\":\"' + _curDevName + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.type;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.type;\r\n }\r\n\r\n return -2;\r\n }\r\n }\r\n\r\n this.SOF_VerifyFingerprint = function () {\r\n var json = '{\"function\":\"SOF_VerifyFingerprint\", \"deviceName\":\"' + _curDevName + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.rtn;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.rtn;\r\n }\r\n\r\n return -2;\r\n }\r\n }\r\n\r\n this.SOF_EnumFiles = function () {\r\n var json = '{\"function\":\"SOF_EnumFiles\", \"deviceName\":\"' + _curDevName + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.array;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.array;\r\n }\r\n\r\n return -2;\r\n }\r\n }\r\n\r\n this.SOF_ReadFile = function (fileName, offset, length) {\r\n var json = '{\"function\":\"SOF_ReadFile\", \"deviceName\":\"' + _curDevName + '\", \"fileName\":\"' + fileName + '\", \"offset\":' + offset + ',\"length\":' + length + '}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.outData;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.outData;\r\n }\r\n }\r\n }\r\n\r\n this.SOF_WriteFile = function (fileName, offset, data) {\r\n var json = '{\"function\":\"SOF_WriteFile\", \"deviceName\":\"' + _curDevName + '\", \"fileName\":\"' + fileName + '\", \"offset\":' + offset + ',\"inData\":\"' + data + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.rtn;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.rtn;\r\n }\r\n }\r\n }\r\n\r\n this.SOF_CreateFile = function (fileName, length, readRight, writeRight) {\r\n var json = '{\"function\":\"SOF_CreateFile\", \"deviceName\":\"' + _curDevName + '\",\"fileName\":\"' + fileName + '\", \"length\" :' + length + ', \"readRight\":' + readRight + ',\"writeRight\":' + writeRight + '}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.rtn;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.rtn;\r\n }\r\n }\r\n }\r\n\r\n this.SOF_DeleteFile = function (fileName) {\r\n var json = '{\"function\":\"SOF_DeleteFile\", \"deviceName\":\"' + _curDevName + '\",\"fileName\":\"' + fileName + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.rtn;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.rtn;\r\n }\r\n }\r\n }\r\n\r\n //Socket API\r\n this.SocketConnect = function (HostName, Port) {\r\n var json = '{\"module\":\"libSocket\",\"function\":\"SocketConnect\", \"HostName\":\"' + HostName + '\", \"Port\":' + Port + '}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.rtn;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.rtn;\r\n }\r\n }\r\n }\r\n\r\n this.SocketDisConnect = function () {\r\n var json = '{\"module\":\"libSocket\",\"function\":\"SocketDisConnect\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.rtn;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.rtn;\r\n }\r\n }\r\n }\r\n\r\n this.SocketSendText = function (SendText) {\r\n var json = '{\"module\":\"libSocket\",\"function\":\"SocketSendText\", \"SendText\":\"' + SendText + '\"}';\r\n if (linuxWin == 2) {\r\n var retJSON = \"\";\r\n try {\r\n retJSON = AjaxIO(json);\r\n } catch (e) {\r\n return -3;\r\n }\r\n\r\n\r\n if (retJSON.length > 3) {\r\n var obj = eval(\"(\" + retJSON + \")\");\r\n return obj.RecvText;\r\n } else {\r\n return -2;\r\n\r\n }\r\n } else {\r\n try {\r\n AjaxIO(json);\r\n }\r\n catch (e) {\r\n return -3;\r\n }\r\n\r\n var ret = GetHttpResult();\r\n if (ret) {\r\n return ret.RecvText;\r\n }\r\n }\r\n }\r\n}\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"\";","/* eslint-disable no-var */\n// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('el-dialog',{attrs:{\"title\":_vm.title,\"visible\":_vm.isShow,\"width\":\"350px\",\"append-to-body\":true},on:{\"close\":_vm.handleClose}},[_c('slide-verify',{ref:\"slideblock\",attrs:{\"l\":42,\"r\":10,\"w\":310,\"h\":155,\"imgs\":_vm.imgs,\"accuracy\":_vm.accuracy,\"slider-text\":_vm.sliderText},on:{\"success\":_vm.onSuccess,\"fail\":_vm.onFail,\"again\":_vm.onAgain,\"refresh\":_vm.onRefresh,\"fulfilled\":_vm.onFulfilled}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <el-dialog\r\n :title=\"title\"\r\n :visible=\"isShow\"\r\n width=\"350px\"\r\n :append-to-body=\"true\"\r\n @close=\"handleClose\"\r\n >\r\n <slide-verify\r\n ref=\"slideblock\"\r\n :l=\"42\"\r\n :r=\"10\"\r\n :w=\"310\"\r\n :h=\"155\"\r\n :imgs=\"imgs\"\r\n :accuracy=\"accuracy\"\r\n :slider-text=\"sliderText\"\r\n @success=\"onSuccess\"\r\n @fail=\"onFail\"\r\n @again=\"onAgain\"\r\n @refresh=\"onRefresh\"\r\n @fulfilled=\"onFulfilled\"\r\n ></slide-verify>\r\n </el-dialog>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: \"YcSlideVerify\",\r\n props: {\r\n title: {\r\n type: String,\r\n default: \"滑动验证\",\r\n },\r\n isShow: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n },\r\n data() {\r\n return {\r\n accuracy: 5,\r\n sliderText: \"拖动完成上方拼图\",\r\n countDownNum: 120,\r\n }\r\n },\r\n computed: {\r\n imgs() {\r\n const list = []\r\n for (let i = 1; i < 9; i++) {\r\n list.push(`/cloud-img/${i}.jpg`)\r\n }\r\n return list\r\n },\r\n },\r\n watch: {\r\n isShow(newVal) {\r\n // 这里第三方引用,ref没有渲染完成,reset报错,还不能用?号\r\n newVal &&\r\n this.$refs.slideblock &&\r\n this.$refs.slideblock.reset &&\r\n this.$refs.slideblock.reset()\r\n },\r\n },\r\n created() {},\r\n methods: {\r\n onSuccess() {\r\n this.$emit(\"success\")\r\n },\r\n onFail() {},\r\n onAgain() {},\r\n onRefresh() {},\r\n onFulfilled() {},\r\n handleClose() {\r\n this.$emit(\"close\")\r\n },\r\n },\r\n}\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.el-dialog__wrapper {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n::v-deep .el-dialog {\r\n margin-top: 0 !important;\r\n border-radius: 8px;\r\n}\r\n::v-deep .el-dialog__header {\r\n background-color: #f2f6fc;\r\n border-radius: 8px 8px 0 0;\r\n}\r\n.el-dialog__body {\r\n display: flex;\r\n justify-content: center;\r\n}\r\n</style>\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-124.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-124.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=33a7114a&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=33a7114a&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"33a7114a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{ref:\"customer\",staticStyle:{\"display\":\"none\"}},[_c('chat-vue',{attrs:{\"visible\":_vm.visible,\"jumpPage\":_vm.jumpPage,\"title\":_vm.title,\"json\":_vm.json,\"regular\":_vm.regular},on:{\"update:visible\":function($event){_vm.visible=$event}}}),_c('div',{staticClass:\"customerService\"},[_c('div',{staticClass:\"mobile\"},[_vm._t(\"default\")],2),_c('div',{staticClass:\"headset\",on:{\"click\":function($event){_vm.visible = !_vm.visible}}},[_vm._m(0),_vm._m(1)])])],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',[_c('i',{staticClass:\"el-icon-headset\"})])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',[_c('a',[_vm._v(\"在线客服\")])])\n}]\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.visible),expression:\"visible\"}],staticClass:\"chat\"},[_c('header',[_c('img',{attrs:{\"src\":\"/cloud-img/customerService/admin.jpg\"}}),_c('span',[_vm._v(_vm._s(_vm.title))]),(_vm.jumpPage)?_c('i',{staticClass:\"icon-enlarge\",on:{\"click\":_vm.enlarge}},[_c('img',{attrs:{\"src\":\"/cloud-img/customerService/enlarge.png\"}})]):_vm._e(),_c('i',{staticClass:\"el-icon-close\",on:{\"click\":_vm.close}})]),_c('main',{ref:\"main\"},_vm._l((_vm.messagelist),function(item,index){return _c('div',{key:index,class:['message', item.id]},[_c('img',{staticClass:\"avatar\",attrs:{\"src\":`/cloud-img/customerService/${item.id}.jpg`}}),_c('div',{staticClass:\"content\"},[_vm._l((item.msg),function(msg,index){return _c('span',{key:msg + index,class:item.msg.length > 1 ? 'href' : '',domProps:{\"innerHTML\":_vm._s((item.msg.length > 1 ? 1 + index + '. ' : ' ') + msg)},on:{\"click\":function($event){item.msg.length > 1 && _vm.regularClick(msg)}}})}),(item.based)?_c('div',{staticClass:\"based\",on:{\"click\":function($event){return _vm.handExpand(item)}}},[_c('span',[_vm._v(\"依据\")]),_c('span',{class:{ 'is-active': item.isActive }},[_vm._v(_vm._s(item.based)),_c('i',{staticClass:\"el-icon-d-arrow-right\"})])]):_vm._e()],2)])}),0),_c('nav',_vm._l((_vm.regular),function(item,index){return _c('el-button',{key:item + index,attrs:{\"size\":\"mini\",\"round\":\"\"},on:{\"click\":function($event){return _vm.regularClick(item)}}},[_vm._v(_vm._s(item))])}),1),_c('el-input',{attrs:{\"type\":\"textarea\",\"maxlength\":\"500\",\"autosize\":{ minRows: 2, maxRows: 3 },\"autofocus\":\"true\",\"resize\":\"none\",\"placeholder\":\"请反馈您的问题,我们将尽快回复\"},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.carriageReturn.apply(null, arguments)}},model:{value:(_vm.textareaValue),callback:function ($$v) {_vm.textareaValue=$$v},expression:\"textareaValue\"}}),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"disabled\":!_vm.textareaValue},on:{\"click\":_vm.send}},[_vm._v(\"发送\")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n props: {\r\n visible: Boolean,\r\n jumpPage: String,\r\n json: String,\r\n title: String,\r\n commit: String,\r\n regular: Array\r\n },\r\n data() {\r\n return {\r\n textareaValue: \"\",\r\n // regular: ['发票增值税率', '城市维护建设税', '教育费附加征收率'],\r\n messagelist: [\r\n {id: 'admin', msg: ['您好,38号客服很高兴为你服务!'], isActive: false},\r\n // {id: 'personal', msg: ['消费税?']}\r\n ],\r\n isActive: false\r\n }\r\n },\r\n computed: {\r\n questions() {\r\n return JSON.parse(this.json)\r\n }\r\n },\r\n methods: {\r\n close() {\r\n this.$emit(\"update:visible\", false);\r\n },\r\n carriageReturn() {\r\n let e = window.event || arguments[0];\r\n if ((e.key == \"Enter\" || e.code == \"Enter\" || e.keyCode == 13) && this.textareaValue) {\r\n this.send()\r\n }\r\n },\r\n send() {\r\n if(!this.textareaValue.replace(/[^\\w\\u4E00-\\u9FA5]/g, ''))\r\n return\r\n\r\n this.add(this.textareaValue, \"personal\", ()=> {this.textareaValue = ''})\r\n this.search(this.textareaValue)\r\n },\r\n regularClick(msg) {\r\n this.add(msg)\r\n this.search(msg)\r\n },\r\n search(msg) {\r\n const list = this.questions.filter(item => item.faq.replace(/[^\\w\\u4E00-\\u9FA5]/g, '').toLowerCase().includes(msg.replace(/[^\\w\\u4E00-\\u9FA5]/g, '').toLowerCase()))\r\n let [vlaue, based] = ['', '']\r\n \r\n if(list.length > 1) {\r\n vlaue = list.reduce((prev, curr) => [...prev, curr.faq], [])\r\n } else if(list.length == 1) {\r\n [vlaue, based] = [list[0].msg, list[0].based]\r\n } else if([\"您好\",\"你好\"].includes(msg.replace(/[^\\w\\u4E00-\\u9FA5]/g, ''))) {\r\n vlaue = '您好!'\r\n } else {\r\n vlaue = '请提关键词问题?<br/> 比如: 税率<br/><br/><a href=\"tel:4000770168\">客服热线:<span style=\"color: #FF575F;\">400 0770 168</span></a>'\r\n }\r\n this.add(vlaue, 'admin', null, based)\r\n },\r\n add(msg, id=\"personal\", fun, based = \"\") {\r\n this.messagelist.push({\r\n id,\r\n msg: Array.isArray(msg) ? msg : [msg],\r\n based,\r\n isActive: false\r\n })\r\n this.$nextTick(() => {\r\n fun && fun()\r\n // this.$refs.main.scrollTop += 70\r\n this.$refs.main.scrollTop = this.$refs.main.scrollHeight\r\n // console.log(this.$refs.main.scrollTop, this.$refs.main.scrollHeight)\r\n })\r\n },\r\n enlarge() {\r\n // this.$router.resolve({\r\n // name: this.jumpPage\r\n // })\r\n \r\n window.open(this.jumpPage, '_blank')\r\n },\r\n handExpand(item) {\r\n item.isActive = !item.isActive\r\n }\r\n }\r\n}","<template>\r\n <div class=\"chat\" v-show=\"visible\">\r\n <header>\r\n <img src=\"/cloud-img/customerService/admin.jpg\" />\r\n <span>{{ title }}</span>\r\n <i class=\"icon-enlarge\" v-if=\"jumpPage\" @click=\"enlarge\"\r\n ><img src=\"/cloud-img/customerService/enlarge.png\"\r\n /></i>\r\n <i class=\"el-icon-close\" @click=\"close\"></i>\r\n </header>\r\n <main ref=\"main\">\r\n <div\r\n v-for=\"(item, index) in messagelist\"\r\n :key=\"index\"\r\n :class=\"['message', item.id]\"\r\n >\r\n <img\r\n class=\"avatar\"\r\n :src=\"`/cloud-img/customerService/${item.id}.jpg`\"\r\n />\r\n <div class=\"content\">\r\n <span\r\n v-for=\"(msg, index) in item.msg\"\r\n :key=\"msg + index\"\r\n v-html=\"(item.msg.length > 1 ? 1 + index + '. ' : ' ') + msg\"\r\n :class=\"item.msg.length > 1 ? 'href' : ''\"\r\n @click=\"item.msg.length > 1 && regularClick(msg)\"\r\n ></span>\r\n <div class=\"based\" v-if=\"item.based\" @click=\"handExpand(item)\">\r\n <span>依据</span\r\n ><span :class=\"{ 'is-active': item.isActive }\"\r\n >{{ item.based }}<i class=\"el-icon-d-arrow-right\"></i\r\n ></span>\r\n </div>\r\n </div>\r\n </div>\r\n </main>\r\n <nav>\r\n <el-button\r\n size=\"mini\"\r\n round\r\n v-for=\"(item, index) in regular\"\r\n :key=\"item + index\"\r\n @click=\"regularClick(item)\"\r\n >{{ item }}</el-button\r\n >\r\n </nav>\r\n <el-input\r\n type=\"textarea\"\r\n maxlength=\"500\"\r\n :autosize=\"{ minRows: 2, maxRows: 3 }\"\r\n autofocus=\"true\"\r\n resize=\"none\"\r\n placeholder=\"请反馈您的问题,我们将尽快回复\"\r\n v-model=\"textareaValue\"\r\n @keyup.enter.native=\"carriageReturn\"\r\n >\r\n </el-input>\r\n <!-- <el-button size=\"mini\" type=\"primary\">发送</el-button> -->\r\n <el-button\r\n type=\"primary\"\r\n size=\"mini\"\r\n :disabled=\"!textareaValue\"\r\n @click=\"send\"\r\n >发送</el-button\r\n >\r\n </div>\r\n</template>\r\n<script>\r\nimport chatMixin from \"./chatMixin\"\r\nexport default {\r\n name: \"ChatMini\",\r\n mixins: [chatMixin],\r\n}\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.chat {\r\n width: 350px;\r\n height: 480px;\r\n position: fixed;\r\n bottom: 10px;\r\n right: 55px;\r\n z-index: 2001;\r\n background-color: #ffffff;\r\n border-radius: 12px;\r\n border: 1px solid #e6ebf5;\r\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12), 0 0 6px rgba(0, 0, 0, 0.04);\r\n overflow: hidden;\r\n > header {\r\n display: flex;\r\n justify-content: flex-start;\r\n align-items: center;\r\n background-color: #ff575f;\r\n font-size: 16px;\r\n padding: 10px;\r\n font-weight: 400;\r\n color: #fafdff;\r\n > img {\r\n width: 44px;\r\n height: 44px;\r\n border-radius: 50%;\r\n margin-right: 10px;\r\n transition: all 0.3s linear;\r\n &:focus,\r\n &:hover {\r\n transform: scale(1.2, 1.2) rotate(15deg);\r\n }\r\n }\r\n i {\r\n cursor: pointer;\r\n position: absolute;\r\n top: 5px;\r\n width: 20px;\r\n height: 20px;\r\n border-radius: 6px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n transition: all 0.3s linear;\r\n &:focus,\r\n &:hover {\r\n transform: scale(1.2, 1.2);\r\n background-color: rgba(255, 137, 122, 0.8);\r\n }\r\n &.el-icon-close {\r\n right: 10px;\r\n }\r\n &.icon-enlarge {\r\n right: 35px;\r\n }\r\n > img {\r\n width: 12px;\r\n }\r\n }\r\n }\r\n\r\n > main {\r\n width: 100%;\r\n height: 60%;\r\n overflow-y: auto;\r\n padding-bottom: 20px;\r\n background-color: #f7f7f9;\r\n // 滚动条宽度\r\n &::-webkit-scrollbar {\r\n width: 6px;\r\n }\r\n // 滚动条轨道\r\n &::-webkit-scrollbar-track {\r\n background: rgb(239, 239, 239);\r\n border-radius: 2px;\r\n }\r\n // 小滑块\r\n &::-webkit-scrollbar-thumb {\r\n background: #ff8879;\r\n border-radius: 10px;\r\n }\r\n &::-webkit-scrollbar-thumb:hover {\r\n background: #ff755d;\r\n }\r\n .message {\r\n display: flex;\r\n gap: 15px;\r\n position: relative;\r\n margin: 20px 5px 0px 5px;\r\n opacity: 0;\r\n .avatar {\r\n width: 30px;\r\n height: 30px;\r\n border-radius: 50%;\r\n }\r\n .content {\r\n width: fit-content;\r\n max-width: 250px;\r\n font-weight: 400;\r\n font-size: 12px;\r\n color: #4c4c4d;\r\n line-height: 20px;\r\n padding: 10px;\r\n border-radius: 10px;\r\n background-color: #ffffff;\r\n .href {\r\n cursor: pointer;\r\n display: block;\r\n color: #ff575f;\r\n margin-bottom: 0.5rem;\r\n &:hover {\r\n text-decoration: underline;\r\n }\r\n }\r\n\r\n > .based {\r\n cursor: pointer;\r\n color: #909399;\r\n display: flex;\r\n align-items: flex-start;\r\n justify-content: flex-start;\r\n border-top: 1px solid #ebebed;\r\n padding-top: 5px;\r\n margin-top: 5px;\r\n gap: 5px;\r\n\r\n & > span:first-child {\r\n white-space: nowrap;\r\n color: #4c4c4d;\r\n border-radius: 10px;\r\n background-color: #eeeef0;\r\n padding: 0px 7px;\r\n }\r\n\r\n & > span:last-child {\r\n width: 100%;\r\n position: relative;\r\n display: inline-block;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n padding-right: 12px;\r\n\r\n .el-icon-d-arrow-right {\r\n position: absolute;\r\n right: 0px;\r\n bottom: 5px;\r\n transform: rotate(90deg);\r\n transition: all 0.35s linear;\r\n }\r\n &.is-active {\r\n overflow: visible;\r\n white-space: normal;\r\n .el-icon-d-arrow-right {\r\n transform: rotate(270deg);\r\n }\r\n }\r\n\r\n &:hover {\r\n color: #ff575f;\r\n }\r\n }\r\n }\r\n }\r\n &.admin {\r\n animation: animation01 0.3s linear 1.5s forwards;\r\n .content::before {\r\n content: \"\";\r\n position: absolute;\r\n top: 2px;\r\n left: 37px;\r\n transform: rotate(-45deg);\r\n border-width: 10px;\r\n border-style: solid;\r\n border-color: transparent transparent transparent #ffffff;\r\n }\r\n }\r\n &.personal {\r\n animation: animation01 0.3s linear 0.3s forwards;\r\n flex-direction: row-reverse;\r\n .content::after {\r\n content: \"\";\r\n position: absolute;\r\n top: 2px;\r\n right: 37px;\r\n transform: rotate(-45deg);\r\n border-width: 10px;\r\n border-style: solid;\r\n border-color: transparent transparent #ffffff transparent;\r\n }\r\n }\r\n @keyframes animation01 {\r\n 0% {\r\n transform: translateY(20px);\r\n opacity: 0;\r\n }\r\n\r\n 100% {\r\n transform: translateY(0px);\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n }\r\n > nav {\r\n // overflow-x: auto;\r\n background-color: #f7f7f9;\r\n border-bottom: 1px solid #e7e7ea;\r\n padding: 5px 10px;\r\n display: flex;\r\n .el-button {\r\n font-size: 12px;\r\n font-weight: 400;\r\n color: #4c4c4d;\r\n background-color: #fff !important;\r\n border: 1px solid #e7e7ea;\r\n padding: 5px 8px;\r\n }\r\n }\r\n > .el-textarea {\r\n border-color: transparent;\r\n textarea {\r\n overflow-y: hidden;\r\n padding-right: 65px;\r\n font-weight: 400;\r\n color: #19191a;\r\n font-size: 12px;\r\n font-family: Source Han Sans CN-Regular, Source Han Sans CN;\r\n }\r\n textarea,\r\n textarea:focus {\r\n border-color: transparent;\r\n }\r\n }\r\n > .el-button {\r\n position: absolute;\r\n bottom: 10px;\r\n right: 10px;\r\n }\r\n}\r\n</style>\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-124.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./chat.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-124.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./chat.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./chat.vue?vue&type=template&id=42a8b467&scoped=true&\"\nimport script from \"./chat.vue?vue&type=script&lang=js&\"\nexport * from \"./chat.vue?vue&type=script&lang=js&\"\nimport style0 from \"./chat.vue?vue&type=style&index=0&id=42a8b467&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"42a8b467\",\n null\n \n)\n\nexport default component.exports","<template>\r\n <div ref=\"customer\" style=\"display: none\">\r\n <chat-vue\r\n :visible.sync=\"visible\"\r\n :jumpPage=\"jumpPage\"\r\n :title=\"title\"\r\n :json=\"json\"\r\n :regular=\"regular\"\r\n />\r\n <div class=\"customerService\">\r\n <div class=\"mobile\">\r\n <slot></slot>\r\n <!-- <div><i class=\"el-icon-mobile\"></i></div>\r\n <div>\r\n <span>客服热线</span>\r\n <a href=\"tel:4000770168\">400 0770 168</a>\r\n <template v-if=\"!['/login', '/register'].includes($route.path)\">\r\n <span style=\"margin-top: 10px\">银行服务电话</span>\r\n <a href=\"tel:13973004180\">13973004180(蒋行长)</a>\r\n <a href=\"tel:15773001997\">15773001997(彭经理)</a>\r\n </template>\r\n </div> -->\r\n </div>\r\n <div class=\"headset\" @click=\"visible = !visible\">\r\n <div><i class=\"el-icon-headset\"></i></div>\r\n <div><a>在线客服</a></div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport chatVue from \"./chat.vue\"\r\nexport default {\r\n name: \"YcCustomerService\",\r\n components: {\r\n chatVue,\r\n },\r\n props: {\r\n jumpPage: String,\r\n title: String,\r\n json: String,\r\n regular: Array,\r\n },\r\n data() {\r\n return {\r\n visible: false,\r\n }\r\n },\r\n computed: {\r\n hasSlot() {\r\n return Boolean(this.$slots.default)\r\n },\r\n },\r\n watch: {\r\n $route(to) {\r\n if (to.path != this.jumpPage) {\r\n this.$refs.customer.style.display = \"block\"\r\n } else {\r\n this.$refs.customer.style.display = \"none\"\r\n }\r\n },\r\n },\r\n mounted() {\r\n this.$refs.customer.style.display = \"block\"\r\n },\r\n}\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.customerService {\r\n position: fixed;\r\n right: 0px;\r\n bottom: 35px;\r\n z-index: 2001;\r\n > div {\r\n cursor: pointer;\r\n position: absolute;\r\n right: 0px;\r\n display: flex;\r\n align-items: center;\r\n background-color: #ffffff;\r\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12), 0 0 6px rgba(0, 0, 0, 0.04);\r\n &:hover {\r\n > div:first-child {\r\n color: #ff4949;\r\n i {\r\n animation-name: animateRotate;\r\n animation-duration: 0.5s;\r\n animation-iteration-count: infinite;\r\n }\r\n }\r\n }\r\n > div:first-child {\r\n width: 50px;\r\n height: 50px;\r\n text-align: center;\r\n line-height: 50px;\r\n font-size: 18px;\r\n }\r\n > div:last-child {\r\n opacity: 0;\r\n // transition: all 0.3s linear;\r\n padding: 10px;\r\n border-radius: 6px;\r\n position: absolute;\r\n min-height: 50px;\r\n display: flex;\r\n flex-direction: column;\r\n // align-items: center;\r\n justify-content: space-around;\r\n background-color: #ffffff;\r\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12), 0 0 6px rgba(0, 0, 0, 0.04);\r\n &::after {\r\n content: \"\";\r\n position: absolute;\r\n top: calc(50% - 10px);\r\n right: -20px;\r\n border-width: 10px;\r\n border-style: solid;\r\n border-color: transparent transparent transparent #ffffff;\r\n filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.2));\r\n }\r\n a {\r\n color: #333;\r\n font-size: 14px;\r\n display: block;\r\n }\r\n }\r\n }\r\n .mobile {\r\n bottom: 50px;\r\n border-bottom: 1px solid #e6ebf5;\r\n &:hover {\r\n > div:last-child {\r\n left: -210px;\r\n opacity: 1;\r\n animation-name: animateMobile;\r\n animation-duration: 0.5s;\r\n }\r\n }\r\n > div:last-child {\r\n left: -120vw;\r\n width: 190px;\r\n bottom: 0px;\r\n a {\r\n width: fit-content;\r\n position: relative;\r\n margin-top: 5px;\r\n text-indent: 5px;\r\n &:hover {\r\n color: #ff4949;\r\n &::before {\r\n width: 100%;\r\n right: auto;\r\n left: 0px;\r\n }\r\n }\r\n &::before {\r\n content: \"\";\r\n width: 0%;\r\n height: 1px;\r\n opacity: 0.6;\r\n background: #ff4949;\r\n transition: all 0.5s linear;\r\n position: absolute;\r\n right: 0px;\r\n bottom: -2px;\r\n }\r\n }\r\n &::after {\r\n top: calc(100% - 35px);\r\n }\r\n }\r\n @keyframes animateMobile {\r\n 0% {\r\n left: -200vw;\r\n opacity: 0;\r\n }\r\n 0.1% {\r\n left: -310px;\r\n opacity: 0;\r\n }\r\n 100% {\r\n left: -210px;\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n .headset {\r\n bottom: 0px;\r\n &:hover {\r\n > div:last-child {\r\n left: -110px;\r\n opacity: 1;\r\n animation-name: animateHeadset;\r\n animation-duration: 0.5s;\r\n }\r\n }\r\n > div:last-child {\r\n left: -120vw;\r\n width: 90px;\r\n }\r\n @keyframes animateHeadset {\r\n 0% {\r\n left: -120vw;\r\n opacity: 0;\r\n }\r\n 0.1% {\r\n left: -210px;\r\n opacity: 0.5;\r\n }\r\n 100% {\r\n left: -110px;\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n @keyframes animateRotate {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 20% {\r\n transform: rotate(7deg);\r\n }\r\n 40% {\r\n transform: rotate(0deg);\r\n }\r\n 80% {\r\n transform: rotate(-7deg);\r\n }\r\n 100% {\r\n transform: rotate(0deg);\r\n }\r\n }\r\n}\r\n</style>\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-124.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-124.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=849349a0&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=849349a0&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"849349a0\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"YcQuestion\"},[_c('div',{staticClass:\"chatPage\"},[_c('header',{staticStyle:{\"background\":\"url('/cloud-img/customerService/chatTop.png') center\",\"background-size\":\"cover\"}},[_c('div',[_c('h3',[_vm._v(_vm._s(_vm.title))]),_c('span',[_vm._v(\"Problem Help\")])]),_c('p',[_vm._v(\"小优为您提供24小时服务\")])]),_c('div',{staticClass:\"main\"},[_c('div',[_c('main',{ref:\"main\"},[_c('p',[_vm._v(\"今天\"+_vm._s(_vm.currData))]),_vm._l((_vm.messagelist),function(item,index){return _c('div',{key:index,class:['message', item.id]},[_c('img',{staticClass:\"avatar\",attrs:{\"src\":'/cloud-img/customerService/' + item.id + '.jpg'}}),_c('div',{staticClass:\"content\"},[_vm._l((item.msg),function(msg,index){return _c('span',{key:msg + index,class:item.msg.length > 1 ? 'href' : '',domProps:{\"innerHTML\":_vm._s((item.msg.length > 1 ? 1 + index + '. ' : ' ') + msg)},on:{\"click\":function($event){item.msg.length > 1 && _vm.regularClick(msg)}}})}),(item.based)?_c('div',{staticClass:\"based\",on:{\"click\":function($event){$event.preventDefault();return _vm.handExpand(item)}}},[_c('span',[_vm._v(\"依据\")]),_c('span',{class:{ 'is-active': item.isActive }},[_vm._v(_vm._s(item.based)),_c('i',{staticClass:\"el-icon-d-arrow-right\"})])]):_vm._e()],2)])})],2),_c('footer',[_c('el-input',{attrs:{\"type\":\"textarea\",\"maxlength\":\"500\",\"autosize\":{ minRows: 6, maxRows: 6 },\"autofocus\":\"true\",\"resize\":\"none\",\"placeholder\":\"请输入你要咨询的问题\"},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.carriageReturn.apply(null, arguments)}},model:{value:(_vm.textareaValue),callback:function ($$v) {_vm.textareaValue=$$v},expression:\"textareaValue\"}}),_c('el-button',{style:(!_vm.textareaValue\n ? 'background-color: #F7F7F9;color: #FF575F;border-color: transparent;'\n : ''),attrs:{\"type\":\"primary\",\"disabled\":!_vm.textareaValue},on:{\"click\":_vm.send}},[_vm._v(\"发送\")])],1)]),_c('aside',[_c('el-collapse',{attrs:{\"accordion\":\"\"},model:{value:(_vm.activeNames),callback:function ($$v) {_vm.activeNames=$$v},expression:\"activeNames\"}},_vm._l((_vm.questionsList),function(item,key,index){return _c('el-collapse-item',{key:key,attrs:{\"name\":index}},[_c('template',{slot:\"title\"},[_c('img',{attrs:{\"src\":\"/cloud-img/customerService/ellipticalWenh.png\"}}),_vm._v(_vm._s(key)+\" \")]),_vm._l((item),function(faq){return _c('div',{key:faq,domProps:{\"innerHTML\":_vm._s(faq)},on:{\"click\":function($event){return _vm.regularClick(faq)}}})})],2)}),1)],1)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"YcQuestion\">\r\n <div class=\"chatPage\">\r\n <header\r\n style=\"\r\n background: url('/cloud-img/customerService/chatTop.png') center\r\n no-repeat cover;\r\n background-size: cover;\r\n \"\r\n >\r\n <div>\r\n <h3>{{ title }}</h3>\r\n <span>Problem Help</span>\r\n </div>\r\n <p>小优为您提供24小时服务</p>\r\n </header>\r\n <div class=\"main\">\r\n <div>\r\n <main ref=\"main\">\r\n <p>今天{{ currData }}</p>\r\n <div\r\n v-for=\"(item, index) in messagelist\"\r\n :key=\"index\"\r\n :class=\"['message', item.id]\"\r\n >\r\n <img\r\n class=\"avatar\"\r\n :src=\"'/cloud-img/customerService/' + item.id + '.jpg'\"\r\n />\r\n <div class=\"content\">\r\n <span\r\n v-for=\"(msg, index) in item.msg\"\r\n :key=\"msg + index\"\r\n v-html=\"(item.msg.length > 1 ? 1 + index + '. ' : ' ') + msg\"\r\n :class=\"item.msg.length > 1 ? 'href' : ''\"\r\n @click=\"item.msg.length > 1 && regularClick(msg)\"\r\n ></span>\r\n <div\r\n class=\"based\"\r\n v-if=\"item.based\"\r\n @click.prevent=\"handExpand(item)\"\r\n >\r\n <span>依据</span\r\n ><span :class=\"{ 'is-active': item.isActive }\"\r\n >{{ item.based }}<i class=\"el-icon-d-arrow-right\"></i\r\n ></span>\r\n </div>\r\n </div>\r\n </div>\r\n </main>\r\n <footer>\r\n <el-input\r\n type=\"textarea\"\r\n maxlength=\"500\"\r\n :autosize=\"{ minRows: 6, maxRows: 6 }\"\r\n autofocus=\"true\"\r\n resize=\"none\"\r\n placeholder=\"请输入你要咨询的问题\"\r\n v-model=\"textareaValue\"\r\n @keyup.enter.native=\"carriageReturn\"\r\n >\r\n </el-input>\r\n <el-button\r\n type=\"primary\"\r\n :disabled=\"!textareaValue\"\r\n :style=\"\r\n !textareaValue\r\n ? 'background-color: #F7F7F9;color: #FF575F;border-color: transparent;'\r\n : ''\r\n \"\r\n @click=\"send\"\r\n >发送</el-button\r\n >\r\n </footer>\r\n </div>\r\n <aside>\r\n <el-collapse v-model=\"activeNames\" accordion>\r\n <el-collapse-item\r\n v-for=\"(item, key, index) in questionsList\"\r\n :key=\"key\"\r\n :name=\"index\"\r\n >\r\n <template slot=\"title\">\r\n <img src=\"/cloud-img/customerService/ellipticalWenh.png\" />{{\r\n key\r\n }}\r\n </template>\r\n <div\r\n v-for=\"faq in item\"\r\n :key=\"faq\"\r\n v-html=\"faq\"\r\n @click=\"regularClick(faq)\"\r\n ></div>\r\n </el-collapse-item>\r\n </el-collapse>\r\n </aside>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n<script>\r\nimport chatMixin from \"comp/YcCustomerService/chatMixin\"\r\nexport default {\r\n name: \"YcQuestion\",\r\n mixins: [chatMixin],\r\n data() {\r\n return {\r\n activeNames: [1],\r\n }\r\n },\r\n computed: {\r\n currData() {\r\n const currData = new Date()\r\n return `${currData.getHours()}:${currData.getMinutes()}`\r\n },\r\n questionsList() {\r\n return this.questions.reduce((prev, curr) => {\r\n // eslint-disable-next-line no-prototype-builtins\r\n if (prev.hasOwnProperty(curr.type)) {\r\n prev[curr.type].push(curr.faq)\r\n } else {\r\n prev[curr.type] = [curr.faq]\r\n }\r\n return prev\r\n }, {})\r\n },\r\n },\r\n}\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.YcQuestion {\r\n // min-width: auto;\r\n // overflow: hidden;\r\n // height: 100vh;\r\n ::v-deep .chatPage {\r\n background-color: #ffffff;\r\n\r\n > header {\r\n height: 8vw;\r\n display: flex;\r\n justify-content: flex-start;\r\n align-items: center;\r\n gap: 5vw;\r\n padding-left: 8vw;\r\n // background: url(\"/cloud-img/customerService/chatTop.png\");\r\n background-position: center center;\r\n background-repeat: no-repeat;\r\n background-size: cover;\r\n\r\n > div {\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n // flex-direction: row-reverse;\r\n h3 {\r\n height: 1vw;\r\n margin-top: 0px;\r\n font-size: 2.125rem;\r\n font-weight: bold;\r\n color: #191a2c;\r\n font-family: Source Han Sans CN-Bold, Source Han Sans CN;\r\n }\r\n\r\n span {\r\n font-size: 1rem;\r\n font-family: LXGW New Clear Gothic-Regular, LXGW New Clear Gothic;\r\n font-weight: 400;\r\n color: #666;\r\n }\r\n }\r\n\r\n p {\r\n font-size: 1rem;\r\n font-family: Source Han Sans CN-Regular, Source Han Sans CN;\r\n font-weight: 400;\r\n color: #2e2f42;\r\n }\r\n }\r\n\r\n .main {\r\n display: flex;\r\n\r\n > div {\r\n width: 74vw;\r\n position: relative;\r\n\r\n > main {\r\n height: 62vh;\r\n overflow-y: auto;\r\n padding-bottom: 2vw;\r\n background-color: #f7f7f9;\r\n\r\n // 滚动条宽度\r\n &::-webkit-scrollbar {\r\n width: 6px;\r\n }\r\n\r\n // 滚动条轨道\r\n &::-webkit-scrollbar-track {\r\n background: rgb(239, 239, 239);\r\n border-radius: 2px;\r\n }\r\n\r\n // 小滑块\r\n &::-webkit-scrollbar-thumb {\r\n background: #ff8879;\r\n border-radius: 10px;\r\n }\r\n\r\n &::-webkit-scrollbar-thumb:hover {\r\n background: #ff755d;\r\n }\r\n\r\n > p {\r\n text-align: center;\r\n font-size: 0.875rem;\r\n font-family: Source Han Sans CN-Regular, Source Han Sans CN;\r\n font-weight: 400;\r\n color: #909399;\r\n }\r\n\r\n .message {\r\n display: flex;\r\n gap: 15px;\r\n margin: 1.5vw 1.5vw 0px 1.5vw;\r\n opacity: 0;\r\n\r\n .avatar {\r\n width: 2.5vw;\r\n height: 2.5vw;\r\n min-width: 35px;\r\n min-height: 35px;\r\n border-radius: 50%;\r\n transition: all 0.3s linear;\r\n &:focus,\r\n &:hover {\r\n transform: scale(1.2, 1.2) rotate(15deg);\r\n }\r\n }\r\n\r\n .content {\r\n width: fit-content;\r\n max-width: 50vw;\r\n font-weight: 400;\r\n font-size: 1rem;\r\n color: #4c4c4d;\r\n padding: 10px;\r\n border-radius: 10px;\r\n position: relative;\r\n background-color: #ffffff;\r\n\r\n .href {\r\n cursor: pointer;\r\n display: block;\r\n color: #ff575f;\r\n margin-bottom: 1.5rem;\r\n\r\n &:hover {\r\n text-decoration: underline;\r\n }\r\n }\r\n\r\n > .based {\r\n cursor: pointer;\r\n font-size: 1rem;\r\n font-weight: 400;\r\n color: #909399;\r\n display: flex;\r\n align-items: flex-start;\r\n justify-content: flex-start;\r\n border-top: 1px solid #ebebed;\r\n padding-top: 0.625rem;\r\n margin-top: 0.625rem;\r\n gap: 0.625rem;\r\n\r\n & > span:first-child {\r\n white-space: nowrap;\r\n color: #4c4c4d;\r\n border-radius: 18px;\r\n background-color: #eeeef0;\r\n padding: 0.1875rem 0.625rem;\r\n margin-top: -0.1875rem;\r\n }\r\n\r\n & > span:last-child {\r\n width: 100%;\r\n position: relative;\r\n display: inline-block;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n padding-right: 12px;\r\n\r\n .el-icon-d-arrow-right {\r\n position: absolute;\r\n right: 0px;\r\n bottom: 0px;\r\n transform: rotate(90deg);\r\n transition: all 0.35s linear;\r\n }\r\n &.is-active {\r\n overflow: visible;\r\n white-space: normal;\r\n .el-icon-d-arrow-right {\r\n transform: rotate(270deg);\r\n }\r\n }\r\n\r\n &:hover {\r\n color: #ff575f;\r\n }\r\n }\r\n }\r\n }\r\n\r\n &.admin {\r\n animation: animation01 0.3s linear 1.5s forwards;\r\n\r\n .content {\r\n margin-top: 20px;\r\n\r\n &::before {\r\n content: \"\";\r\n position: absolute;\r\n top: 2px;\r\n left: -10px;\r\n transform: rotate(-45deg);\r\n border-width: 10px;\r\n border-style: solid;\r\n border-color: transparent transparent transparent #fff;\r\n }\r\n\r\n &::after {\r\n content: \"小优客服【38号为您服务】\";\r\n width: 200px;\r\n font-size: 0.875rem;\r\n font-family: Source Han Sans CN-Medium, Source Han Sans CN;\r\n font-weight: 500;\r\n color: #8b8c8f;\r\n position: absolute;\r\n left: 0px;\r\n top: -20px;\r\n }\r\n }\r\n }\r\n\r\n &.personal {\r\n animation: animation01 0.3s linear 0.3s forwards;\r\n flex-direction: row-reverse;\r\n\r\n .content::after {\r\n content: \"\";\r\n position: absolute;\r\n top: 2px;\r\n right: -10px;\r\n transform: rotate(-45deg);\r\n border-width: 10px;\r\n border-style: solid;\r\n border-color: transparent transparent #ffffff transparent;\r\n }\r\n }\r\n\r\n @keyframes animation01 {\r\n 0% {\r\n transform: translateY(20px);\r\n opacity: 0;\r\n }\r\n\r\n 100% {\r\n transform: translateY(0px);\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n }\r\n\r\n footer {\r\n height: 30vh;\r\n border: 1px solid #e7e7ea;\r\n\r\n > .el-textarea {\r\n border-color: transparent;\r\n\r\n textarea {\r\n overflow-y: hidden;\r\n // padding-right: 65px;\r\n font-weight: 400;\r\n color: #19191a;\r\n font-size: 1rem;\r\n font-family: Source Han Sans CN-Regular, Source Han Sans CN;\r\n }\r\n\r\n textarea,\r\n textarea:focus {\r\n border-color: transparent;\r\n }\r\n }\r\n\r\n > .el-button {\r\n float: right;\r\n // position: absolute;\r\n // bottom: 40px;\r\n // right: 40px;\r\n z-index: 1;\r\n font-size: 0.875rem;\r\n font-family: Source Han Sans CN-Regular, Source Han Sans CN;\r\n font-weight: 400;\r\n border-radius: 4px;\r\n margin-right: 2vw;\r\n width: 5vw;\r\n min-width: 92px;\r\n }\r\n }\r\n }\r\n\r\n aside {\r\n width: 26vw;\r\n height: calc(100vh - 8vw);\r\n padding: 1vw;\r\n overflow-y: auto;\r\n background-color: #ffffff;\r\n\r\n .el-collapse-item__header {\r\n color: #373a3c;\r\n font-size: 1.5rem;\r\n font-weight: 500;\r\n font-family: Source Han Sans CN-Medium, Source Han Sans CN;\r\n padding: 2rem;\r\n background-color: #f00;\r\n background: linear-gradient(#ffdad4, #ffa9a3);\r\n\r\n &.is-active {\r\n color: #ffffff;\r\n background: linear-gradient(#ff897a, #ff645a);\r\n\r\n i {\r\n color: #ffffff;\r\n }\r\n }\r\n\r\n img {\r\n width: 2.25rem;\r\n height: 2.25rem;\r\n float: left;\r\n margin-left: -0.5rem;\r\n margin-right: 0.5rem;\r\n }\r\n\r\n i {\r\n font-size: 2rem;\r\n color: #ff575f;\r\n font-weight: 900;\r\n }\r\n }\r\n\r\n .el-collapse-item__content {\r\n font-size: 1rem;\r\n font-family: Source Han Sans CN-Regular, Source Han Sans CN;\r\n font-weight: 400;\r\n padding: 20px 20px 20px 40px;\r\n color: #000000;\r\n background-color: #f7f7f9;\r\n\r\n > div {\r\n position: relative;\r\n margin-top: 1rem;\r\n cursor: pointer;\r\n transition: all 0.3s linear;\r\n\r\n &:first-child {\r\n margin-top: 0px;\r\n }\r\n\r\n &::before {\r\n content: \"\";\r\n position: absolute;\r\n top: 5px;\r\n left: -15px;\r\n // transform: rotate(-45deg);\r\n // float: left;\r\n border-width: 10px;\r\n border-style: solid;\r\n border-color: transparent transparent transparent #ffa9a3;\r\n }\r\n\r\n &:hover {\r\n color: #ff575f;\r\n transform: translate(0.5rem);\r\n\r\n &::before {\r\n border-color: transparent transparent transparent #ff575f;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n</style>\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-124.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-124.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=b15e6fbc&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=b15e6fbc&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b15e6fbc\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('el-form',{ref:\"loginForm\",staticClass:\"login-form\",attrs:{\"model\":_vm.loginForm,\"rules\":_vm.loginRules}},[(_vm.loginForm.username == undefined)?_c('div',{staticClass:\"ca-bg-box\"},[_c('div',{staticClass:\"ca-bg-img\"}),_c('div',{staticClass:\"ca-bg-text\"},[_vm._v(\"请插入UKEY证书\")]),_c('img',{staticClass:\"ca-refresh\",attrs:{\"src\":require('comp/YcCA/images/refresh.png'),\"alt\":\"\"},on:{\"click\":_vm.caRead}})]):_c('div',{staticClass:\"ca-bg-info\"},[_c('div',{staticClass:\"ca-bg-text\"},[_vm._v(\" CA名称:\"),_c('span',{staticClass:\"caName\"},[_vm._v(_vm._s(_vm.loginForm.username))])]),_c('img',{staticClass:\"ca-refresh\",attrs:{\"src\":require('comp/YcCA/images/refresh.png'),\"alt\":\"\"},on:{\"click\":_vm.caRead}})]),_c('el-form-item',{attrs:{\"prop\":\"password\"}},[_c('el-input',{attrs:{\"type\":\"password\",\"auto-complete\":\"off\",\"placeholder\":\"密码\",\"show-password\":\"\"},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.handleLogin.apply(null, arguments)}},model:{value:(_vm.loginForm.password),callback:function ($$v) {_vm.$set(_vm.loginForm, \"password\", $$v)},expression:\"loginForm.password\"}},[_c('el-image',{staticClass:\"el-input__icon input-icon\",attrs:{\"slot\":\"prefix\",\"src\":require('./images/password.svg')},slot:\"prefix\"})],1)],1),_c('el-form-item',[_c('el-button',{staticClass:\"login-btn\",staticStyle:{\"width\":\"100%\"},attrs:{\"loading\":_vm.loading,\"size\":\"medium\",\"type\":\"primary\"},nativeOn:{\"click\":function($event){$event.preventDefault();return _vm.handleLogin.apply(null, arguments)}}},[(!_vm.loading)?_c('span',[_vm._v(\"登 录\")]):_c('span',[_vm._v(\"登 录 中...\")])])],1)],1),_c('el-dialog',{attrs:{\"title\":\"提示\",\"visible\":_vm.dialogVisible.showInfo,\"width\":\"30%\",\"center\":\"\"},on:{\"update:visible\":function($event){return _vm.$set(_vm.dialogVisible, \"showInfo\", $event)}}},[_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"4444\"+_vm._s(_vm.caInfo.error_text))]),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.dialogVisible.showInfo = false}}},[_vm._v(\"取 消\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){_vm.dialogVisible.showInfo = false}}},[_vm._v(\"确 定\")])],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/* eslint-disable no-unused-vars */\r\n/*******************************************************\r\n *\r\n * 函数名称:Base64encode()\r\n * 功 能:对数据进行Base64加密\r\n * 说\t明:函数中将数据使用_utf8_encode()进行编码转换后再加密,保证数据完整\r\n *\r\n **********************************************************/\r\n\r\nvar _keyStr = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\n\r\nexport function _Base64encode (input) {\r\n\r\n var output = \"\";\r\n var chr1, chr2, chr3, enc1, enc2, enc3, enc4;\r\n var i = 0;\r\n\r\n input = _utf8_encode(input);\r\n\r\n while (i < input.length) {\r\n\r\n chr1 = input.charCodeAt(i++);\r\n chr2 = input.charCodeAt(i++);\r\n chr3 = input.charCodeAt(i++);\r\n\r\n enc1 = chr1 >> 2;\r\n enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\r\n enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\r\n enc4 = chr3 & 63;\r\n\r\n if (isNaN(chr2)) {\r\n enc3 = enc4 = 64;\r\n } else if (isNaN(chr3)) {\r\n enc4 = 64;\r\n }\r\n output = output + _keyStr.charAt(enc1) + _keyStr.charAt(enc2) + _keyStr.charAt(enc3) + _keyStr.charAt(enc4);\r\n }\r\n return output;\r\n}\r\n\r\n/*******************************************************\r\n *\r\n * 函数名称:Base64decode()\r\n * 功 能:对数据进行Base64解密\r\n * 说\t明:函数中将数据使用_utf8_decode()将解密后的数据编码,保证数据完整\r\n *\r\n **********************************************************/\r\nfunction _Base64decode (input) {\r\n var output = \"\";\r\n var chr1, chr2, chr3;\r\n var enc1, enc2, enc3, enc4;\r\n var i = 0;\r\n\r\n //input = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \"\");\r\n // eslint-disable-next-line no-useless-escape\r\n input = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \"\");\r\n while (i < input.length) {\r\n\r\n enc1 = _keyStr.indexOf(input.charAt(i++));\r\n enc2 = _keyStr.indexOf(input.charAt(i++));\r\n enc3 = _keyStr.indexOf(input.charAt(i++));\r\n enc4 = _keyStr.indexOf(input.charAt(i++));\r\n\r\n chr1 = (enc1 << 2) | (enc2 >> 4);\r\n chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);\r\n chr3 = ((enc3 & 3) << 6) | enc4;\r\n\r\n output = output + String.fromCharCode(chr1);\r\n\r\n if (enc3 != 64) {\r\n output = output + String.fromCharCode(chr2);\r\n }\r\n if (enc4 != 64) {\r\n output = output + String.fromCharCode(chr3);\r\n }\r\n\r\n }\r\n\r\n output = _utf8_decode(output);\r\n\r\n return output;\r\n}\r\n\r\n/*******************************************************\r\n *\r\n * 函数名称:_utf8_encode()\r\n * 功 能:将数据进行utf8编码\r\n * 说\t明:\r\n *\r\n **********************************************************/\r\nfunction _utf8_encode (in_string) {\r\n var string = \"\" + in_string;\r\n string = string.replace(/\\r\\n/g, \"\\n\");\r\n var utftext = \"\";\r\n\r\n for (var n = 0; n < string.length; n++) {\r\n\r\n var c = string.charCodeAt(n);\r\n\r\n if (c < 128) {\r\n utftext += String.fromCharCode(c);\r\n } else if ((c > 127) && (c < 2048)) {\r\n utftext += String.fromCharCode((c >> 6) | 192);\r\n utftext += String.fromCharCode((c & 63) | 128);\r\n } else {\r\n utftext += String.fromCharCode((c >> 12) | 224);\r\n utftext += String.fromCharCode(((c >> 6) & 63) | 128);\r\n utftext += String.fromCharCode((c & 63) | 128);\r\n }\r\n }\r\n return utftext;\r\n}\r\n\r\n/*******************************************************\r\n *\r\n * 函数名称:_utf8_decode()\r\n * 功 能:将数据进行utf8解码\r\n * 说\t明:\r\n *\r\n **********************************************************/\r\nfunction _utf8_decode (utftext) {\r\n var string = \"\";\r\n var i = 0;\r\n var c1 = 0;\r\n var c2 = 0;\r\n var c3 = 0;\r\n var c = c1 = c2 = 0;\r\n\r\n while (i < utftext.length) {\r\n\r\n c = utftext.charCodeAt(i);\r\n\r\n if (c < 128) {\r\n string += String.fromCharCode(c);\r\n i++;\r\n } else if ((c > 191) && (c < 224)) {\r\n c2 = utftext.charCodeAt(i + 1);\r\n string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));\r\n i += 2;\r\n } else {\r\n c2 = utftext.charCodeAt(i + 1);\r\n c3 = utftext.charCodeAt(i + 2);\r\n string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\r\n i += 3;\r\n }\r\n }\r\n return string;\r\n}\r\n","/**\r\n * @name mTokenPlugin集成代码\r\n * @author Akay\r\n * @version 0.7.12\r\n * @date 2020.07.21\r\n *\r\n * @description\r\n *ver 0.7.12 2020.12.21\r\n * 1. 新增操作系统判断,根据不同的系统加载不同的配置\r\n *\r\n *ver 0.7.11 2020.07.21\r\n *\t1. 解决Https的问题\r\n *\r\n * ver 0.7.10 2020.04.04\r\n * 1. 新增获取设备序号\r\n * 2. 支持多Key\r\n *\r\n * ver 0.7.9 2020.01.08\r\n * 1. 支持SJK1137型号\r\n *\r\n * ver 0.7.8 2019.10.23\r\n * 1. 新增UKey适配\r\n *\r\n * ver 0.7.4 2019.09.18\r\n * 1. 新增证书生效,失效时间\r\n *\r\n * ver 0.7.3 2019.08.19\r\n * 1. 获取证书使用者信息\r\n *\r\n * ver 0.7.2 2019.08.08\r\n * 1. 新增远程解锁接口\r\n *\r\n * ver 0.7.1 2019.07.17\r\n * TODO: 未安装组件时,判断组件是否安装(暂定,未解决)\r\n *\r\n * ver 0.7.0 2019.07.04\r\n * 1. 更新核心文件,解决多Key插入问题\r\n * 2. Ukey目前仅支持国密证书\r\n *\r\n * ver 0.6.3 2019.06.24\r\n * 1. 修复部分Bug\r\n *\r\n * ver 0.6.1 2019.06.24\r\n * 1. 支持数字信封数据解密接口\r\n * 2. 修复加密接口错误部分。\r\n *\r\n * ver 0.6.0 2019.06.20\r\n * 1. 支持数字信封数据加密接口\r\n * 2. 暂不支持多Ukey\r\n *\r\n * ver 0.5.1 2019.06.19\r\n * 1. 修正新Ukey引入导致的Bug\r\n *\r\n * ver 0.5 2019.06.18\r\n * 1. 适配SJK1137型号Ukey\r\n *\r\n * ver 0.4 2019.03.16\r\n * 1. 新增方法 枚举Ukey获取证书“G项信息”列表\r\n * 2. 新增方法 将“证书G项信息”转化为“证书名称”方法\r\n *\r\n * ver 0.3 2018.12.10\r\n * 1. 新增修改Ukey密码的方法\r\n *\r\n * ver 0.2 2018.09.26\r\n * 1. 新增获取签名证书SN号的方法\r\n * 2. 修正部分Bug\r\n *\r\n * ver 0.1 2018.09.21\r\n * 1. 搭建初步框架\r\n * 2. 完成签名功能\r\n *\r\n */\r\nimport { mToken } from \"comp/YcCA/mTokenPlugin/mToken\";\r\nimport { _Base64encode } from \"comp/YcCA/mTokenPlugin/base64\";\r\nexport function hunca_mToken_core () {\r\n\r\n var token = new mToken(\"mTokenPlugin\");\r\n // eslint-disable-next-line no-unused-vars\r\n var certInfoList = null;\r\n // eslint-disable-next-line no-unused-vars\r\n var singleKey = 0;\r\n var libraryNameList = null;\r\n\r\n if ((navigator.platform == \"Win32\") || (navigator.platform == \"Windows\")) {\r\n libraryNameList = Array(\"GM3000\", \"HT\", \"SJK1137\");\r\n } else {\r\n //libraryNameList = Array(\"GM3000\"); //国产操作系统支持GM3000型号\r\n libraryNameList = Array(\"HT\"); //国产操作系统支持海泰型号\r\n }\r\n /**\r\n * 错误信息\r\n */\r\n var LAST_ERRORSTRING = \"\";\r\n\r\n /**\r\n * 证书用途\r\n */\r\n var KEY_SPEC_TYPE_ENCRYPT = 0;\r\n var KEY_SPEC_TYPE_SIGN = 1;\r\n\r\n /**\r\n * 摘要算法\r\n */\r\n var SGD_SM3 = 1;\r\n // eslint-disable-next-line no-unused-vars\r\n var SGD_SHA1 = 2;\r\n\r\n /**\r\n * 加密算法\r\n */\r\n //分组加密算法标识\r\n // eslint-disable-next-line no-unused-vars\r\n let SGD_SM1_ECB = 0x00000101;\r\n // eslint-disable-next-line no-unused-vars\r\n let SGD_SM1_CBC = 0x00000102;\r\n // eslint-disable-next-line no-unused-vars\r\n let SGD_SM1_CFB = 0x00000104;\r\n // eslint-disable-next-line no-unused-vars\r\n let SGD_SM1_OFB = 0x00000108;\r\n // eslint-disable-next-line no-unused-vars\r\n let SGD_SM1_MAC = 0x00000110;\r\n let SGD_SM4_ECB = 0x00000401;\r\n // eslint-disable-next-line no-unused-vars\r\n let SGD_SM4_CBC = 0x00000402;\r\n // eslint-disable-next-line no-unused-vars\r\n let SGD_SM4_CFB = 0x00000404;\r\n // eslint-disable-next-line no-unused-vars\r\n let SGD_SM4_OFB = 0x00000408;\r\n // eslint-disable-next-line no-unused-vars\r\n let SGD_SM4_MAC = 0x00000410;\r\n\r\n\r\n /**\r\n * 用户ID(固定)\r\n */\r\n var USER_ID = \"1234567812345678\";\r\n\r\n\r\n /**\r\n * 错误信息提示列表\r\n */\r\n var ERROR_MESSAGE_NOT_LOADLIBRARY = \"控件加载失败,错误码:\";\r\n var ERROR_MESSAGE_NOT_FIND_UKEY = \"未找到UKey!\\n1.请确认是否安装最新驱动!\\n2.计算机是否插入湖南CA UKey!\";\r\n // eslint-disable-next-line no-unused-vars\r\n var ERROR_MSSSAGE_FIND_MORE_UKEY = \"计算机插入多个UKey,请拔除多余“湖南CA UKey”!\";\r\n var ERROR_MESSAGE_NOT_INSTANCE_DEVICE = \"USBKey实例化失败,请确认此UKey是否插入计算机!\\n点击‘刷新’按钮,更新设备列表。\\n错误码:\";\r\n var ERROR_MESSAGE_USERPIN_LENGTH = \"Ukey密码必须为4~16位!\";\r\n var ERROR_MESSAGE_USERPIN_IS_ERROR = \"UKey密码错误\";\r\n var ERROR_MESSAGE_USERPIN_CHANGE_ERROR = \"UKey密码修改失败\";\r\n var ERROR_MESSAGE_KEY_NOT_EXIT = \"UKey不存在,请确认此UKey是否插入计算机,并点击'刷新'按钮,更新设备列表!\";\r\n var ERROR_MESSAGE_USERNAME_IS_NULL = \"请点击‘刷新’按钮,更新设备列表并选择相应设备!\";\r\n var ERROR_MESSAGE_KEY_EXPORT_CERT = \"证书获取失败,请加检测Key中是否存在证书!\";\r\n var ERROR_MESSAGE_SET_DIGEST_METHOD_ERROR = \"设置摘要算法失败,请重新刷新浏览器!\";\r\n var ERROR_MESSAGE_SET_USERID_ERROR = \"设置用户ID失败,请重新刷新浏览器\";\r\n var ERROR_MESSAGE_SIGN_ORIGINALDATA_IS_NULL = \"签名失败,待签名原文不能为空\";\r\n var ERROR_MESSAGE_SIGN_ERROR = \"签名失败,返回错误码:\";\r\n var ERROR_MESSAGE_USERNAMEGN_IS_NULL = \"请点击‘刷新’按钮,更新设备列表并选择相应设备!\";\r\n var ERROR_MESSAGE_USERNAMEGN_TO_USERNAME_ERROR = \"证书G项信息转化证书名称失败,请点击“刷新”按钮!\";\r\n var ERROR_MESSAGE_KEY_LIBRAY = \"加载国密库失败!\";\r\n var ERROR_MESSAGE_ENCRYPT_DATA_IS_NULL = \"加密失败:待加密原文不能为空!\";\r\n var ERROR_MESSAGE_DECRYPT_DATA_IS_NULL = \"解密失败:待解密密文不能为空!\";\r\n var ERROR_MESSAGE_DECRYPT_DATA_IS_ERROR = \"解密失败:请确认密文是否完整!\\n解密所采用的Ukey是否为加密时的Ukey!\";\r\n var ERROR_MESSAGE_GET_REMOTEUNLOCKREQUEST_FAIL = \"申请解锁请求失败!\";\r\n var ERROR_MESSAGE_GET_REMOTEUNLOCKREQUEST_NOT_SUPPORT = \"此型号Ukey不支持解锁!\";\r\n var ERROR_MESSAGE_REMOTE_UNLOCK_FAIL = \"Ukey解锁失败!\";\r\n\r\n /**\r\n * 私有变量\r\n */\r\n var tokenInfoList = null;\r\n\r\n /**\r\n * 私有变量\r\n */\r\n var signResultSignData = null;\r\n var signResultCert = null;\r\n\r\n /**\r\n * 证书信息\r\n */\r\n var certSn = null; //证书Sn\r\n var cert_subject_GN = null; //证书Gn\r\n var cert_subject = null; //证书使用者\r\n var cert_validTime = null; //证书失效时间\r\n var cert_notbeforetime = null; //证书生效时间\r\n\r\n /**\r\n * 返回错误信息\r\n */\r\n this.Hunca_GetLastError = function () {\r\n return LAST_ERRORSTRING;\r\n }\r\n\r\n /**\r\n * 获取证书列表\r\n */\r\n this.Hunca_GetUserList = function () {\r\n var deviceArray = null;\r\n var containerName = null;\r\n var userName = null;\r\n var tmpInfo = null;\r\n\r\n signResultCert = null;\r\n signResultSignData = null;\r\n tokenInfoList = new Array(); //清空信息\r\n\r\n for (var index = 0; index < libraryNameList.length; index++) {\r\n var libraryName = libraryNameList[index];\r\n if (!SOF_LoadLibrary(libraryName)) {\r\n continue;\r\n }\r\n\r\n deviceArray = SOF_EnumDevice();\r\n if (null == deviceArray) {\r\n continue;\r\n }\r\n\r\n for (var i = 0; i < deviceArray.length; i++) {\r\n var tokenInfo = new Object();\r\n //实例化设备失败\r\n if (!SOF_GetDeviceInstance(deviceArray[i])) {\r\n break;\r\n }\r\n\r\n //获取设备信息\r\n tmpInfo = SOF_GetUserList();\r\n if (null != tmpInfo || tmpInfo.length != 0) {\r\n containerName = tmpInfo[0][1];\r\n userName = tmpInfo[0][0];\r\n\r\n tokenInfo.libraryName = libraryName; //Ukey型号\r\n tokenInfo.serial = deviceArray[i]; //设备序列号\r\n tokenInfo.userName = userName; //证书名称\r\n tokenInfo.containerName = containerName; //应用名称\r\n\r\n tokenInfoList.push(tokenInfo);\r\n } else {\r\n continue;\r\n }\r\n SOF_LogOut();\r\n }\r\n }\r\n\r\n //返回证书信息\r\n var userNameList = new Array();\r\n for (let i = 0; i < tokenInfoList.length; i++) {\r\n userNameList[i] = tokenInfoList[i].userName;\r\n }\r\n\r\n if (userNameList.length == 0) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_NOT_FIND_UKEY;\r\n return \"\";\r\n }\r\n\r\n return userNameList;\r\n }\r\n\r\n /**\r\n * 获取证书G项信息列表\r\n */\r\n this.Hunca_GetUserListGN = function Hunca_GetUserListGN () {\r\n var deviceArray = null;\r\n var containerName = null;\r\n var userName = null;\r\n var tmpInfo = null;\r\n var certB64 = null;\r\n var deviceSerial = \"\";\r\n\r\n // eslint-disable-next-line no-unused-vars\r\n var signResultCert = null;\r\n // eslint-disable-next-line no-unused-vars\r\n var signResultSignData = null;\r\n tokenInfoList = new Array(); //清空信息\r\n var LAST_ERRORSTRING = \"\";\r\n\r\n for (var index = 0; index < libraryNameList.length; index++) {\r\n var libraryName = libraryNameList[index];\r\n //加载控件\r\n if (!SOF_LoadLibrary(libraryName)) {\r\n continue;\r\n }\r\n\r\n deviceArray = SOF_EnumDevice();\r\n if (null == deviceArray) {\r\n continue;\r\n }\r\n\r\n for (var i = 0; i < deviceArray.length; i++) {\r\n cert_subject_GN = null;\r\n certSn = null;\r\n deviceSerial = deviceArray[i];\r\n\r\n var tokenInfo = new Object();\r\n\r\n //实例化设备失败\r\n if (!SOF_GetDeviceInstance(deviceSerial)) {\r\n break;\r\n }\r\n\r\n //获取设备信息\r\n tmpInfo = SOF_GetUserList();\r\n if (null != tmpInfo || tmpInfo.length != 0) {\r\n containerName = tmpInfo[0][1];\r\n userName = tmpInfo[0][0];\r\n\r\n tokenInfo.libraryName = libraryName;\r\n tokenInfo.serial = deviceArray[i]; //设备序列号\r\n tokenInfo.userName = userName; //证书名称\r\n tokenInfo.containerName = containerName;\r\n } else {\r\n continue;\r\n }\r\n\r\n //获取证书G项信息\r\n certB64 = SOF_ExportUserCert(tokenInfo.containerName, KEY_SPEC_TYPE_SIGN);\r\n if (SOF_GetCertInfo(certB64)) {\r\n tokenInfo.subjectGN = cert_subject_GN; //设备证书G项目;\r\n } else {\r\n continue;\r\n }\r\n\r\n tokenInfoList.push(tokenInfo);\r\n SOF_LogOut();\r\n }\r\n }\r\n\r\n //返回证书G项信息\r\n var userNameGNList = new Array();\r\n for (let i = 0; i < tokenInfoList.length; i++) {\r\n userNameGNList[i] = tokenInfoList[i].subjectGN;\r\n }\r\n\r\n if (userNameGNList.length == 0) {\r\n // eslint-disable-next-line no-unused-vars\r\n LAST_ERRORSTRING = ERROR_MESSAGE_NOT_FIND_UKEY;\r\n return \"\";\r\n }\r\n\r\n /*****\r\n if (userNameGNList.length > 1){\r\n LAST_ERRORSTRING = ERROR_MSSSAGE_FIND_MORE_UKEY;\r\n return \"\";\r\n }\r\n ****/\r\n return userNameGNList;\r\n }\r\n\r\n /**\r\n * 将证书G项信息转化为证书名称\r\n */\r\n this.Hunca_userNameGNToUserName = function (userNameGN) {\r\n var userName = null;\r\n LAST_ERRORSTRING = \"\";\r\n if (null == userNameGN || userNameGN.length == 0) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_USERNAMEGN_IS_NULL;\r\n }\r\n\r\n for (var i = 0; i < tokenInfoList.length; i++) {\r\n if (userNameGN == tokenInfoList[i].subjectGN) {\r\n userName = tokenInfoList[i].userName;\r\n break;\r\n }\r\n }\r\n\r\n if (null == userName || userName.length == 0) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_USERNAMEGN_TO_USERNAME_ERROR;\r\n return null;\r\n }\r\n return userName;\r\n }\r\n\r\n this.Hunca_GenRemoteUnblockRequest = function (userName) {\r\n var tokenInfo = null; //Ukey设备信息\r\n var tempTokenInfo = null; //临时设备信息,循环遍历用\r\n var request = \"\";\r\n\r\n LAST_ERRORSTRING = \"\";\r\n\r\n //设备名称为空\r\n if (null == userName || userName.length == null) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_USERNAME_IS_NULL;\r\n return false;\r\n }\r\n\r\n //查找匹配的设备序列号\r\n if (null == tokenInfoList || tokenInfoList.length == 0) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_NOT_FIND_UKEY;\r\n return false;\r\n }\r\n\r\n //索引设备编号\r\n for (var i = 0; i < tokenInfoList.length; i++) {\r\n tempTokenInfo = tokenInfoList[i];\r\n if (tempTokenInfo.userName == userName) {\r\n tokenInfo = tempTokenInfo;\r\n break;\r\n }\r\n }\r\n\r\n //如果所选择的设备不存在\r\n if (null == tokenInfo) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_KEY_NOT_EXIT;\r\n return false;\r\n }\r\n\r\n //判断设备是否支持远程解锁\r\n if (tokenInfo.libraryName != \"GM3000\") {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_GET_REMOTEUNLOCKREQUEST_NOT_SUPPORT;\r\n return false;\r\n }\r\n\r\n //加载库文件\r\n if (!SOF_LoadLibrary(tokenInfo.libraryName)) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_KEY_LIBRAY;\r\n return false;\r\n }\r\n\r\n //实例化设备\r\n if (!SOF_GetDeviceInstance(tokenInfo.serial)) {\r\n return false;\r\n }\r\n\r\n //枚举容器,并选择第一个容器\r\n if (SOF_GetUserList() == null) {\r\n return false;\r\n }\r\n\r\n //远程解锁\r\n request = SOF_GenRemoteUnblockRequest()\r\n\r\n return request;\r\n }\r\n\r\n this.HUnca_GetDeviceNumber = function (userName) {\r\n var m_devNumber = null;\r\n\r\n //设备名称为空\r\n if (null == userName || userName.length == null) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_USERNAME_IS_NULL;\r\n return false;\r\n }\r\n\r\n //查找匹配的设备序列号\r\n if (null == tokenInfoList || tokenInfoList.length == 0) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_NOT_FIND_UKEY;\r\n return false;\r\n }\r\n\r\n //索引设备编号\r\n for (var i = 0; i < tokenInfoList.length; i++) {\r\n let tempTokenInfo = tokenInfoList[i];\r\n if (tempTokenInfo.userName == userName) {\r\n // eslint-disable-next-line no-undef\r\n tokenInfo = tempTokenInfo;\r\n break;\r\n }\r\n }\r\n\r\n //如果所选择的设备不存在\r\n // eslint-disable-next-line no-undef\r\n if (null == tokenInfo) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_KEY_NOT_EXIT;\r\n return false;\r\n }\r\n\r\n //加载库文件\r\n // eslint-disable-next-line no-undef\r\n if (!SOF_LoadLibrary(tokenInfo.libraryName)) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_KEY_LIBRAY;\r\n return false;\r\n }\r\n\r\n //实例化设备\r\n // eslint-disable-next-line no-undef\r\n if (!SOF_GetDeviceInstance(tokenInfo.serial)) {\r\n return false;\r\n }\r\n m_devNumber = SOF_GetDeviceNumber();\r\n\r\n return m_devNumber + \"\";\r\n }\r\n\r\n this.Hunca_RemoteUnlockPIN = function (userName, response) {\r\n var tokenInfo = null; //Ukey设备信息\r\n var tempTokenInfo = null; //临时设备信息,循环遍历用\r\n var result = false;\r\n\r\n LAST_ERRORSTRING = \"\";\r\n\r\n //设备名称为空\r\n if (null == userName || userName.length == null) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_USERNAME_IS_NULL;\r\n return false;\r\n }\r\n\r\n //查找匹配的设备序列号\r\n if (null == tokenInfoList || tokenInfoList.length == 0) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_NOT_FIND_UKEY;\r\n return false;\r\n }\r\n\r\n //索引设备编号\r\n for (var i = 0; i < tokenInfoList.length; i++) {\r\n tempTokenInfo = tokenInfoList[i];\r\n if (tempTokenInfo.userName == userName) {\r\n tokenInfo = tempTokenInfo;\r\n break;\r\n }\r\n }\r\n\r\n //如果所选择的设备不存在\r\n if (null == tokenInfo) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_KEY_NOT_EXIT;\r\n return false;\r\n }\r\n\r\n //判断设备是否支持远程解锁\r\n if (tokenInfo.libraryName != \"GM3000\") {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_GET_REMOTEUNLOCKREQUEST_NOT_SUPPORT;\r\n return false;\r\n }\r\n\r\n //加载库文件\r\n if (!SOF_LoadLibrary(tokenInfo.libraryName)) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_KEY_LIBRAY;\r\n return false;\r\n }\r\n\r\n //实例化设备\r\n if (!SOF_GetDeviceInstance(tokenInfo.serial)) {\r\n return false;\r\n }\r\n\r\n //枚举容器,并选择第一个容器\r\n if (SOF_GetUserList() == null) {\r\n return false;\r\n }\r\n\r\n //远程解锁\r\n result = SOF_RemoteUnlockPIN(response)\r\n return result;\r\n }\r\n\r\n /**\r\n * 修改Ukey密码\r\n */\r\n this.Hunca_ChangeUserPin = function (userName, oldUserPin, newUserPin) {\r\n var tokenInfo = null; //Ukey设备信息\r\n var tempTokenInfo = null; //临时设备信息,循环遍历用\r\n LAST_ERRORSTRING = \"\";\r\n\r\n //设备名称为空\r\n if (null == userName || userName.length == null) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_USERNAME_IS_NULL;\r\n return false;\r\n }\r\n\r\n //查找匹配的设备序列号\r\n if (null == tokenInfoList || tokenInfoList.length == 0) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_NOT_FIND_UKEY;\r\n return false;\r\n }\r\n\r\n //索引设备编号\r\n for (var i = 0; i < tokenInfoList.length; i++) {\r\n tempTokenInfo = tokenInfoList[i];\r\n if (tempTokenInfo.userName == userName) {\r\n tokenInfo = tempTokenInfo;\r\n break;\r\n }\r\n }\r\n\r\n //如果所选择的设备不存在\r\n if (null == tokenInfo) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_KEY_NOT_EXIT;\r\n return false;\r\n }\r\n\r\n //加载库文件\r\n if (!SOF_LoadLibrary(tokenInfo.libraryName)) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_KEY_LIBRAY;\r\n }\r\n\r\n //实例化设备\r\n if (!SOF_GetDeviceInstance(tokenInfo.serial)) {\r\n return false;\r\n }\r\n\r\n //修改密码\r\n if (!SOF_ChangeUserPin(oldUserPin, newUserPin)) {\r\n return false;\r\n }\r\n\r\n SOF_LogOut();\r\n return true;\r\n }\r\n\r\n /**\r\n * 对数据进行签名,并返回签名是否成功\r\n * @param {string} originalData 待签名原文\r\n * @param {string} userName Ukey用户名称\r\n * @param {string} userPin Ukey密码\r\n */\r\n this.Hunca_PKCS1 = function (originalData, userName, userPin) {\r\n // eslint-disable-next-line no-unused-vars\r\n var libraryName = null;\r\n var tokenInfo = null; //Ukey设备信息\r\n var tempTokenInfo = null; //临时设备信息,循环遍历用\r\n var certBase64 = null; //签名证书值\r\n\r\n var LAST_ERRORSTRING = \"\";\r\n // eslint-disable-next-line no-unused-vars\r\n var signResultInfo = null;\r\n // eslint-disable-next-line no-unused-vars\r\n var certInfo = new Object();\r\n //设备名称为空\r\n if (null == userName || userName.length == null) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_USERNAME_IS_NULL;\r\n return false;\r\n }\r\n\r\n //查找匹配的设备序列号\r\n if (null == tokenInfoList || tokenInfoList.length == 0) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_NOT_FIND_UKEY;\r\n return false;\r\n }\r\n\r\n //索引设备编号\r\n for (var i = 0; i < tokenInfoList.length; i++) {\r\n tempTokenInfo = tokenInfoList[i];\r\n if (tempTokenInfo.userName == userName) {\r\n tokenInfo = tempTokenInfo;\r\n break;\r\n }\r\n }\r\n\r\n //如果所选择的设备不存在\r\n if (null == tokenInfo) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_KEY_NOT_EXIT;\r\n return false;\r\n }\r\n\r\n //加载库文件\r\n if (!SOF_LoadLibrary(tokenInfo.libraryName)) {\r\n // eslint-disable-next-line no-unused-vars\r\n LAST_ERRORSTRING = ERROR_MESSAGE_KEY_LIBRAY;\r\n }\r\n\r\n //实例化设备\r\n if (!SOF_GetDeviceInstance(tokenInfo.serial)) {\r\n return false;\r\n }\r\n\r\n //登陆应用\r\n if (!SOF_Login(userPin)) {\r\n return false;\r\n }\r\n\r\n //获取签名证书Base64\r\n certBase64 = SOF_ExportUserCert(tokenInfo.containerName, KEY_SPEC_TYPE_SIGN);\r\n if (null == certBase64) {\r\n return false;\r\n }\r\n\r\n //设置摘要算法\r\n if (!SOF_SetDigestMethod(SGD_SM3)) {\r\n return false;\r\n }\r\n\r\n if (!SOF_SetUserID()) {\r\n return false;\r\n }\r\n\r\n //进行签名\r\n if (!SOF_SignData(tokenInfo.containerName, SGD_SM3, originalData, certBase64)) {\r\n return false;\r\n }\r\n\r\n //获取证书信息\r\n if (!SOF_GetCertInfo(certBase64)) {\r\n return false;\r\n }\r\n\r\n SOF_LogOut();\r\n return true;\r\n }\r\n\r\n /**\r\n * 获取签名结果\r\n */\r\n this.Hunca_GetSignData = function () {\r\n return signResultSignData;\r\n }\r\n\r\n /**\r\n * 获取签名证书\r\n */\r\n this.Hunca_GetSignCert = function () {\r\n return signResultCert;\r\n }\r\n\r\n this.Hunca_GetSignCertSn = function () {\r\n return certSn\r\n }\r\n\r\n this.Hunca_GetSignCertSubject = function () {\r\n return cert_subject;\r\n }\r\n\r\n this.Hunca_GetValidTime = function () {\r\n return cert_validTime;\r\n }\r\n\r\n this.HUnca_GetNotBeforeTime = function () {\r\n return cert_notbeforetime;\r\n }\r\n /**\r\n * 处理设备中签名证书信息\r\n * @param {*} userName\r\n */\r\n this.Hunca_DealCertInfo = function (userName) {\r\n var tokenInfo = null; //Ukey设备信息\r\n var tempTokenInfo = null; //临时设备信息,循环遍历用\r\n var certBase64 = null; //签名证书值\r\n\r\n LAST_ERRORSTRING = \"\";\r\n // eslint-disable-next-line no-undef\r\n signResultInfo = null;\r\n // eslint-disable-next-line no-undef\r\n certInfo = new Object();\r\n //设备名称为空\r\n if (null == userName || userName.length == null) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_USERNAME_IS_NULL;\r\n return false;\r\n }\r\n\r\n //查找匹配的设备序列号\r\n if (null == tokenInfoList || tokenInfoList.length == 0) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_NOT_FIND_UKEY;\r\n return false;\r\n }\r\n\r\n //索引设备编号\r\n for (var i = 0; i < tokenInfoList.length; i++) {\r\n tempTokenInfo = tokenInfoList[i];\r\n if (tempTokenInfo.userName == userName) {\r\n tokenInfo = tempTokenInfo;\r\n break;\r\n }\r\n }\r\n\r\n //如果所选择的设备不存在\r\n if (null == tokenInfo) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_KEY_NOT_EXIT;\r\n return false;\r\n }\r\n\r\n if (!SOF_LoadLibrary(tokenInfo.libraryName)) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_KEY_LIBRAY;\r\n return false;\r\n }\r\n\r\n //实例化设备\r\n if (!SOF_GetDeviceInstance(tokenInfo.serial)) {\r\n return false;\r\n }\r\n\r\n //导出证书\r\n certBase64 = SOF_ExportUserCert(tokenInfo.containerName, KEY_SPEC_TYPE_SIGN);\r\n if (null == certBase64 || certBase64.length == 0) {\r\n return false;\r\n }\r\n\r\n SOF_GetCertInfo(certBase64);\r\n SOF_LogOut();\r\n return true;\r\n }\r\n\r\n /**\r\n * 对数据进行数字信封加密\r\n * @param {string} inData 待加密原文\r\n * @param {string} userName Ukey用户名称\r\n * @param {string} EncryptMethod 对称加密方式\r\n * @param {string} EncryptIV 加密IV值\r\n * @returns {string} \"\",加密失败;非空,加密成功\r\n */\r\n this.Hunca_EncryptDataPKCS7 = function (inData, userName, EncryptMethod, EncryptIV) {\r\n var tokenInfo = null; //Ukey设备信息\r\n var tempTokenInfo = null; //临时设备信息,循环遍历用\r\n var certBase64 = null; //签名证书值\r\n var m_EncryptMethod = \"\",\r\n m_EncryptIV = \"\";\r\n\r\n var LAST_ERRORSTRING = \"\";\r\n // eslint-disable-next-line no-unused-vars\r\n var signResultInfo = null;\r\n // eslint-disable-next-line no-unused-vars\r\n var certInfo = new Object();\r\n\r\n\r\n //设备名称为空\r\n if (null == userName || userName.length == null) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_USERNAME_IS_NULL;\r\n return \"\";\r\n }\r\n\r\n //查找匹配的设备序列号\r\n if (null == tokenInfoList || tokenInfoList.length == 0) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_NOT_FIND_UKEY;\r\n return \"\";\r\n }\r\n\r\n //索引设备编号\r\n for (var i = 0; i < tokenInfoList.length; i++) {\r\n tempTokenInfo = tokenInfoList[i];\r\n if (tempTokenInfo.userName == userName) {\r\n tokenInfo = tempTokenInfo;\r\n break;\r\n }\r\n }\r\n\r\n //如果所选择的设备不存在\r\n if (null == tokenInfo) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_KEY_NOT_EXIT;\r\n return \"\";\r\n }\r\n\r\n //加载链接库\r\n if (!SOF_LoadLibrary(tokenInfo.libraryName)) {\r\n // eslint-disable-next-line no-unused-vars\r\n LAST_ERRORSTRING = ERROR_MESSAGE_KEY_LIBRAY;\r\n return \"\";\r\n }\r\n\r\n //实例化设备\r\n if (!SOF_GetDeviceInstance(tokenInfo.serial)) {\r\n return \"\";\r\n }\r\n\r\n //导出加密证书\r\n certBase64 = SOF_ExportUserCert(tokenInfo.containerName, KEY_SPEC_TYPE_ENCRYPT);\r\n if (null == certBase64 || certBase64.length == 0) {\r\n return \"\";\r\n }\r\n\r\n //设置加密方式\r\n\r\n m_EncryptMethod = EncryptMethod + \"\";\r\n m_EncryptIV = EncryptIV + \"\";\r\n\r\n if (m_EncryptMethod == null || m_EncryptMethod.length == 0) {\r\n m_EncryptMethod = SGD_SM4_ECB;\r\n m_EncryptIV = \"\";\r\n }\r\n\r\n if (!SOF_SetEncryptMethodAndIV(m_EncryptMethod, m_EncryptIV)) {\r\n return \"\";\r\n }\r\n\r\n //对数据进行加密\r\n // eslint-disable-next-line no-undef\r\n encryptData = SOF_EncryptDataPKCS7(certBase64, inData);\r\n\r\n SOF_LogOut();\r\n\r\n // eslint-disable-next-line no-undef\r\n return encryptData;\r\n }\r\n\r\n /**\r\n * 对密文进行数字信封解密操作\r\n * @param {string} encryptData 待解密密文\r\n * @param {string} userName Ukey用户名称\r\n * @param {string} userPin Ukey用户PIN码\r\n * @param {string} EncryptMethod 对称加密方式\r\n * @param {string} EncryptIV 加密IV值\r\n * @returns {string} \"\",加密失败;非空,加密成功\r\n */\r\n this.Hunca_DecryptDataPKCS7 = function (encryptData, userName, userPin, EncryptMethod, EncryptIV) {\r\n var tokenInfo = null; //Ukey设备信息\r\n var tempTokenInfo = null; //临时设备信息,循环遍历用\r\n var m_EncryptMethod = \"\",\r\n m_EncryptIV = \"\";\r\n var m_EncryptData = \"\";\r\n var m_DecryptData = \"\";\r\n var resData = \"\";\r\n\r\n var LAST_ERRORSTRING = \"\";\r\n // eslint-disable-next-line no-unused-vars\r\n var signResultInfo = null;\r\n // eslint-disable-next-line no-unused-vars\r\n var certInfo = new Object();\r\n\r\n\r\n m_EncryptData = \"\" + encryptData;\r\n //设备名称为空\r\n if (null == userName || userName.length == null) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_USERNAME_IS_NULL;\r\n return \"\";\r\n }\r\n\r\n //查找匹配的设备序列号\r\n if (null == tokenInfoList || tokenInfoList.length == 0) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_NOT_FIND_UKEY;\r\n return \"\";\r\n }\r\n\r\n //索引设备编号\r\n for (var i = 0; i < tokenInfoList.length; i++) {\r\n tempTokenInfo = tokenInfoList[i];\r\n if (tempTokenInfo.userName == userName) {\r\n tokenInfo = tempTokenInfo;\r\n break;\r\n }\r\n }\r\n\r\n //如果所选择的设备不存在\r\n if (null == tokenInfo) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_KEY_NOT_EXIT;\r\n return \"\";\r\n }\r\n\r\n //加载链接库\r\n if (!SOF_LoadLibrary(tokenInfo.libraryName)) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_KEY_LIBRAY;\r\n return \"\";\r\n }\r\n\r\n //实例化设备\r\n if (!SOF_GetDeviceInstance(tokenInfo.serial)) {\r\n return \"\";\r\n }\r\n\r\n //登陆应用\r\n if (!SOF_Login(userPin)) {\r\n return \"\";\r\n }\r\n\r\n //设置加密方式\r\n m_EncryptMethod = EncryptMethod + \"\";\r\n m_EncryptIV = EncryptIV + \"\";\r\n if (m_EncryptMethod == null || m_EncryptMethod.length == 0) {\r\n m_EncryptMethod = SGD_SM4_ECB;\r\n m_EncryptIV = \"\";\r\n }\r\n\r\n if (!SOF_SetEncryptMethodAndIV(m_EncryptMethod, m_EncryptIV)) {\r\n return \"\";\r\n }\r\n\r\n m_DecryptData = SOF_DecryptDataPKCS7(tokenInfo.containerName, KEY_SPEC_TYPE_ENCRYPT, m_EncryptData);\r\n if (m_DecryptData.length == 0) {\r\n return \"\";\r\n }\r\n\r\n try {\r\n // eslint-disable-next-line no-undef\r\n resData = _Base64decode(m_DecryptData);\r\n } catch (e) {\r\n resData = m_DecryptData;\r\n // eslint-disable-next-line no-unused-vars\r\n LAST_ERRORSTRING = \"解密失败:Base64解码失败\";\r\n }\r\n\r\n return resData;\r\n }\r\n\r\n /**\r\n * 加载底层文件\r\n * @returns {boolean} true,加载成功;false加载失败;\r\n */\r\n function SOF_LoadLibrary (libraryName) {\r\n var resultCode = 0;\r\n if (libraryName == \"GM3000\") {\r\n resultCode = token.SOF_LoadLibrary(token.GM3000);\r\n }\r\n else if (libraryName == \"HT\") {\r\n resultCode = token.SOF_LoadLibrary(token.HT);\r\n }\r\n else if (libraryName == \"SJK1137\") {\r\n resultCode = token.SOF_LoadLibrary(token.SJK1137);\r\n }\r\n\r\n if (resultCode != 0) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_NOT_LOADLIBRARY + token.SOF_GetLastError();\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * 枚举设备\r\n */\r\n function SOF_EnumDevice () {\r\n var deviceNameList = \"\";\r\n\r\n deviceNameList = token.SOF_EnumDevice();\r\n\r\n //检测是否插入USBKey\r\n if (null == deviceNameList || deviceNameList.length == 0) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_NOT_FIND_UKEY;\r\n return null;\r\n }\r\n\r\n return deviceNameList;\r\n }\r\n\r\n /**\r\n * 实例化设备,为后续一系列操作准备\r\n * @param {string} deviceName 设备名称\r\n */\r\n function SOF_GetDeviceInstance (deviceName) {\r\n var resultCode = 0;\r\n\r\n resultCode = token.SOF_GetDeviceInstance(deviceName, \"\");\r\n //设备未正常实例化\r\n if (resultCode != 0) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_NOT_INSTANCE_DEVICE + token.SOF_GetLastError();\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * 枚举应用中的容器\r\n */\r\n function SOF_GetUserList () {\r\n var userList = \"\";\r\n\r\n userList = token.SOF_GetUserList();\r\n if (null == userList || userList.length == 0) {\r\n LAST_ERRORSTRING = \"USBkey中未找到证书!\";\r\n return null;\r\n }\r\n\r\n return userList;\r\n }\r\n\r\n /**\r\n * 登陆应用,验证密码是否正确\r\n * @param {string} userPin\r\n */\r\n function SOF_Login (userPin) {\r\n var resultCode = 0;\r\n var m_userPin = \"\" + userPin;\r\n var RetryCount = 0;\r\n\r\n if (null == m_userPin || m_userPin.length == 0) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_USERPIN_LENGTH;\r\n return false;\r\n }\r\n\r\n if (m_userPin.length < 4 || m_userPin.length > 16) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_USERPIN_LENGTH;\r\n return false;\r\n }\r\n\r\n resultCode = token.SOF_Login(m_userPin);\r\n if (resultCode != 0) {\r\n RetryCount = SOF_GetPinRetryCount();\r\n if (RetryCount > 0) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_USERPIN_IS_ERROR + \",还剩 \" + RetryCount + \" 次重试机会!\";\r\n } else {\r\n LAST_ERRORSTRING = \"UKey已经锁死,请联系管理员进行解锁!\"\r\n }\r\n return false;\r\n }\r\n return true\r\n }\r\n\r\n /**\r\n * 修改UKey密码\r\n * @param {*} oldUserPin\r\n * @param {*} newUserPin\r\n */\r\n function SOF_ChangeUserPin (oldUserPin, newUserPin) {\r\n var resultCode = 0;\r\n var m_oldUserPin = \"\" + oldUserPin;\r\n var m_newUserPin = \"\" + newUserPin;\r\n var RetryCount = 0;\r\n\r\n if (null == m_oldUserPin || m_oldUserPin.length == 0) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_USERPIN_LENGTH;\r\n return false;\r\n }\r\n\r\n if (null == m_newUserPin || m_newUserPin.length == 0) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_USERPIN_LENGTH;\r\n return false;\r\n }\r\n\r\n if (m_oldUserPin.length < 4 || m_oldUserPin.length > 16) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_USERPIN_LENGTH;\r\n return false;\r\n }\r\n\r\n if (m_newUserPin.length < 4 || m_newUserPin.length > 16) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_USERPIN_LENGTH;\r\n return false;\r\n }\r\n\r\n resultCode = token.SOF_ChangePassWd(m_oldUserPin, m_newUserPin);\r\n if (resultCode != 0) {\r\n RetryCount = SOF_GetPinRetryCount();\r\n if (RetryCount > 0) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_USERPIN_CHANGE_ERROR + \",还剩 \" + RetryCount + \" 次重试机会!\";\r\n } else {\r\n LAST_ERRORSTRING = \"UKey已经锁死,请联系管理员进行解锁!\"\r\n }\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * 返回重试次数\r\n */\r\n function SOF_GetPinRetryCount () {\r\n var retryCount = 0;\r\n retryCount = token.SOF_GetPinRetryCount();\r\n return retryCount;\r\n }\r\n\r\n function SOF_GetDeviceNumber () {\r\n var deviceNumber = null;\r\n deviceNumber = token.SOF_GetDeviceInfo(token.SGD_DEVICE_SERIAL_NUMBER);\r\n return deviceNumber;\r\n }\r\n\r\n /**\r\n * 导出证书值\r\n * @param {string} containerName 容器名称\r\n * @param {int} keySec 证书用途\r\n */\r\n function SOF_ExportUserCert (containerName, keySec) {\r\n var certBase64;\r\n certBase64 = token.SOF_ExportUserCert(containerName, keySec);\r\n if (null == certBase64 || certBase64.length == 0) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_KEY_EXPORT_CERT;\r\n return null;\r\n }\r\n return certBase64;\r\n }\r\n\r\n /**\r\n * 设置加密算法\r\n * @param {*} EncryptMethod 设置加密算法\r\n * @param {*} EncryptIV 设置IV值\r\n */\r\n function SOF_SetEncryptMethodAndIV (EncryptMethod, EncryptIV) {\r\n var resCode = 1;\r\n\r\n if (EncryptMethod == undefined || EncryptMethod == null) {\r\n LAST_ERRORSTRING = \"请设置加密方式!\";\r\n return false;\r\n }\r\n\r\n resCode = token.SOF_SetEncryptMethodAndIV(EncryptMethod, _Base64encode(EncryptIV));\r\n if (resCode != 0) {\r\n LAST_ERRORSTRING = token.SOF_GetLastError();\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * 设置签名算法\r\n * @param {}} digestMethod\r\n */\r\n function SOF_SetDigestMethod (digestMethod) {\r\n var resultCode = 0;\r\n resultCode = token.SOF_SetDigestMethod(digestMethod);\r\n if (resultCode != 0) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_SET_DIGEST_METHOD_ERROR;\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * 设置默认USERID\r\n */\r\n function SOF_SetUserID () {\r\n var resultCode = 0;\r\n resultCode = token.SOF_SetUserID(USER_ID);\r\n if (resultCode != 0) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_SET_USERID_ERROR;\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * 数字信封加密\r\n * @param {String} Base64EncodeCert 加密证书值\r\n * @param {String} inData 待加密原文\r\n * @returns {*} \"\",表示加密失败;非空,加密成功\r\n */\r\n function SOF_EncryptDataPKCS7 (Base64EncodeCert, inData) {\r\n var encryptData = \"\";\r\n var inDataBase64 = \"\";\r\n var m_inData = \"\";\r\n\r\n m_inData = \"\" + inData;\r\n if (m_inData.length == 0) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_ENCRYPT_DATA_IS_NULL;\r\n return \"\";\r\n }\r\n\r\n inDataBase64 = _Base64encode(m_inData)\r\n encryptData = token.SOF_EncryptDataPKCS7(Base64EncodeCert, inDataBase64, inData.length);\r\n\r\n if (encryptData == null || encryptData.length == 0) {\r\n LAST_ERRORSTRING = \"加密失败,\" + token.SOF_GetLastError();\r\n return \"\";\r\n }\r\n return encryptData;\r\n }\r\n\r\n /**\r\n * 数字信封解密\r\n * @param {*} containerName 应用名称\r\n * @param {int} cerType\r\n * @param {*} encrypedData\r\n */\r\n function SOF_DecryptDataPKCS7 (containerName, cerType, encrypedData) {\r\n var m_EncrypedData = \"\",\r\n m_DecryptData = \"\";\r\n\r\n m_EncrypedData = \"\" + encrypedData;\r\n if (containerName == null || containerName.length == 0) {\r\n LAST_ERRORSTRING = \"应用名称不能为空!\";\r\n return \"\";\r\n }\r\n\r\n if (m_EncrypedData.length == 0) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_DECRYPT_DATA_IS_NULL;\r\n return \"\";\r\n }\r\n\r\n try {\r\n m_DecryptData = token.SOF_DecryptDataPKCS7(containerName, cerType, m_EncrypedData);\r\n } catch (e) {\r\n m_DecryptData = \"\";\r\n }\r\n if (undefined == m_DecryptData || m_DecryptData == null || m_DecryptData == \"\") {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_DECRYPT_DATA_IS_ERROR;\r\n return \"\";\r\n }\r\n\r\n return m_DecryptData;\r\n }\r\n\r\n /**\r\n * 数据签名\r\n * @param {*} containerName\r\n * @param {*} ulKeySpec\r\n * @param {*} data\r\n * @param {*} certBase64\r\n */\r\n function SOF_SignData (containerName, ulKeySpec, data, certBase64) {\r\n var signData = null;\r\n var b64Data = null;\r\n var m_data = \"\" + data;\r\n\r\n\r\n if (null == m_data || m_data.length == 0) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_SIGN_ORIGINALDATA_IS_NULL;\r\n return false;\r\n }\r\n\r\n b64Data = _Base64encode(m_data);\r\n signData = token.SOF_SignData(containerName, ulKeySpec, _Base64encode(b64Data), b64Data.length)\r\n if (null == signData || signData.length == 0) {\r\n // eslint-disable-next-line no-undef\r\n LAST_ERRORSTRING = ERROR_MESSAGE_SIGN_ERROR + SOF_GetLastError();\r\n return false;\r\n }\r\n\r\n signResultCert = certBase64;\r\n signResultSignData = signData;\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * 导出证书\r\n * @param {*} certBase64\r\n */\r\n function SOF_GetCertInfo (certBase64) {\r\n var str = null;\r\n var subject = null;\r\n var tmpList = null;\r\n var validTime = null;\r\n var notBeforetime = null;\r\n var key, value;\r\n\r\n if (null == certBase64 || certBase64.length == 0) {\r\n return false;\r\n }\r\n\r\n cert_subject_GN = \"\";\r\n certSn = \"\";\r\n cert_subject = \"\";\r\n\r\n str = token.SOF_GetCertInfo(certBase64, token.SGD_CERT_SERIAL);\r\n certSn = hexToDec(str);\r\n\r\n subject = token.SOF_GetCertInfo(certBase64, token.SGD_CERT_SUBJECT);\r\n cert_subject = subject;\r\n\r\n validTime = token.SOF_GetCertInfo(certBase64, token.SGD_CERT_VALID_TIME);\r\n cert_validTime = validTime;\r\n\r\n notBeforetime = token.SOF_GetCertInfo(certBase64, token.SGD_CERT_NOT_BEFORE);\r\n cert_notbeforetime = notBeforetime;\r\n\r\n tmpList = subject.split(',');\r\n for (var i = 0; i < tmpList.length; i++) {\r\n if (tmpList[i].indexOf(\"=\") == -1) {\r\n continue;\r\n }\r\n\r\n key = tmpList[i].split('=')[0];\r\n value = tmpList[i].split('=')[1];\r\n\r\n if (key == 'GN') {\r\n cert_subject_GN = value;\r\n break;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n\r\n\r\n /**\r\n * 登出UKey\r\n */\r\n function SOF_LogOut () {\r\n token.SOF_LogOut();\r\n }\r\n\r\n /**\r\n * 生成解锁请求\r\n */\r\n function SOF_GenRemoteUnblockRequest () {\r\n var request = token.SOF_GenRemoteUnblockRequest();\r\n if (request == null || request == \"\") {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_GET_REMOTEUNLOCKREQUEST_FAIL;\r\n return \"\";\r\n }\r\n\r\n return request;\r\n }\r\n\r\n function SOF_RemoteUnlockPIN (response) {\r\n var result = false;\r\n\r\n if (null == response || response.length == 0) {\r\n LAST_ERRORSTRING = \"解锁失败解:响应不能为空!\";\r\n return false;\r\n }\r\n\r\n result = token.SOF_RemoteUnblockPIN(response);\r\n if (result != 0) {\r\n LAST_ERRORSTRING = ERROR_MESSAGE_REMOTE_UNLOCK_FAIL;\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n function add (x, y, base) {\r\n var z = [];\r\n var n = Math.max(x.length, y.length);\r\n var carry = 0;\r\n var i = 0;\r\n while (i < n || carry) {\r\n var xi = i < x.length ? x[i] : 0;\r\n var yi = i < y.length ? y[i] : 0;\r\n var zi = carry + xi + yi;\r\n z.push(zi % base);\r\n carry = Math.floor(zi / base);\r\n i++;\r\n }\r\n return z;\r\n }\r\n\r\n function multiplyByNumber (num, x, base) {\r\n if (num < 0) return null;\r\n if (num == 0) return [];\r\n\r\n var result = [];\r\n var power = x;\r\n // eslint-disable-next-line no-constant-condition\r\n while (true) {\r\n if (num & 1) {\r\n result = add(result, power, base);\r\n }\r\n num = num >> 1;\r\n if (num === 0) break;\r\n power = add(power, power, base);\r\n }\r\n\r\n return result;\r\n }\r\n\r\n function parseToDigitsArray (str, base) {\r\n var digits = str.split('');\r\n var ary = [];\r\n for (var i = digits.length - 1; i >= 0; i--) {\r\n var n = parseInt(digits[i], base);\r\n if (isNaN(n)) return null;\r\n ary.push(n);\r\n }\r\n return ary;\r\n }\r\n\r\n\r\n function convertBase (str, fromBase, toBase) {\r\n var digits = parseToDigitsArray(str, fromBase);\r\n if (digits === null) return null;\r\n\r\n var outArray = [];\r\n var power = [1];\r\n for (var i = 0; i < digits.length; i++) {\r\n // invariant: at this point, fromBase^i = power\r\n if (digits[i]) {\r\n outArray = add(outArray, multiplyByNumber(digits[i], power, toBase), toBase);\r\n }\r\n power = multiplyByNumber(fromBase, power, toBase);\r\n }\r\n\r\n var out = '';\r\n for (let i = outArray.length - 1; i >= 0; i--) {\r\n out += outArray[i].toString(toBase);\r\n }\r\n return out;\r\n }\r\n\r\n // eslint-disable-next-line no-unused-vars\r\n function decToHex (decStr) {\r\n var hex = convertBase(decStr, 10, 16);\r\n return hex ? '0x' + hex : null;\r\n }\r\n\r\n\r\n function hexToDec (hexStr) {\r\n if (hexStr.substring(0, 2) === '0x') hexStr = hexStr.substring(2);\r\n hexStr = hexStr.toLowerCase();\r\n return convertBase(hexStr, 16, 10);\r\n }\r\n}\r\n","// 过滤时间\r\nexport function formateTime(dateStr) {\r\n let year = dateStr.slice(0, 4);\r\n let month = dateStr.slice(4, 6);\r\n let date = dateStr.slice(6, 8);\r\n let hours = dateStr.slice(8, 10);\r\n let minute = dateStr.slice(10, 12);\r\n let second = dateStr.slice(12);\r\n return `${year}-${month}-${date} ${hours}:${minute}:${second}`;\r\n}\r\n","<template>\r\n <div>\r\n <el-form\r\n ref=\"loginForm\"\r\n :model=\"loginForm\"\r\n :rules=\"loginRules\"\r\n class=\"login-form\"\r\n >\r\n <div class=\"ca-bg-box\" v-if=\"loginForm.username == undefined\">\r\n <div class=\"ca-bg-img\"></div>\r\n <div class=\"ca-bg-text\">请插入UKEY证书</div>\r\n <img\r\n :src=\"require('comp/YcCA/images/refresh.png')\"\r\n class=\"ca-refresh\"\r\n @click=\"caRead\"\r\n alt=\"\"\r\n />\r\n </div>\r\n <div class=\"ca-bg-info\" v-else>\r\n <div class=\"ca-bg-text\">\r\n CA名称:<span class=\"caName\">{{ loginForm.username }}</span>\r\n </div>\r\n <img\r\n :src=\"require('comp/YcCA/images/refresh.png')\"\r\n class=\"ca-refresh\"\r\n @click=\"caRead\"\r\n alt=\"\"\r\n />\r\n </div>\r\n <el-form-item prop=\"password\">\r\n <el-input\r\n v-model=\"loginForm.password\"\r\n type=\"password\"\r\n auto-complete=\"off\"\r\n placeholder=\"密码\"\r\n show-password\r\n @keyup.enter.native=\"handleLogin\"\r\n >\r\n <el-image\r\n slot=\"prefix\"\r\n class=\"el-input__icon input-icon\"\r\n :src=\"require('./images/password.svg')\"\r\n />\r\n </el-input>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button\r\n :loading=\"loading\"\r\n size=\"medium\"\r\n type=\"primary\"\r\n class=\"login-btn\"\r\n style=\"width: 100%\"\r\n @click.native.prevent=\"handleLogin\"\r\n >\r\n <span v-if=\"!loading\">登 录</span>\r\n <span v-else>登 录 中...</span>\r\n </el-button>\r\n </el-form-item>\r\n </el-form>\r\n <el-dialog\r\n title=\"提示\"\r\n :visible.sync=\"dialogVisible.showInfo\"\r\n width=\"30%\"\r\n center\r\n >\r\n <span style=\"color: red\">4444{{ caInfo.error_text }}</span>\r\n <span slot=\"footer\" class=\"dialog-footer\">\r\n <el-button @click=\"dialogVisible.showInfo = false\">取 消</el-button>\r\n <el-button type=\"primary\" @click=\"dialogVisible.showInfo = false\"\r\n >确 定</el-button\r\n >\r\n </span>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { hunca_mToken_core } from \"comp/YcCA/mTokenPlugin/hunca_mToken_core2\"\r\n// 北京ca\r\nimport \"comp/YcCA/mTokenPluginBeijin/xtxasyn\"\r\nimport { formateTime } from \"comp/YcCA/mTokenPluginBeijin/formateTime\"\r\nexport default {\r\n name: \"YcCA\",\r\n props: {\r\n region: {\r\n /** 1背景CA,0湖南CA */\r\n type: Number,\r\n default: 0,\r\n },\r\n },\r\n data() {\r\n return {\r\n form: {},\r\n caInfo: {\r\n error_text: \"\",\r\n have_error_info: false,\r\n },\r\n loginForm: {\r\n username: \"\",\r\n password: \"\",\r\n uuid: \"\",\r\n caInfo: \"\",\r\n },\r\n dialogVisible: {\r\n ca: false,\r\n showInfo: false,\r\n },\r\n loginRules: {\r\n password: [\r\n { required: true, trigger: \"blur\", message: \"请输入您的密码\" },\r\n ],\r\n },\r\n loading: false,\r\n }\r\n },\r\n computed: {\r\n isBJCA() {\r\n return this.region == 1\r\n },\r\n },\r\n watch: {\r\n region() {\r\n this.caRead()\r\n },\r\n },\r\n created() {\r\n // this.caRead()\r\n },\r\n methods: {\r\n //读取CA\r\n caRead() {\r\n if (this.isBJCA) {\r\n this.caReadBeijin()\r\n } else {\r\n window.mToken = new hunca_mToken_core()\r\n let tempName = window.mToken.Hunca_GetUserListGN()\r\n this.loginForm.username = tempName[0]\r\n }\r\n },\r\n async caReadBeijin() {\r\n let retObj = await new Promise((resolve) => {\r\n window.SOF_GetUserList(function (retObj) {\r\n resolve(retObj)\r\n })\r\n })\r\n this.loginForm.username = retObj.retVal.split(\"||\")[0]\r\n },\r\n // CA登录选择\r\n caLogin(flag) {\r\n switch (flag) {\r\n case 0:\r\n this.HNCALogin()\r\n break\r\n default:\r\n this.$message({\r\n type: \"warning\",\r\n message: \"请选择CA平台!!!\",\r\n })\r\n }\r\n },\r\n // 湖南CA平台登录\r\n HNCALogin() {\r\n window.mToken = new hunca_mToken_core()\r\n this.loginForm.username = window.mToken.Hunca_GetUserListGN()\r\n let tempuserName = window.mToken.Hunca_userNameGNToUserName(\r\n this.loginForm.username[0]\r\n ) //将证书G项信息转化为证书名称\r\n let rn = Math.random()\r\n if (\r\n !window.mToken.Hunca_PKCS1(rn, tempuserName, this.loginForm.password)\r\n ) {\r\n this.caInfo.error_text = window.mToken.Hunca_GetLastError()\r\n this.caInfo.have_error_info = true\r\n this.dialogVisible.showInfo = true\r\n return false\r\n }\r\n this.ca_cert = window.mToken.Hunca_GetSignCert()\r\n this.sign = window.mToken.Hunca_GetSignData()\r\n this.certSn = window.mToken.Hunca_GetSignCertSn() //CA唯一码\r\n this.cert_subject = window.mToken.Hunca_GetSignCertSubject() //CA信息\r\n this.cert_validTime = window.mToken.Hunca_GetValidTime() //过期时间\r\n this.cert_notBeforeTime = window.mToken.HUnca_GetNotBeforeTime() //生效时间\r\n let tempinfo = this.cert_subject.split(\",\")\r\n let tempinfo1 = {}\r\n tempinfo.forEach((e) => {\r\n tempinfo1[e.split(\"=\")[0]] = e.split(\"=\")[1]\r\n })\r\n this.loginForm = {\r\n cert: this.ca_cert,\r\n sign: this.sign,\r\n rn: rn,\r\n caInfo: this.cert_subject, //CA信息\r\n caAddr: tempinfo1.ST + tempinfo1.OU, //设备归属地\r\n caCode: tempinfo1.TITLE, //证书代码\r\n caName: tempinfo1.GN, //ca名字\r\n caSn: this.certSn, //CA唯一码\r\n caEffectiveDate: this.cert_notBeforeTime, //生效时间\r\n caExpireDate: this.cert_validTime, //过期时间\r\n loginType: \"3\",\r\n username: tempinfo1.GN,\r\n }\r\n return true\r\n },\r\n handleLogin() {\r\n this.$refs.loginForm.validate((valid) => {\r\n if (valid) {\r\n this.loading = true\r\n if (this.isBJCA) {\r\n this.BJCALogin()\r\n } else {\r\n this.HNCALogin()\r\n if (this.dialogVisible.showInfo == true) {\r\n this.loading = false\r\n } else if (this.loginForm.username != undefined) {\r\n this.loading = true\r\n this.$emit(\"caSuccess\", this.loginForm, () => {\r\n this.loading = false\r\n })\r\n } else {\r\n this.msgErr(\"请插入CA\")\r\n }\r\n }\r\n }\r\n })\r\n },\r\n async BJCALogin() {\r\n if (this.loginForm.password == undefined) {\r\n this.msgErr(\"请插入CA\")\r\n return\r\n } else {\r\n let certId = await new Promise((resolve) => {\r\n window.SOF_GetUserList(function (retObj) {\r\n resolve(retObj.retVal.split(\"&&&\")[0].split(\"||\")[1])\r\n })\r\n })\r\n // --------------执行ca登录接口开始\r\n var time_begin = new Date()\r\n let passwd = this.loginForm.password\r\n if (!certId || !passwd) {\r\n return\r\n }\r\n var platform = navigator.platform.toLowerCase()\r\n if (platform.indexOf(\"win\") != -1) {\r\n window.SOF_LoginEx(certId, passwd, 0, this.login_callback, {\r\n begin: time_begin,\r\n certId: certId,\r\n })\r\n } else {\r\n window.SOF_Login(certId, passwd, this.login_callback, {\r\n begin: time_begin,\r\n certId: certId,\r\n })\r\n }\r\n // --------------执行ca登录接口结束\r\n }\r\n },\r\n login_callback(retObj) {\r\n const that = this\r\n var certId = retObj.ctx.certId\r\n if (retObj.retVal) {\r\n // 登录成功对数据进行签名\r\n this.BJSignData()\r\n } else {\r\n //当登录失败时,调用SOF_GetLastError取错误码,errcode为79时表示pin码复杂度不符合\r\n window.SOF_GetLastError(function (retObj) {\r\n var err = retObj.retVal\r\n if (err == 79) {\r\n that.msgErr(\"请核对pin码复杂度是否符合要求\")\r\n }\r\n }, retObj.ctx)\r\n // 实际情况可能仅在登录失败时获取一下重试次数做个提醒\r\n window.SOF_GetPinRetryCount(\r\n certId,\r\n function (retObj) {\r\n var certId = retObj.ctx.certId\r\n that.msgErr(\r\n \"证书[\" + certId + \"]重试次数剩余:\" + retObj.retVal + \"次...\"\r\n )\r\n },\r\n retObj.ctx\r\n )\r\n }\r\n },\r\n async BJSignData() {\r\n let certId = await new Promise((resolve) => {\r\n window.SOF_GetUserList(function (retObj) {\r\n resolve(retObj.retVal.split(\"&&&\")[0].split(\"||\")[1])\r\n })\r\n })\r\n let rn = Math.random()\r\n this.form[\"rn\"] = rn\r\n window.SOF_SignData(certId, rn, this.signData_callback, {\r\n certId: certId,\r\n })\r\n // --------------登录成功对数据进行签名结束\r\n },\r\n async signData_callback(retObj) {\r\n if (retObj.retVal == \"\") {\r\n this.caInfo.error_text = \"数据签名失败\"\r\n this.caInfo.have_error_info = true\r\n this.dialogVisible.showInfo = true\r\n return\r\n }\r\n this.form[\"sign\"] = retObj.retVal\r\n // 签名成功获取其他信息后端登录接口所需信息-------\r\n var certId = retObj.ctx.certId\r\n // 导出用户证书\r\n let userCert = await new Promise((resolve) => {\r\n window.SOF_ExportUserCert(certId, function (retObj) {\r\n resolve(retObj.retVal)\r\n })\r\n })\r\n this.form[\"username\"] = userCert\r\n if (userCert) {\r\n var certInfoTypeArray = {\r\n caAddrProvince: { type: 16, label: \"使用者省州名ST\" }, //caAddr\r\n caAddrcity: { type: 18, label: \"使用者城市名L\" }, //caAddr\r\n caEffectiveDate: { type: 11, label: \"证书有效开始日期\" }, //caEffectiveDate\r\n caExpireDate: { type: 12, label: \"证书有效结束日期\" }, //caExpireDate\r\n caInfo: { type: 35, label: \"使用者DN项第2种格式\" }, //caInfo\r\n //caCode\r\n //username\r\n caSn: { type: 2, label: \"证书序列号\" }, //caSn\r\n caType: { type: 34, label: \"颁发者DN项第1种格式\" }, //caType\r\n }\r\n // 导出证书成功,解析证书基本项\r\n for (let key in certInfoTypeArray) {\r\n let certInfo = await new Promise((resolve) => {\r\n window.SOF_GetCertInfo(\r\n userCert,\r\n certInfoTypeArray[key].type,\r\n function (retObj) {\r\n resolve(retObj)\r\n },\r\n { key: key }\r\n )\r\n })\r\n this.form[certInfo.ctx.key] = certInfo.retVal\r\n }\r\n let bindParams = {\r\n caSn: this.form[\"caSn\"],\r\n caInfo: this.form[\"caInfo\"],\r\n caAddr: this.form[\"caAddrProvince\"] + this.form[\"caAddrcity\"],\r\n caCode: this.form[\"caInfo\"]\r\n .split(\",\")\r\n .filter((v) => {\r\n return v.search(/^title=/i) != -1\r\n })[0]\r\n .replace(/title=/i, \"\"),\r\n username: this.form[\"caInfo\"]\r\n .split(\",\")\r\n .filter((v) => {\r\n return v.search(/^cn=/i) != -1\r\n })[0]\r\n .replace(/cn=/i, \"\"),\r\n caEffectiveDate: formateTime(this.form[\"caEffectiveDate\"]),\r\n caExpireDate: formateTime(this.form[\"caExpireDate\"]),\r\n // region: this.readForm.region,\r\n pass: this.loginForm.password,\r\n caType: \"北京ca\",\r\n sign: this.form.sign,\r\n rn: this.form.rn,\r\n cert: this.form.username,\r\n }\r\n this.form = bindParams\r\n this.loginForm = {\r\n cert: this.form.cert,\r\n sign: this.form.sign,\r\n rn: this.form.rn,\r\n caInfo: this.form.caInfo, //CA信息\r\n caAddr: this.form.caAddr, //设备归属地\r\n caCode: this.form.caCode, //证书代码\r\n caName: this.form.username, //证书名称\r\n caSn: this.form.caSn, //CA唯一码\r\n caEffectiveDate: this.form.caEffectiveDate, //生效时间\r\n caExpireDate: this.form.caExpireDate, //过期时间\r\n loginType: \"3\",\r\n username: this.form.username,\r\n }\r\n if (this.dialogVisible.showInfo == true) {\r\n this.loading = false\r\n } else if (this.loginForm.username != undefined) {\r\n this.$emit(\"caSuccess\", this.loginForm, () => {\r\n this.loading = false\r\n })\r\n } else {\r\n this.msgErr(\"请插入CA\")\r\n }\r\n }\r\n },\r\n handleClose(done) {\r\n this.$confirm(\"确认关闭?\")\r\n .then(() => {\r\n done()\r\n this.loading = false\r\n })\r\n .catch(() => {})\r\n },\r\n msgErr(msg) {\r\n this.loading = false\r\n this.$message.error(msg)\r\n },\r\n },\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n::v-deep .el-input__prefix {\r\n display: flex;\r\n align-items: center;\r\n left: 1.04vw;\r\n}\r\n::v-deep .el-form-item__error {\r\n font-size: 0.04vw;\r\n}\r\n::v-deep .el-input__icon {\r\n color: #409eff;\r\n width: 0.98vw;\r\n height: 1.14vw;\r\n}\r\n::v-deep .el-input__inner {\r\n padding: 0 3.64vw;\r\n height: 2.81vw;\r\n font-size: 1.04vw;\r\n border: 0.1vw solid #409eff;\r\n}\r\n::v-deep .el-input .el-input__clear {\r\n font-size: 1.24vw;\r\n}\r\n::v-deep .el-input__suffix {\r\n right: 1.04vw;\r\n top: 0.46vw;\r\n}\r\n.el-form-item {\r\n margin-bottom: 1.2vw;\r\n margin-top: 1vw;\r\n}\r\n.ca-download-box {\r\n display: flex;\r\n justify-content: right;\r\n align-items: center;\r\n margin: 10px 0;\r\n .ca-download-text {\r\n color: #53a8ff;\r\n font-size: 14px;\r\n font-weight: 400;\r\n }\r\n .ca-download-img {\r\n width: 10px;\r\n height: 10px;\r\n background: url(\"comp/YcCA/images/ca-download.png\") no-repeat;\r\n background-size: 100% 100%;\r\n margin-left: 2px;\r\n }\r\n}\r\n.contentBox {\r\n width: 100%;\r\n height: 50px;\r\n margin-bottom: 15px;\r\n}\r\n.ca-bg-box {\r\n background-color: #ecf5ff;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n padding: 30px 70px;\r\n position: relative;\r\n -webkit-animation: fadeinout 1s linear forwards;\r\n animation: fadeinout 1s linear forwards;\r\n .ca-bg-img {\r\n width: 97px;\r\n height: 57px;\r\n background: url(\"comp/YcCA/images/ca-bg.png\") no-repeat;\r\n background-size: 100% 100%;\r\n }\r\n}\r\n@-webkit-keyframes fadeinout {\r\n 0% {\r\n opacity: 0;\r\n }\r\n 50% {\r\n opacity: 0.5;\r\n }\r\n 100% {\r\n opacity: 1;\r\n }\r\n}\r\n\r\n@keyframes fadeinout {\r\n 0% {\r\n opacity: 0;\r\n }\r\n 50% {\r\n opacity: 0.5;\r\n }\r\n 100% {\r\n opacity: 1;\r\n }\r\n}\r\n.ca-bg-info {\r\n display: flex;\r\n padding: 40px 70px 40px 25px;\r\n position: relative;\r\n background: url(\"comp/YcCA/images/caBg.png\") no-repeat;\r\n background-size: 100% 100%;\r\n -webkit-animation: fadeinout 1s linear forwards;\r\n animation: fadeinout 1s linear forwards;\r\n}\r\n.ca-bg-text {\r\n margin-left: 15px;\r\n font-size: 18px;\r\n font-weight: 500;\r\n color: #53a8ff;\r\n}\r\n.caName {\r\n margin-left: 10px;\r\n color: #303133;\r\n}\r\n.ca-refresh {\r\n position: absolute;\r\n top: 6px;\r\n right: 8px;\r\n width: 25px;\r\n height: 25px;\r\n}\r\n.login-btn {\r\n height: 2.81vw;\r\n font-size: 1.04vw;\r\n font-weight: bold;\r\n background: url(\"comp/YcCA/images/login-btn-bg.png\") no-repeat;\r\n background-size: 100% 100%;\r\n border: none;\r\n}\r\n</style>\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-124.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-124.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=780f0723&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=780f0723&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"780f0723\",\n null\n \n)\n\nexport default component.exports","import YcSlideVerify from 'comp/YcSlideVerify'\r\nimport YcCustomerService from 'comp/YcCustomerService'\r\nimport YcQuestion from 'comp/YcQuestion'\r\nimport YcCA from 'comp/YcCA'\r\n\r\n\r\nconst components = [\r\n YcSlideVerify,\r\n YcCustomerService,\r\n YcQuestion,\r\n YcCA\r\n]\r\n// 定义 install 方法,接收 Vue 作为参数。如果使用 use 注册插件,则所有的组件都将被注册\r\nconst install = function (Vue) {\r\n // 遍历注册全局组件\r\n components.forEach(component => {\r\n Vue.component(component.name, component)\r\n })\r\n\r\n // 判断是否是直接引入文件,如果是,就不用调用 Vue.use()\r\n if (typeof window !== 'undefined' && window.Vue) {\r\n install(window.Vue)\r\n }\r\n}\r\n\r\n// 导出的对象必须具有 install,才能被 Vue.use() 方法安装\r\nexport default {\r\n install\r\n}\r\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n"],"names":["root","factory","exports","module","define","amd","self","this","isCallable","tryToString","$TypeError","TypeError","argument","isObject","$String","String","toIndexedObject","toAbsoluteIndex","lengthOfArrayLike","createMethod","IS_INCLUDES","$this","el","fromIndex","value","O","length","index","includes","indexOf","DESCRIPTORS","isArray","getOwnPropertyDescriptor","Object","SILENT_ON_NON_WRITABLE_LENGTH_SET","undefined","defineProperty","writable","error","uncurryThis","toString","stringSlice","slice","it","hasOwn","ownKeys","getOwnPropertyDescriptorModule","definePropertyModule","target","source","exceptions","keys","f","i","key","createPropertyDescriptor","object","bitmap","enumerable","configurable","makeBuiltIn","defineGlobalProperty","options","simple","name","global","unsafe","nonConfigurable","nonWritable","fails","get","documentAll","document","all","IS_HTMLDDA","EXISTS","createElement","MAX_SAFE_INTEGER","navigator","userAgent","match","version","process","Deno","versions","v8","split","createNonEnumerableProperty","defineBuiltIn","copyConstructorProperties","isForced","FORCED","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","prototype","dontCallGetSet","forced","sham","exec","test","bind","hasOwnProperty","NATIVE_BIND","call","Function","apply","arguments","FunctionPrototype","getDescriptor","PROPER","CONFIGURABLE","uncurryThisWithBind","fn","aFunction","namespace","method","aCallable","isNullOrUndefined","V","P","func","check","Math","globalThis","window","g","toObject","a","classof","$Object","propertyIsEnumerable","store","functionToString","inspectSource","set","has","NATIVE_WEAK_MAP","shared","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","WeakMap","enforce","getterFor","TYPE","state","type","metadata","facade","STATE","Array","$documentAll","replacement","feature","detection","data","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","getBuiltIn","isPrototypeOf","USE_SYMBOL_AS_UID","$Symbol","toLength","obj","CONFIGURABLE_FUNCTION_NAME","InternalStateModule","enforceInternalState","getInternalState","join","CONFIGURABLE_LENGTH","TEMPLATE","getter","setter","arity","constructor","ceil","floor","trunc","x","n","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","anObject","toPropertyKey","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","WRITABLE","Attributes","current","propertyIsEnumerableModule","internalObjectKeys","enumBugKeys","concat","getOwnPropertyNames","getOwnPropertySymbols","push","names","result","$propertyIsEnumerable","NASHORN_BUG","input","pref","val","valueOf","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","uid","SHARED","IS_PURE","mode","copyright","license","V8_VERSION","symbol","Symbol","toIntegerOrInfinity","max","min","integer","IndexedObject","requireObjectCoercible","number","isSymbol","getMethod","ordinaryToPrimitive","wellKnownSymbol","TO_PRIMITIVE","exoticToPrim","toPrimitive","id","postfix","random","NATIVE_SYMBOL","iterator","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","$","setArrayLength","doesNotExceedSafeInteger","INCORRECT_TO_LENGTH","properErrorOnNonWritableLength","proto","item","len","argCount","xtxasyn","XTXAsynHashMap","map","put","remove","removeAll","keySet","_keys","HashMap","initUtilObject","util","checkBrowserISIE","ActiveXObject","checkLocationIsHttps","location","protocol","evalFunction","cb","eval","consolelog","param","console","log","isEmpty","loadIECtl","clsid","ctlName","checkFunc","ctl","getElementById","loadObjString","write","e","getAutoExecFunctionString","ret","attachIEEvent","eventName","eventFunc","attachEvent","handler","setAttribute","eventScript","appendChild","createTextNode","getElementsByTagName","loadWebSocketCtl","wsUrl","wssUrl","wsObject","url","socket","wsMessageQueue","wsMessageQueueId","wsEventQueue","wsURL","wsCacheMessage","custom","defaultUsbkeyChange","WebSocket","onopen","evt","SOF_GetVersion","retVal","tb_send","shift","send","onclose","XTXAppWebSocket","onmessage","res","JSON","parse","cmdId","methodName","execFunc","messageQueue","ctx","returnType","Number","token","setToken","retObj","onerror","attachWebSocketEvent","callWebSocketMethod","argsArray","sendArray","href","strParam","getToken","readyState","OPEN","stringify","CONNECTING","SynToAsyn","initCustomActions","softCertListID","hardCertListID","allCertListID","loginCertID","logoutFunc","UsbkeyChangeFunc","loginToken","errorReportFunc","msg","alert","setAutoLogoutParameter","strCertID","clearDropList","dropListId","pushOneDropListBox","userListArray","strListID","certObj","objItem","Option","certName","certID","add","pushUserListToAllDroplist","strUserList","allListArray","strOneUser","substring","strName","GetDeviceInfo","setUserCertList","certListId","certType","CERT_TYPE_ALL","CERT_TYPE_HARD","CERT_TYPE_SOFT","SOF_GetUserList","setOnUsbKeyChangeCallBack","callback","setErrorReportFunc","errFunc","autoLogoutCallBack","initXTXAppCOM","XTXAppCOM","xtx_clsid","GetPicObj","getpic_clsid","GetPic","Hash","inData","ConvertPicFormat","ConvertGif2Jpg","GetPic1","ConvertPicSize","strPicture","w","h","XTXVersionOBJ","xtx_version_clsid","GetEnvVersion","initXTXAppWebSocket","initXTXAppObject","getImplmentFunction","methodInfo","inParams","funcName","outParamType","export_functions","aliasName","SetAutoLogoutParameter","SetUserCertList","SetOnUsbKeyChangeCallBack","SetAlertFunction","custom_alert","GetLoginToken","SetLoginToken","tokenData","GetUserListByType","strType","GetDeviceType","userList","GetUserList_USBKey","GetUserList_Soft","SignByP7","strInData","bDetach","SOF_SignMessage","GetSymKeyLength","HashFile","strFilePath","SOF_HashFile","ParseDateString","strDate","strYear","strMonth","strDay","strHour","strMin","strSecond","RtnDate","Date","setFullYear","setHours","setMinutes","setSeconds","__loginSignRandomCallBack","objForm","UserSignedData","LoginToken","action","submit","__loginVerifyServerSignatureCallBack","SOF_SignData","strServerRan","__loginCheckCertValidNotAfter","notAfterDate","milliseconds","getTime","days","parseInt","hours","minutes","SOF_VerifySignedData","strServerCert","strServerSignedData","__loginCheckCertValidNotBefore","notBeforeDate","strUserCert","UserCert","SOF_GetCertInfo","__loginGetSignCertCallBack","__loginGetPINRetryCallBack","retryCount","__loginVerifyPINCallBack","CertID","ContainerName","SOF_ExportUserCert","SOF_GetPinRetryCount","Login","formName","strPin","strAction","custom_cb","insertAdjacentHTML","SOF_Login","mToken","SAR_OK","SAR_FALSE","SGD_SM1_ECB","SGD_SM1_CBC","SGD_SM1_CFB","SGD_SM1_OFB","SGD_SM1_MAC","SGD_SSF33_ECB","SGD_SSF33_CBC","SGD_SSF33_CFB","SGD_SSF33_OFB","SGD_SSF33_MAC","SGD_SM4_ECB","SGD_SM4_CBC","SGD_SM4_CFB","SGD_SM4_OFB","SGD_SM4_MAC","SGD_VENDOR_DEFINED","SGD_DES_ECB","SGD_DES_CBC","SGD_3DES168_ECB","SGD_3DES168_CBC","SGD_3DES112_ECB","SGD_3DES112_CBC","SGD_AES128_ECB","SGD_AES128_CBC","SGD_AES192_ECB","SGD_AES192_CBC","SGD_AES256_ECB","SGD_AES256_CBC","SGD_RSA","SGD_SM2_1","SGD_SM2_2","SGD_SM2_3","SGD_SM3","SGD_SHA1","SGD_SHA256","SGD_RAW","SGD_MD5","SGD_SHA384","SGD_SHA512","SGD_CERT_VERSION","SGD_CERT_SERIAL","SGD_CERT_ISSUE","SGD_CERT_VALID_TIME","SGD_CERT_SUBJECT","SGD_CERT_DER_PUBLIC_KEY","SGD_CERT_DER_EXTENSIONS","SGD_CERT_NOT_BEFORE","SGD_CERT_ISSUER_CN","SGD_CERT_ISSUER_O","SGD_CERT_ISSUER_OU","SGD_CERT_ISSUER_C","SGD_CERT_ISSUER_P","SGD_CERT_ISSUER_L","SGD_CERT_ISSUER_S","SGD_CERT_ISSUER_EMAIL","SGD_CERT_SUBJECT_CN","SGD_CERT_SUBJECT_O","SGD_CERT_SUBJECT_OU","SGD_CERT_SUBJECT_EMALL","SGD_REMAIN_TIME","SGD_SIGNATURE_ALG","SGD_CERT_SUBJECT_C","SGD_CERT_SUBJECT_P","SGD_CERT_SUBJECT_L","SGD_CERT_SUBJECT_S","SGD_CERT_CRL","SGD_DEVICE_SORT","SGD_DEVICE_TYPE","SGD_DEVICE_NAME","SGD_DEVICE_MANUFACTURER","SGD_DEVICE_HARDWARE_VERSION","SGD_DEVICE_SOFTWARE_VERSION","SGD_DEVICE_STANDARD_VERSION","SGD_DEVICE_SERIAL_NUMBER","SGD_DEVICE_SUPPORT_SYM_ALG","SGD_DEVICE_SUPPORT_ASYM_ALG","SGD_DEVICE_SUPPORT_HASH_ALG","SGD_DEVICE_SUPPORT_STORANGE_SPACE","SGD_DEVICE_SUPPORT_FREE_SAPCE","SGD_DEVICE_RUNTIME","SGD_DEVICE_USED_TIMES","SGD_DEVICE_LOCATION","SGD_DEVICE_DESCRIPTION","SGD_DEVICE_MANAGER_INFO","SGD_DEVICE_MAX_DATA_SIZE","TRUE","FALSE","GM3000","K5","TF","HT","SJK1137","TYPE_UKEY","TYPE_FPKEY","g_mTokenPlugin","isMobile","browser","u","appVersion","trident","presto","webKit","gecko","mobile","ios","android","iPhone","iPad","webApp","language","browserLanguage","SOF_GetLastError","SOF_LoadLibrary","os","check_os","mTokenPlugin","SOF_EnumDevice","array","SOF_GetDeviceInstance","DeviceName","ApplicationName","SOF_ReleaseDeviceInstance","list","user","KeySpec","SOF_GetDeviceInfo","Type","Base64EncodeCert","SOF_GetCertInfoByOid","OID","PassWd","SOF_LogOut","SOF_ChangePassWd","OldPassWd","NewPassWd","SOF_SetDigestMethod","DigestMethod","SOF_SetUserID","UserID","SOF_SetEncryptMethodAndIV","EncryptMethod","EncryptIV","SOF_EncryptFileToPKCS7","Cert","InFile","OutFile","SOF_SignFileToPKCS7","SOF_VerifyFileToPKCS7","strPkcs7Data","InFilePath","SOF_DecryptFileToPKCS7","keySpec","Pkcs7Data","SOF_DigestData","nData","InDataLen","ulKeySpec","InData","SOF_SignDataInteractive","SOF_SignDataToPKCS7","ulDetached","SOF_VerifyDataToPKCS7","SignedValue","digestMethod","SOF_EncryptDataPKCS7","SOF_DecryptDataPKCS7","SOF_GenRemoteUnblockRequest","SOF_GenResetpwdResponse","request","soPin","userPin","SOF_RemoteUnblockPIN","OriginalText","SOF_ExportPubKey","containerName","cerType","expType","SOF_EncryptByPubKey","strPubKey","strInput","SOF_DecryptByPrvKey","strAsymCipher","SOF_GenerateP10Request","deviceName","container","dn","asymAlg","keyLength","SOF_EnumCertContiner","SOF_FindContainer","certSN","SOF_DeleteCert","SOF_DeleteContainer","SOF_SignByCert","plain","SOF_VerifyByCert","signature","SOF_ImportCert","cert","SOF_ImportCryptoCertAndKey","nAsymAlg","EncryptedSessionKeyData","symAlg","EncryptedPrivateKeyData","SOF_VerifyByExtCert","SOF_GenerateRandom","SOF_SymEncryptFile","sessionKey","srcfile","destfile","SOF_SymDecryptFile","SOF_SymEncryptData","SOF_SymDecryptData","SOF_GenerateQRCode","qrcode_text","SOF_VerifyPinMS","responseKey","SOF_GetHardwareType","SOF_VerifyFingerprint","SOF_EnumFiles","SOF_ReadFile","fileName","offset","SOF_WriteFile","SOF_CreateFile","readRight","writeRight","SOF_DeleteFile","hasPlugin","plugins","windows","linux","linuxWin","undef","nativeSplit","compliantExecNpcg","str","separator","limit","separator2","lastIndex","lastLength","output","flags","ignoreCase","multiline","extended","sticky","lastLastIndex","RegExp","_xmlhttp","retJSON","_curDevName","AjaxIO","json_in","router","json","invoke","_url","XMLHttpRequest","open","setRequestHeader","GetHttpResult","status","responseText","errorCode","rtn","mac","info","envelopData","signed","digest","InDataBase64","encrypedData","decryptedData","pkcs7","pubKey","asymCipher","asymPlain","SOF_CreateKeyPair","outData","qrcode_text_in","SocketConnect","HostName","Port","SocketDisConnect","SocketSendText","SendText","RecvText","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","__esModule","d","definition","o","prop","r","toStringTag","p","currentScript","src","render","_vm","_c","_self","attrs","title","isShow","on","handleClose","ref","imgs","accuracy","sliderText","onSuccess","onFail","onAgain","onRefresh","onFulfilled","staticRenderFns","props","default","Boolean","countDownNum","computed","watch","newVal","$refs","slideblock","reset","created","methods","$emit","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","existing","beforeCreate","component","staticStyle","visible","jumpPage","regular","$event","staticClass","_t","_m","_v","directives","rawName","expression","_s","enlarge","_e","close","_l","messagelist","class","domProps","regularClick","based","handExpand","isActive","minRows","maxRows","nativeOn","_k","keyCode","carriageReturn","model","textareaValue","$$v","commit","questions","event","code","search","filter","faq","vlaue","reduce","prev","curr","fun","$nextTick","main","scrollTop","scrollHeight","mixins","chatMixin","components","chatVue","hasSlot","$slots","$route","to","path","customer","style","display","mounted","currData","preventDefault","activeNames","questionsList","slot","getHours","getMinutes","loginForm","loginRules","username","require","caRead","handleLogin","password","$set","loading","dialogVisible","showInfo","caInfo","error_text","_keyStr","_Base64encode","chr1","chr2","chr3","enc1","enc2","enc3","enc4","_utf8_encode","charCodeAt","isNaN","charAt","in_string","utftext","c","fromCharCode","hunca_mToken_core","libraryNameList","platform","LAST_ERRORSTRING","KEY_SPEC_TYPE_ENCRYPT","KEY_SPEC_TYPE_SIGN","USER_ID","ERROR_MESSAGE_NOT_LOADLIBRARY","ERROR_MESSAGE_NOT_FIND_UKEY","ERROR_MESSAGE_NOT_INSTANCE_DEVICE","ERROR_MESSAGE_USERPIN_LENGTH","ERROR_MESSAGE_USERPIN_IS_ERROR","ERROR_MESSAGE_USERPIN_CHANGE_ERROR","ERROR_MESSAGE_KEY_NOT_EXIT","ERROR_MESSAGE_USERNAME_IS_NULL","ERROR_MESSAGE_KEY_EXPORT_CERT","ERROR_MESSAGE_SET_DIGEST_METHOD_ERROR","ERROR_MESSAGE_SET_USERID_ERROR","ERROR_MESSAGE_SIGN_ORIGINALDATA_IS_NULL","ERROR_MESSAGE_SIGN_ERROR","ERROR_MESSAGE_USERNAMEGN_IS_NULL","ERROR_MESSAGE_USERNAMEGN_TO_USERNAME_ERROR","ERROR_MESSAGE_KEY_LIBRAY","ERROR_MESSAGE_ENCRYPT_DATA_IS_NULL","ERROR_MESSAGE_DECRYPT_DATA_IS_NULL","ERROR_MESSAGE_DECRYPT_DATA_IS_ERROR","ERROR_MESSAGE_GET_REMOTEUNLOCKREQUEST_FAIL","ERROR_MESSAGE_GET_REMOTEUNLOCKREQUEST_NOT_SUPPORT","ERROR_MESSAGE_REMOTE_UNLOCK_FAIL","tokenInfoList","signResultSignData","signResultCert","certSn","cert_subject_GN","cert_subject","cert_validTime","cert_notbeforetime","libraryName","resultCode","deviceNameList","m_userPin","RetryCount","SOF_ChangeUserPin","oldUserPin","newUserPin","m_oldUserPin","m_newUserPin","SOF_GetDeviceNumber","deviceNumber","keySec","certBase64","resCode","encryptData","inDataBase64","m_inData","m_EncrypedData","m_DecryptData","signData","b64Data","m_data","subject","tmpList","validTime","notBeforetime","hexToDec","SOF_RemoteUnlockPIN","response","y","base","z","carry","xi","yi","zi","multiplyByNumber","num","power","parseToDigitsArray","digits","ary","convertBase","fromBase","toBase","outArray","out","hexStr","Hunca_GetLastError","Hunca_GetUserList","deviceArray","userName","tmpInfo","tokenInfo","serial","userNameList","Hunca_GetUserListGN","certB64","deviceSerial","subjectGN","userNameGNList","Hunca_userNameGNToUserName","userNameGN","Hunca_GenRemoteUnblockRequest","tempTokenInfo","HUnca_GetDeviceNumber","m_devNumber","Hunca_RemoteUnlockPIN","Hunca_ChangeUserPin","Hunca_PKCS1","originalData","Hunca_GetSignData","Hunca_GetSignCert","Hunca_GetSignCertSn","Hunca_GetSignCertSubject","Hunca_GetValidTime","HUnca_GetNotBeforeTime","Hunca_DealCertInfo","signResultInfo","certInfo","Hunca_EncryptDataPKCS7","m_EncryptMethod","m_EncryptIV","Hunca_DecryptDataPKCS7","m_EncryptData","resData","_Base64decode","formateTime","dateStr","year","month","date","minute","second","region","form","have_error_info","uuid","ca","required","trigger","message","isBJCA","caReadBeijin","tempName","Promise","resolve","caLogin","flag","HNCALogin","$message","tempuserName","rn","ca_cert","sign","cert_notBeforeTime","tempinfo","tempinfo1","forEach","caAddr","ST","OU","caCode","TITLE","caName","GN","caSn","caEffectiveDate","caExpireDate","loginType","validate","valid","BJCALogin","msgErr","certId","time_begin","passwd","SOF_LoginEx","login_callback","begin","that","BJSignData","err","signData_callback","userCert","certInfoTypeArray","caAddrProvince","label","caAddrcity","caType","bindParams","v","pass","done","$confirm","then","catch","YcSlideVerify","YcCustomerService","YcQuestion","YcCA","install","Vue"],"sourceRoot":""}
|