{{item.text}}
++ {{item.content}} +
+{{ value.length + '/' + max}}
+{{showTime}}
+{{title}}
+S%^z^WAW1Y*bbtPv*=>->c`E`aEjaAok_9JK!4h;s zBAa3`-@C2Z298m76Qzi$N5vnU!WiJeTv{X^mLo?1XB6gWPkCw1@&c6k5%Yfsri;bt zKuBQ=cIJ@~vVwWvK^R@vz_NJ!_k? &$IJlR5>g4kul7`4z?dNU>irZJVp&2DtbwpOQBP@w#|!iyHwYNs=+@< zQqX=JU6m3Z^AR%s_~WwUJ@C?xDTnSSdmld8&F#kgeAhBs>;jgdMyXCWYoQA)7ozp% z?DK3=Y!Q244M=|1B4z<4k(ixEj0roau~rRC54)%U;oWT85v&48;c5)buOilXvQfq7 zo2^ziZmd>kv3DNLdJ?McT~ir~taq!q99+ub$l&0$xt!`=9~r8w@#<=VA1H5YZl0Mr zkV>Xf2WDnAHMdr--O82g2W~8CnUE7Zyz(a$XE3W3ZydN@;ahP~#S2|LAig6O wy-6O5J>sp8O3pUwNEwLuqOp@9}k1`g`)d@@eyw)iO2zp^6a*7zn)Po4iK1^&bR1 zV?jSUAY}7|i?Btpe-px5GBPhAh7fjDy0~S*Ln@I7hR2B_AJ({Bfw1ZV-97hpQWA=@ zaN#B^u0%WC*C}neLnzJ3$(t&boZB;0j8=lX*1F $mrt<(@Ioo?qNco(@=`b?sy{+~-?3Le`Ow81A z>QQxZPDj#|EyBQ|G9}SWV>3l_#N&Hft(g}>i9`tZf3ss{&2T*$+X@36Ci~V{)Pm!q zQ7BN*RHng>xk@{)+z=dl06+0Zqki1KWyi`EUL78q2?e83s$}Nw61569Yzb}{#i4ON zM8=Em oGE{oBNEiG =S1K8>2_gj!XTUNdlac^GYZvt42YQ4QCmq+LGgCRaWl zL&bQ3f2)2t7Oym#_r#*(&4#NI2pVoz8KG-j^})%k3JL|^<%tTz9gVI@dpwE=dwgk^ zOLM4h_Z`CzuccFGaqsYTpg*tb@p=<#C_eIx;li%FJ9_tA0`^)U)Zf2z1nYHGf9}YJ z4I6K|`s$-;XvgN?x2m;meQ{L;gLC8K%~q|tJ>G}C2BgMX{5QR$W8*gkLgSOw8+^|M zJ-RawXRfa2gKIUM-Ga^RP!N7yxZSDgcs!^n5s%xe2)Md4UUd1zYSDwP`TW926!QB9 zy?r x`s-(5*-Iw%SCTrUnZgO^$VXSJ<>-rYp3WQ7L0yFANzTxW?Kb{L6M{x8 zP7Pk5XM+Oes<{jA?Ru*hl?9?VC&Q^?IZxJk#tAkD4tghh5cAVzSCH0@9ys0u>pido z?glFfK%SgvmM+f{SIFwAgfCb-j4&tyUFg|vpHIj=O6=vCKj>zeKj`i+=DOz|Zye5M zhv^m_+nkuT 7kn^SL7Z11&zf~DS733j<+95a0MKhV>mt=9U1dBPjjS0cUOzr| zs8%~TI<`BXZv;aD&T;mnl`rfX8QDKRe$&v<_H2JGVEE{Of2wpOSnu!OIyks@c=) -F$KK_ObD63q=rUkaL{BZ5IpI zjE&wpF>&+A$j)4DG7zLzL!m}Kw_^ylDE3ta|McJ%nA{NSs6800WwTq#m1~BE_LNF< z>C}kN@8ulF^v2TZ4FkpPWxS9W5Xm~6J02Fe_*dd@#24jx{xR@-@PBrKy@P#_eTsdN zy@>g?w10?JQr*R+sR@oJ#by#&2%ZbiyQ7-R6?i%@fc=!f)6jI4dvI_^)9_*+1efb+RAsht z(86yRHyJrUMOxU+kEptes`sM_id3Idd8(K=*H ~z~_59 zGUmnr5P4Lw^l7K@v?ryZ`-pVtAOEI`{jT9K#&DB+7(&l{R#Cb&qXFIdN9hQ4KaviG zJRW)fi^q*V--Ny++7G4uA*b%{Lw|G^MT)ZYvJlR^|7pL|iEcmbaw{hl#hwto&-JwK zBp&A=SpfQd9-hP^tFm=$J9a6clU0_LYElodL#xNF9TbxF@a~a2ux+W3l_;ES?WVPL zq|?%3^-+X0y$Uv2pHm%f&u}JNzP~c2ER0p|FK08u9=Aiqp7=$!=|ujy)X>n;bu)A3 zr}HN^&CRSkIy970uJ7MiEN<+-zx~L@jgPeN=Zn~2UKg(>+KtA+;o;(kM~=_V9v}H| zad`M(qtQ-O wGUb6MZ{slWR>u+le2^=JVN)(753c zlH*>4+-tKp6D1M%f#OSS2G)$N*GQd4tU6=6`cNSb2GM(VCN{yy-C!%qZ90wseF;Vq zYNhGGAHEQ(z~exz*jrW#yZe?~-#LiiJ8!+^?q0Y#F}^v1-{$d&W)IAdWQzkkvDG>< zJPan4?eB}{3|i)RU;oBhUn0?0tN!xFjlW#A;Eg@c#p30ySS?;;m$hTJx%9_974)xe zdgJ8m%wsdNlVlj#;Ko%YFxO7D=HmCoOOW4gmSIEKyPLzV*ln~=+bc)u(8g*Rxk`fe z2*M_PpwzWN;JR3bo8imqfKLyLW7`)!67++!BO|kPAI0|oQ&adZz ?7F%9g@x#J^On|j zA!SDwTKX?tXeBR4BgM_XX#?GFH25w%W9hFid7?aMXTXnOjrR<`(ZV+}l46z#M=}|B zKR{KN(xRlTHVB6dRY`Ty6an!m%s!rAohBHpl >yk zgVuQi`)EUFRch-yXQmJK@1rf<`=)!3@lM}ITfY1H4^Gd#bL*=1u!hPqKglz!sm)Dv zi)AjK(Fb3Fhr#A4lEbuDu@7>^k~39u2Zh~r^UY_5hJ;ec-?x3+UaK!O?G_3D)Td&x zQhDOQfjbZE-t%ywP%OR~-(JxCTeN *cCtKA@H2XZcd1g}bO$;)BLQh7F;ULTj=gvgLGaa9X)1EO5SX})rS zEwH W3Vl%UVt$3P{*S zAPbG?bHM5v+7z6u0?`O_m(g%ChVLP59F$lI*hcfN^UzK%=L1+K2mq2Afb~QxlM&b{ zHRND2aB@)EEHp9JCFh1_s2ZtNBWp;b0%T3Nb)XS&M1#F(O|muNKUcWC+yJoiDwBi> zkwOjlfgFUxoI*U3u#G@~fkV|oty)+^E^A;P@NO9g3+0+bM%r2J;-dvnnQrE#z%n%e zC=)3F<%v)VjT*=YIiM!^x8+w0L|N7)iOV9oTD7r;OiM;vkMxs!kQTU-fEUjGjE?q3 zaiJ89JyjSuxS#NOGd_RTPak)x #HJSxF9WfF+lb1Ezvz z)SfLnqI#15kLbZB2kO=T-vgBlZo@B<8gP)Q`?D67R+ U@K()e>X1t;{nj_B{cqXjjIS31`G`f82f(V-7g;Wuloset1|sR zzWRkb39w>Vm#@S6CQBT4iu~a{`Tugr0fe9WdbcK-q+r&n$x72}NW)Xavxv{(K7;#P zxI4HP?05s>IV;USh8WNJ4*MBHO!s5B&)RuZegQYdZ?*HbAwG* ?%3%E z5I==`kDYfO@#k@m;hx9+IBqISH J%u}mJAj+==w8zU%RFS$Io=4%!r%I4 zoS=IJo{7&Z r{Cwa2iCps9 SO=~)<{t7&D^y{veOxS^s{f@m}oV*7%tN@<3VcI2X*{}-uAscqU#}Kt) z4f)$`*o8g)Gw_OW)j*C9Pb^pgeAI>o;29fM0l&qD9oVbS*|3KEYi-ztZ@E5k*X_se zIez?Je7<};jzQmp`#8II-{Jcoxa;`6x!QP@?ZY|T``H61fCs3j#>QFoif>&p^V-8l zA3ApEel&U*9eoI&lN@6AU$Nxo .swiper-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.swiper-container-multirow>.swiper-wrapper{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-slide{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:100%;height:100%;position:relative;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform,-webkit-transform}.swiper-invisible-blank-slide{visibility:hidden}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-transition-property:height,-webkit-transform;transition-property:height,-webkit-transform;-o-transition-property:transform,height;transition-property:transform,height;transition-property:transform,height,-webkit-transform}.swiper-container-3d{-webkit-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear,right top,left top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(right,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(right,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(bottom,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(bottom,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-wp8-horizontal,.swiper-container-wp8-horizontal>.swiper-wrapper{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-container-wp8-vertical,.swiper-container-wp8-vertical>.swiper-wrapper{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;background-size:27px 44px;background-position:center;background-repeat:no-repeat}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");left:10px;right:auto}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");right:10px;left:auto}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:.3s opacity;-o-transition:.3s opacity;transition:.3s opacity;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transform:scale(.33);-ms-transform:scale(.33);transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{-webkit-transform:scale(.66);-ms-transform:scale(.66);transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{-webkit-transform:scale(.33);-ms-transform:scale(.33);transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{-webkit-transform:scale(.66);-ms-transform:scale(.66);transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{-webkit-transform:scale(.33);-ms-transform:scale(.33);transform:scale(.33)}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:100%;background:#000;opacity:.2}button.swiper-pagination-bullet{border:none;margin:0;padding:0;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet-active{opacity:1;background:#007aff}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:6px 0;display:block}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);width:8px}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;-webkit-transition:.2s top,.2s -webkit-transform;transition:.2s top,.2s -webkit-transform;-o-transition:.2s transform,.2s top;transition:.2s transform,.2s top;transition:.2s transform,.2s top,.2s -webkit-transform}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 4px}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);white-space:nowrap}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:.2s left,.2s -webkit-transform;transition:.2s left,.2s -webkit-transform;-o-transition:.2s transform,.2s left;transition:.2s transform,.2s left;transition:.2s transform,.2s left,.2s -webkit-transform}.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:.2s right,.2s -webkit-transform;transition:.2s right,.2s -webkit-transform;-o-transition:.2s transform,.2s right;transition:.2s transform,.2s right;transition:.2s transform,.2s right,.2s -webkit-transform}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:#007aff;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top}.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{-webkit-transform-origin:right top;-ms-transform-origin:right top;transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progressbar,.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-container-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-white .swiper-pagination-bullet-active{background:#fff}.swiper-pagination-progressbar.swiper-pagination-white{background:rgba(255,255,255,.25)}.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill{background:#fff}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000}.swiper-pagination-progressbar.swiper-pagination-black{background:rgba(0,0,0,.25)}.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill{background:#000}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12,end) infinite;animation:swiper-preloader-spin 1s steps(12,end) infinite}.swiper-lazy-preloader:after{display:block;content:'';width:100%;height:100%;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-position:50%;background-size:100%;background-repeat:no-repeat}.swiper-lazy-preloader-white:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}@-webkit-keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube{overflow:visible}.swiper-container-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;background:#000;opacity:.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-flip{overflow:visible}.swiper-container-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-coverflow .swiper-wrapper{-ms-perspective:1200px} \ No newline at end of file diff --git a/common/utils.js b/common/utils.js new file mode 100644 index 0000000..73f43da --- /dev/null +++ b/common/utils.js @@ -0,0 +1,197 @@ +const utils = { + // 判断 空字符串 undefined null + isDNE: function (s) { + if (s === '' || s === undefined || s === null) { + return true; + } else { + return false; + } + }, + // 获取地址栏参数 + queryString: () => { + // 如果没有参数,返回false + if (window.location.search === '') { + return false; + } + // 获取地址栏参数部分 + var search = window.location.search.substr(1, window.location.search.length); + var data = {}; + // 以 ‘&’符号分割多个参数 + search.split('&').forEach((itme) => { + var val = itme.split('='); + data[val[0]] = val[1]; + }); + return data; + }, + // 把数字金额变成千分位的格式 + accountFormat: function (account) { + var operation = ''; // 操作符,为了显示负数 + // 如果参数非法,return 0.00 + if (account === '' || account === undefined || isNaN(account)) { + return '¥0.00'; + } else { + // 分割整数和小数部分 + var accountStr = account.toString().split('.'); + // 取出整数部分 保持到变量 ‘intNumber’ + var intNumber = accountStr[0]; + // 如果参数小于0,操作符变成 负 ‘-’ + if (account < 0) { + operation = '-'; + intNumber = intNumber.substr(1, intNumber.length); + } + var arr = []; // 千分位结果数组 + intNumber.split('').reverse().forEach((item, index) => { + // 如果是第三位数上,就新增一个逗号 ‘,’ + if (index !== 0 && index % 3 === 0) { + arr.push(','); + } + arr.push(item); + }); + } + /* + * 返回结果 + * 先翻转数组,然后拼接小数部分 + */ + return '¥' + operation + arr.reverse().join('') + (accountStr[1] > 0 ? '.' + accountStr[1] : '.00'); + }, + // 数组简单去重 + symbloArr: function (arr) { + // 利用数组简单去重 + var setMap = new Set(); + arr.forEach((item, index) => { + setMap.add(item); + }); + return setMap; + }, + // 倒计时 + countDown: function (date) { + if (date === '' || date === undefined) { + return false; + } + // 获取未来时间的毫秒数 + var future = new Date(date).getTime(); + // 获取当前时间的毫秒数 + var now = new Date().getTime(); + // 计算剩余天数 + var countDay = (future - now) / (24 * 60 * 60 * 1000); + // 截图天数的小数部分 + var countHour = countDay.toString().split('.')[1]; + // 计算剩余小时 + countHour = (('0.' + countHour) * 24); + // 截图小时的小数部分 + var countMinute = countHour.toString().split('.')[1]; + // 计算剩余分钟 + countMinute = ('0.' + countMinute) * 60; + // 截图分钟的小数部分 + var countSecond = countMinute.toString().split('.')[1]; + // 计算剩余秒 + countSecond = ('0.' + countSecond) * 60; + // 返回时间 + return { + day: parseInt(countDay), + hour: parseInt(countHour), + minute: parseInt(countMinute), + second: parseInt(countSecond), + text: `${parseInt(countDay)}天${parseInt(countHour)}小时${parseInt(countMinute)}分钟${parseInt(countSecond)}秒` + }; + }, + // 获取当前时间 + getcurrentDate: function (time, type) { + var date = ''; + if (time === '' || time === undefined) { + date = new Date(); + } else { + // 当前时间 + if (time > 0 || time < 0 || time === 0 ) { + var t = parseInt(time); + date = new Date(t); + } else { + date = new Date(time); + } + } + // 获取年份 + var year = date.getFullYear(); + // 获取月份 + var month = (date.getMonth() + 1) >= 10 ? (date.getMonth() + 1) : '0' + '' + (date.getMonth() + 1); + // 获取今天是几号 + var day = date.getDate() >= 10 ? date.getDate() : '0' + '' + date.getDate(); + // 获取小时 + var hour = date.getHours() >= 10 ? date.getHours() : '0' + date.getHours(); + // 获取分钟 + var minute = date.getMinutes() >= 10 ? date.getMinutes() : '0' + date.getMinutes(); + // 获取秒数 + var second = date.getSeconds() >= 10 ? date.getSeconds() : '0' + date.getSeconds(); + // 返回格式日期 + if (type === 'date') { + return year + '-' + month + '-' + day; + } else { + return year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second; + } + }, + // 压缩图片 + canvasCompress: function (imgFile, type, cb, ratios) { + // 如果压缩比例参数不存 就默认0.5 + var ratio = ''; + if (ratios === '' || ratios === null || isNaN(ratios)) { + ratio = 0.5; // 压缩为原来的多少(百分比) + } else { + ratio = ratios; // 压缩为原来的多少(百分比) + } + var width = imgFile.width; + var height = imgFile.height; + // 创建canvas标签,用于压缩图片 + var canvas = document.createElement('canvas'); + canvas.width = width; + canvas.height = height; + canvas.style.position = 'absolute'; + canvas.style.zIndex = '100'; + canvas.style.display = 'none'; + document.body.appendChild(canvas); + var point = canvas.getContext('2d'); + // 在canvas上面绘制图片 + point.drawImage(imgFile, 0, 0); + try { + // 压缩图片为blob + canvas.toBlob(function (blob) { + cb && cb(blob); + }, type, ratio); + } catch (e) { + // 如果不支持toBlob方法,就采用base64图片压缩 + cb && cb(dataURLtoBlob(canvas.toDataURL(type, ratio))); + } + // 把base64 转换为 blob + function dataURLtoBlob (dataurl) { + var arr = dataurl.split(','); + var mime = arr[0].match(/:(.*?);/)[1]; + var bstr = atob(arr[1]); + var n = bstr.length; + var u8arr = new Uint8Array(n); + while (n--) { + u8arr[n] = bstr.charCodeAt(n); + } + return new Blob([u8arr], {type: mime}); + } + } +}; +const wtDom = { + // 创建DOM节点 + create: function (node) { + if (utils.isDNE(node)) { + node = 'div'; + } + var dom = document.createElement(node); + return dom; + }, + // 删除DOM节点 + del: function (node) { + if (utils.isDNE(node)) { + return; + } + var dom = document.body.removeChild(node); + return dom; + } +}; +export { + utils, + wtDom +}; diff --git a/index.js b/index.js new file mode 100644 index 0000000..b5d098f --- /dev/null +++ b/index.js @@ -0,0 +1,103 @@ +import Toast from './toast/index.js'; +import Alert from './alert/index.js'; +import cityData from './common/citydata.js'; +import MediaQuery from './MediaQuery/index.js'; +import Switch from './switch/switch'; +import Menu from './Menu/Menu'; +import Radio from './radioGroup/radio'; +import Checkbox from './checkbox/checkbox'; +import Model from './model/model'; +import Button from './Button/Button'; +import Badge from './badge/badge'; +import Tab from './Tab/Tab'; +import Step from './Step/Step'; +import Header from './Header/Header'; +import touch from './Touch/Touch'; +import Ink from './InkWell/InkWell'; +import Rate from './Rate/Rate'; +import Flex from './Flex/Flex'; +import TextFile from './TextField/TextField'; +import Carousel from './Carousel/Carousel'; +import Scroll from './Scroll/Scroll'; +import Time from './Time/Time'; +import Font from './Font/Font'; +import Picker from './Picker/Picker'; +import Center from './Center/Center'; +import Row from './Row/Row'; +import DatePicker from './Date/index'; +import Opacity from './Opacity/Opacity'; +import Circle from './Circle/Circle'; +import Padding from './Padding/Padding'; +import Margin from './Margin/Margin'; +import Navigation from './Navigation/Navigation'; +import ActionButton from './ActionButton/ActionButton'; +import Column from './Column/Column'; +import Align from './Align/Align'; +import Search from './Search/Search'; +import Fixed from './Fixed/Fixed'; +import GridView from './GridView/GridView'; +import Image from './Image/Image'; +import Cell from './Cell/Cell'; +import Spinner from './Spinner/Spinner'; +import Swipe from './Swipe/Swipe'; +import Calendar from './Calendar/Calendar'; +import Card from './Card/Card'; +import PullRefresh from './PullRefresh/PullRefresh'; +import UploadFile from './Upload/Upload'; +import BoxSize from './BoxSize/BoxSize'; +import TextArea from './TextArea/TextArea'; +import Divider from './Divider/Divider'; +require('./common/common.less'); +require('./common/animate.min.css'); + +export { + Toast, + Alert, + MediaQuery, + cityData, + Switch, + Menu, + Radio, + Checkbox, + Model, + Button, + Badge, + Tab, + Step, + Header, + touch, + Ink, + Rate, + Flex, + TextFile, + Carousel, + Scroll, + Time, + Font, + Picker, + Center, + Row, + DatePicker, + Opacity, + Circle, + Padding, + Navigation, + Column, + ActionButton, + Align, + Margin, + Search, + Fixed, + GridView, + Image, + Cell, + Spinner, + Swipe, + Calendar, + Card, + PullRefresh, + UploadFile, + BoxSize, + TextArea, + Divider +}; diff --git a/model/model.vue b/model/model.vue new file mode 100644 index 0000000..d86037e --- /dev/null +++ b/model/model.vue @@ -0,0 +1,36 @@ + + ++ + + diff --git a/radioGroup/radio.less b/radioGroup/radio.less new file mode 100644 index 0000000..289e237 --- /dev/null +++ b/radioGroup/radio.less @@ -0,0 +1,100 @@ +.wt-radio { + ul { + background: #ffffff; + list-style: none; + padding: 0; + margin: 0; + position: relative; + li { + box-sizing: border-box; + position: relative; + text-align: left; + // line-height: 2rem; + // height: 2rem; + font-size: 0.8rem; + display: flex; + align-items: center; + &.disable { + background: #f6f6f6; + } + .item-inner { + width: 100%; + box-sizing: border-box; + white-space: nowrap; + // padding-right: 2rem; + text-overflow: ellipsis; + overflow: hidden; + padding-left: 8px; + &::after { + transform: scaleY(.5); + height: 1px; + content: ''; + border-bottom: 1px solid #ccc; + display: block; + } + .title { + display: -webkit-box; + -webkit-line-clamp: 1; + overflow: hidden; + -webkit-box-orient: vertical; + white-space: normal; + margin: 0.2rem; + padding-right: 2rem; + &.normal { + padding-right: 0; + } + } + .subtitle { + display: -webkit-box; + -webkit-line-clamp: 2; + overflow: hidden; + -webkit-box-orient: vertical; + white-space: normal; + color: #999; + font-size: 0.7rem; + margin: 0.2rem; + padding-right: 2rem; + &.normal { + padding-right: 0; + } + } + } + p { + position: absolute; + right: 0.5rem; + color: #1BB5F1; + font-size: 1rem; + &.btn { + min-width: 1.2rem; + min-height: 1.2rem; + width: 1.2rem; + height: 1.2rem; + border-radius: 1.2rem; + border: 1px solid #ccc; + box-sizing: border-box; + overflow: hidden; + align-items: center; + margin: 0 0 0 0.5rem; + justify-content: center; + display: flex; + position: relative; + right: initial; + &.active { + border: 1px solid #1BB5F1; + } + &.disable { + background: #eee; + } + } + } + &::before { + font-size: 1rem; + position: absolute; + right: 8px; + line-height: 2rem; + color: #1BB5F1; + text-align: right; + } + } + } +} diff --git a/radioGroup/radio.vue b/radioGroup/radio.vue new file mode 100644 index 0000000..89bf516 --- /dev/null +++ b/radioGroup/radio.vue @@ -0,0 +1,52 @@ + ++ ++ + + diff --git a/switch/switch.less b/switch/switch.less new file mode 100644 index 0000000..a4d4bf8 --- /dev/null +++ b/switch/switch.less @@ -0,0 +1,72 @@ +#nvx-switch .label-switch { + display: inline-block; + vertical-align: middle; + width: 2.6rem; + border-radius: 0.8rem; + box-sizing: border-box; + height: 1.7rem; + position: relative; + cursor: pointer; + -ms-flex-item-align: center; + -webkit-align-self: center; + align-self: center; + input[type="checkbox"] { + display: none; + } + input[type="checkbox"]:checked + .checkbox { + background: #4cd964; + } + input[type="checkbox"]:checked + .checkbox:after { + transform: translateX(1.1rem); + } + .checkbox { + width: 2.6rem; + border-radius: 0.8rem; + box-sizing: border-box; + height: 1.7rem; + background: #e5e5e5; + z-index: 0; + margin: 0; + padding: 0; + -webkit-appearance: none; + -moz-appearance: none; + -ms-appearance: none; + appearance: none; + border: none; + cursor: pointer; + position: relative; + -webkit-transition-duration: 300ms; + transition-duration: 300ms; + &:before { + content: ' '; + position: absolute; + left: 0.1rem; + top: 0.1rem; + width: 2.4rem; + border-radius: 0.8rem; + box-sizing: border-box; + height: 1.4rem; + z-index: 1; + -webkit-transition-duration: 300ms; + transition-duration: 300ms; + -webkit-transform: scale(1); + transform: scale(1); + } + &:after { + content: ' '; + height: 1.4rem; + width: 1.4rem; + border-radius: 1.4rem; + background: #fff; + position: absolute; + z-index: 2; + top: 0.1rem; + left: 0.1rem; + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4); + -webkit-transform: translateX(0px); + transform: translateX(0px); + -webkit-transition-duration: 300ms; + transition-duration: 300ms; + } + } +} \ No newline at end of file diff --git a/switch/switch.vue b/switch/switch.vue new file mode 100644 index 0000000..efbd01c --- /dev/null +++ b/switch/switch.vue @@ -0,0 +1,35 @@ + ++
+- + +
+++ +{{item.title}}+{{item.desc}}++ ++ + + diff --git a/toast/index.js b/toast/index.js new file mode 100644 index 0000000..022f69e --- /dev/null +++ b/toast/index.js @@ -0,0 +1,28 @@ +/* + * @params msg {String} 必须 // 显示的内容 + * @params time {Number} 可选 // 显示的时间 +*/ +function toast (msg, time) { + // 如果存在一个toast,不能再添加toast + // if (document.querySelector('#nvx-toast') !== null) { + // return; + // } + if (msg === '' || msg === undefined || msg === null) { + return; + } + // time参数是否为数字 + if (isNaN(time)) { + time = 2000; + } else { + time = parseInt(time); + } + var div = document.createElement('div'); + div.innerText = msg; + div.id = 'nvx-toast'; + document.body.appendChild(div); + // 关闭 toast层 + setTimeout(() => { + document.body.removeChild(div); + }, time); +} +export default toast;