@fmdevui/fm-dev 1.0.16 → 1.0.18

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.
Files changed (33) hide show
  1. package/es/{version.css → component.css} +4 -3
  2. package/es/core/ui/components/dragVerify/dragVerifyImgRotate.vue.d.ts +247 -0
  3. package/es/core/ui/components/index.d.ts +246 -1
  4. package/es/index.mjs +1 -1
  5. package/es/packages/core/index.mjs +1 -1
  6. package/es/packages/core/ui/components/dragVerify/dragVerifyImgRotate.vue.mjs +118 -0
  7. package/es/packages/core/ui/components/dragVerify/dragVerifyImgRotate.vue2.mjs +266 -0
  8. package/es/packages/core/ui/components/dragVerify/dragVerifyImgRotate.vue3.mjs +3 -0
  9. package/es/packages/core/ui/components/dragVerify/dragVerifyImgRotate.vue4.mjs +3 -0
  10. package/es/packages/core/ui/components/index.mjs +3 -1
  11. package/es/packages/core/utils/comm/sysInfo.mjs +2 -2
  12. package/es/sysInfo.d.ts +2 -0
  13. package/es/sysInfo.mjs +53 -0
  14. package/index.css +113 -1
  15. package/index.js +403 -17
  16. package/index.min.css +1 -0
  17. package/index.min.js +24 -24
  18. package/index.min.mjs +25 -25
  19. package/index.mjs +404 -19
  20. package/lib/core/ui/components/dragVerify/dragVerifyImgRotate.vue.d.ts +247 -0
  21. package/lib/core/ui/components/index.d.ts +246 -1
  22. package/lib/index.css +5 -4
  23. package/lib/index.js +1 -0
  24. package/lib/packages/core/index.js +1 -0
  25. package/lib/packages/core/ui/components/dragVerify/dragVerifyImgRotate.vue.js +122 -0
  26. package/lib/packages/core/ui/components/dragVerify/dragVerifyImgRotate.vue2.js +270 -0
  27. package/lib/packages/core/ui/components/dragVerify/dragVerifyImgRotate.vue3.js +7 -0
  28. package/lib/packages/core/ui/components/dragVerify/dragVerifyImgRotate.vue4.js +7 -0
  29. package/lib/packages/core/ui/components/index.js +3 -0
  30. package/lib/packages/core/utils/comm/sysInfo.js +25 -25
  31. package/lib/sysInfo.d.ts +2 -0
  32. package/lib/sysInfo.js +56 -0
  33. package/package.json +1 -1
package/index.js CHANGED
@@ -1,21 +1,21 @@
1
- /*! fm-dev v1.0.16 */
1
+ /*! fm-dev v1.0.18 */
2
2
  (function (global, factory) {
3
3
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue'), require('crypto'), require('url'), require('http'), require('https'), require('util'), require('stream'), require('assert'), require('zlib'), require('element-plus')) :
4
4
  typeof define === 'function' && define.amd ? define(['exports', 'vue', 'crypto', 'url', 'http', 'https', 'util', 'stream', 'assert', 'zlib', 'element-plus'], factory) :
5
5
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.FmPlus = {}, global.Vue, global.crypto, global.require$$0, global.require$$1, global.require$$2, global.util, global.stream, global.require$$4, global.zlib, global.ElementPlus));
6
6
  })(this, (function (exports, vue, crypto, require$$0, require$$1, require$$2, util, stream, require$$4, zlib, elementPlus) { 'use strict';
7
7
 
8
- const _hoisted_1$2 = { class: "fm-transfer-panel" };
9
- const _hoisted_2$1 = { class: "fm-transfer-panel__header" };
10
- const _hoisted_3 = { class: "fm-transfer-panel__body" };
11
- const _hoisted_4 = { class: "fm-transfer-buttons__item" };
8
+ const _hoisted_1$3 = { class: "fm-transfer-panel" };
9
+ const _hoisted_2$2 = { class: "fm-transfer-panel__header" };
10
+ const _hoisted_3$1 = { class: "fm-transfer-panel__body" };
11
+ const _hoisted_4$1 = { class: "fm-transfer-buttons__item" };
12
12
  const _hoisted_5 = { class: "fm-transfer-buttons__item" };
13
13
  const _hoisted_6 = { class: "fm-transfer-buttons__item" };
14
14
  const _hoisted_7 = { class: "fm-transfer-buttons__item" };
15
15
  const _hoisted_8 = { class: "fm-transfer-panel" };
16
16
  const _hoisted_9 = { class: "fm-transfer-panel__header" };
17
17
  const _hoisted_10 = { class: "fm-transfer-panel__body" };
18
- var _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
18
+ var _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
19
19
  ...{
20
20
  name: "FmTransfer"
21
21
  },
@@ -175,8 +175,8 @@
175
175
  default: vue.withCtx(() => [
176
176
  vue.createVNode(_component_el_col, { span: 10 }, {
177
177
  default: vue.withCtx(() => [
178
- vue.createElementVNode("div", _hoisted_1$2, [
179
- vue.createElementVNode("p", _hoisted_2$1, [
178
+ vue.createElementVNode("div", _hoisted_1$3, [
179
+ vue.createElementVNode("p", _hoisted_2$2, [
180
180
  vue.createVNode(_component_el_checkbox, {
181
181
  modelValue: state.leftAllChecked,
182
182
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => state.leftAllChecked = $event),
@@ -202,7 +202,7 @@
202
202
  /* TEXT */
203
203
  )
204
204
  ]),
205
- vue.createElementVNode("div", _hoisted_3, [
205
+ vue.createElementVNode("div", _hoisted_3$1, [
206
206
  vue.createVNode(_component_el_input, {
207
207
  class: "transfer-panel__filter",
208
208
  modelValue: state.leftKeyword,
@@ -253,7 +253,7 @@
253
253
  class: "fm-transfer-buttons"
254
254
  }, {
255
255
  default: vue.withCtx(() => [
256
- vue.createElementVNode("div", _hoisted_4, [
256
+ vue.createElementVNode("div", _hoisted_4$1, [
257
257
  vue.createVNode(_component_el_button, {
258
258
  type: "primary",
259
259
  style: {},
@@ -372,9 +372,9 @@
372
372
  }
373
373
  });
374
374
 
375
- const _hoisted_1$1 = { class: "notice-bar-warp-text-box" };
376
- const _hoisted_2 = ["innerHTML"];
377
- var _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
375
+ const _hoisted_1$2 = { class: "notice-bar-warp-text-box" };
376
+ const _hoisted_2$1 = ["innerHTML"];
377
+ var _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
378
378
  ...{
379
379
  name: "FmNoticeBar"
380
380
  },
@@ -465,7 +465,7 @@
465
465
  2
466
466
  /* CLASS */
467
467
  )) : vue.createCommentVNode("v-if", true),
468
- vue.createElementVNode("div", _hoisted_1$1, [
468
+ vue.createElementVNode("div", _hoisted_1$2, [
469
469
  vue.createElementVNode(
470
470
  "div",
471
471
  {
@@ -477,7 +477,7 @@
477
477
  vue.createElementVNode("div", {
478
478
  innerHTML: props.text,
479
479
  "data-slate-editor": ""
480
- }, null, 8, _hoisted_2)
480
+ }, null, 8, _hoisted_2$1)
481
481
  ],
482
482
  512
483
483
  /* NEED_PATCH */
@@ -497,6 +497,390 @@
497
497
  }
498
498
  });
499
499
 
500
+ var _sfc_main$2 = {
501
+ name: "dragVerify",
502
+ props: {
503
+ isPassing: {
504
+ type: Boolean,
505
+ default: false
506
+ },
507
+ width: {
508
+ type: Number,
509
+ default: 250
510
+ },
511
+ height: {
512
+ type: Number,
513
+ default: 40
514
+ },
515
+ text: {
516
+ type: String,
517
+ default: "swiping to the right side"
518
+ },
519
+ successText: {
520
+ type: String,
521
+ default: "success"
522
+ },
523
+ background: {
524
+ type: String,
525
+ default: "#eee"
526
+ },
527
+ progressBarBg: {
528
+ type: String,
529
+ default: "#76c61d"
530
+ },
531
+ completedBg: {
532
+ type: String,
533
+ default: "#76c61d"
534
+ },
535
+ circle: {
536
+ type: Boolean,
537
+ default: false
538
+ },
539
+ radius: {
540
+ type: String,
541
+ default: "4px"
542
+ },
543
+ handlerIcon: {
544
+ type: String
545
+ },
546
+ successIcon: {
547
+ type: String
548
+ },
549
+ handlerBg: {
550
+ type: String,
551
+ default: "#fff"
552
+ },
553
+ textSize: {
554
+ type: String,
555
+ default: "14px"
556
+ },
557
+ textColor: {
558
+ type: String,
559
+ default: "#333"
560
+ },
561
+ imgsrc: {
562
+ type: String
563
+ },
564
+ showTips: {
565
+ type: Boolean,
566
+ default: true
567
+ },
568
+ successTip: {
569
+ type: String,
570
+ default: "\u9A8C\u8BC1\u901A\u8FC7"
571
+ },
572
+ failTip: {
573
+ type: String,
574
+ default: "\u9A8C\u8BC1\u5931\u8D25"
575
+ },
576
+ diffDegree: {
577
+ type: Number,
578
+ default: 10
579
+ },
580
+ minDegree: {
581
+ type: Number,
582
+ default: 90
583
+ },
584
+ maxDegree: {
585
+ type: Number,
586
+ default: 270
587
+ }
588
+ },
589
+ mounted: function() {
590
+ const dragEl = this.$refs.dragVerify;
591
+ dragEl.style.setProperty("--textColor", this.textColor);
592
+ dragEl.style.setProperty("--width", Math.floor(this.width / 2) + "px");
593
+ dragEl.style.setProperty("--pwidth", -Math.floor(this.width / 2) + "px");
594
+ },
595
+ computed: {
596
+ handlerStyle: function() {
597
+ return {
598
+ width: this.height + "px",
599
+ height: this.height + "px",
600
+ background: this.handlerBg
601
+ };
602
+ },
603
+ message: function() {
604
+ return this.isPassing ? "" : this.text;
605
+ },
606
+ successMessage: function() {
607
+ return this.isPassing ? this.successText : "";
608
+ },
609
+ dragVerifyStyle: function() {
610
+ return {
611
+ width: this.width + "px",
612
+ height: this.height + "px",
613
+ lineHeight: this.height + "px",
614
+ marginTop: "20px",
615
+ background: this.background,
616
+ borderRadius: this.circle ? this.height / 2 + "px" : this.radius
617
+ };
618
+ },
619
+ dragVerifyImgStyle: function() {
620
+ return {
621
+ width: this.width + "px",
622
+ height: this.width + "px",
623
+ position: "relative",
624
+ overflow: "hidden",
625
+ "border-radius": "50%"
626
+ };
627
+ },
628
+ progressBarStyle: function() {
629
+ return {
630
+ background: this.progressBarBg,
631
+ height: this.height + "px",
632
+ borderRadius: this.circle ? this.height / 2 + "px 0 0 " + this.height / 2 + "px" : this.radius
633
+ };
634
+ },
635
+ textStyle: function() {
636
+ return {
637
+ height: this.height + "px",
638
+ width: this.width + "px",
639
+ fontSize: this.textSize
640
+ };
641
+ },
642
+ factor: function() {
643
+ if (this.minDegree == this.maxDegree) {
644
+ return Math.floor(1 + Math.random() * 6) / 10 + 1;
645
+ }
646
+ return 1;
647
+ }
648
+ },
649
+ data() {
650
+ return {
651
+ isMoving: false,
652
+ x: 0,
653
+ isOk: false,
654
+ showBar: false,
655
+ showErrorTip: false,
656
+ ranRotate: 0,
657
+ cRotate: 0,
658
+ imgStyle: {}
659
+ };
660
+ },
661
+ methods: {
662
+ checkimgLoaded: function() {
663
+ var minDegree = this.minDegree;
664
+ var maxDegree = this.maxDegree;
665
+ var ranRotate = Math.floor(minDegree + Math.random() * (maxDegree - minDegree));
666
+ this.ranRotate = ranRotate;
667
+ this.imgStyle = {
668
+ transform: `rotateZ(${ranRotate}deg)`
669
+ };
670
+ },
671
+ dragStart: function(e) {
672
+ if (!this.isPassing) {
673
+ this.isMoving = true;
674
+ this.x = e.pageX || e.touches[0].pageX;
675
+ }
676
+ this.showBar = true;
677
+ this.showErrorTip = false;
678
+ this.$emit("handlerMove");
679
+ },
680
+ dragMoving: function(e) {
681
+ if (this.isMoving && !this.isPassing) {
682
+ var _x = (e.pageX || e.touches[0].pageX) - this.x;
683
+ var handler = this.$refs.handler;
684
+ handler.style.left = _x + "px";
685
+ var progressBar = this.$refs.progressBar;
686
+ progressBar.style.width = _x + this.height / 2 + "px";
687
+ var cRotate = Math.ceil(_x / (this.width - this.height) * this.maxDegree * this.factor);
688
+ this.cRotate = cRotate;
689
+ var rotate = this.ranRotate - cRotate;
690
+ this.imgStyle = {
691
+ transform: `rotateZ(${rotate}deg)`
692
+ };
693
+ }
694
+ },
695
+ dragFinish: function(e) {
696
+ if (this.isMoving && !this.isPassing) {
697
+ if (Math.abs(this.ranRotate - this.cRotate) > this.diffDegree) {
698
+ this.isOk = true;
699
+ this.imgStyle = {
700
+ transform: `rotateZ(${this.ranRotate}deg)`
701
+ };
702
+ var that = this;
703
+ setTimeout(function() {
704
+ var handler = that.$refs.handler;
705
+ var progressBar = that.$refs.progressBar;
706
+ handler.style.left = "0";
707
+ progressBar.style.width = "0";
708
+ that.isOk = false;
709
+ }, 500);
710
+ this.showErrorTip = true;
711
+ this.$emit("passfail");
712
+ } else {
713
+ this.passVerify();
714
+ }
715
+ this.isMoving = false;
716
+ }
717
+ },
718
+ passVerify: function() {
719
+ this.$emit("update:isPassing", true);
720
+ this.isMoving = false;
721
+ var handler = this.$refs.handler;
722
+ handler.children[0].className = this.successIcon;
723
+ this.$refs.progressBar.style.background = this.completedBg;
724
+ this.$refs.message.style["-webkit-text-fill-color"] = "unset";
725
+ this.$refs.message.style.animation = "slidetounlock2 3s infinite";
726
+ this.$refs.progressBar.style.color = "#fff";
727
+ this.$refs.progressBar.style.fontSize = this.textSize;
728
+ this.$emit("passcallback");
729
+ },
730
+ reset: function() {
731
+ this.reImg();
732
+ this.checkimgLoaded();
733
+ },
734
+ reImg: function() {
735
+ this.$emit("update:isPassing", false);
736
+ const oriData = this.$options.data();
737
+ for (const key in oriData) {
738
+ if (Object.prototype.hasOwnProperty.call(oriData, key)) {
739
+ this[key] = oriData[key];
740
+ }
741
+ }
742
+ var handler = this.$refs.handler;
743
+ var message = this.$refs.message;
744
+ handler.style.left = "0";
745
+ this.$refs.progressBar.style.width = "0";
746
+ handler.children[0].className = this.handlerIcon;
747
+ message.style["-webkit-text-fill-color"] = "transparent";
748
+ message.style.animation = "slidetounlock 3s infinite";
749
+ message.style.color = this.background;
750
+ },
751
+ refreshimg: function() {
752
+ this.$emit("refresh");
753
+ }
754
+ },
755
+ watch: {
756
+ imgsrc: {
757
+ immediate: false,
758
+ handler: function() {
759
+ this.reImg();
760
+ }
761
+ }
762
+ }
763
+ };
764
+
765
+ var _export_sfc = (sfc, props) => {
766
+ const target = sfc.__vccOpts || sfc;
767
+ for (const [key, val] of props) {
768
+ target[key] = val;
769
+ }
770
+ return target;
771
+ };
772
+
773
+ const _hoisted_1$1 = { class: "drag-verify-container" };
774
+ const _hoisted_2 = ["src"];
775
+ const _hoisted_3 = {
776
+ key: 0,
777
+ class: "tips success"
778
+ };
779
+ const _hoisted_4 = {
780
+ key: 1,
781
+ class: "tips danger"
782
+ };
783
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
784
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [
785
+ vue.createElementVNode(
786
+ "div",
787
+ {
788
+ style: vue.normalizeStyle([$options.dragVerifyImgStyle, { "background-color": "var(--el-color-primary)" }])
789
+ },
790
+ [
791
+ vue.createElementVNode("img", {
792
+ ref: "checkImg",
793
+ src: $props.imgsrc,
794
+ class: vue.normalizeClass(["check-img", { goOrigin: $data.isOk }]),
795
+ onLoad: _cache[0] || (_cache[0] = (...args) => $options.checkimgLoaded && $options.checkimgLoaded(...args)),
796
+ style: vue.normalizeStyle($data.imgStyle),
797
+ alt: ""
798
+ }, null, 46, _hoisted_2),
799
+ $props.showTips && $props.isPassing ? (vue.openBlock(), vue.createElementBlock(
800
+ "div",
801
+ _hoisted_3,
802
+ vue.toDisplayString($props.successTip),
803
+ 1
804
+ /* TEXT */
805
+ )) : vue.createCommentVNode("v-if", true),
806
+ $props.showTips && !$props.isPassing && $data.showErrorTip ? (vue.openBlock(), vue.createElementBlock(
807
+ "div",
808
+ _hoisted_4,
809
+ vue.toDisplayString($props.failTip),
810
+ 1
811
+ /* TEXT */
812
+ )) : vue.createCommentVNode("v-if", true)
813
+ ],
814
+ 4
815
+ /* STYLE */
816
+ ),
817
+ vue.createElementVNode(
818
+ "div",
819
+ {
820
+ ref: "dragVerify",
821
+ class: "drag_verify",
822
+ style: vue.normalizeStyle($options.dragVerifyStyle),
823
+ onMousemove: _cache[3] || (_cache[3] = (...args) => $options.dragMoving && $options.dragMoving(...args)),
824
+ onMouseup: _cache[4] || (_cache[4] = (...args) => $options.dragFinish && $options.dragFinish(...args)),
825
+ onMouseleave: _cache[5] || (_cache[5] = (...args) => $options.dragFinish && $options.dragFinish(...args)),
826
+ onTouchmove: _cache[6] || (_cache[6] = vue.withModifiers((...args) => $options.dragMoving && $options.dragMoving(...args), ["prevent"])),
827
+ onTouchend: _cache[7] || (_cache[7] = vue.withModifiers((...args) => $options.dragFinish && $options.dragFinish(...args), ["prevent"]))
828
+ },
829
+ [
830
+ vue.createElementVNode(
831
+ "div",
832
+ {
833
+ class: vue.normalizeClass(["dv_progress_bar", { goFirst2: $data.isOk }]),
834
+ ref: "progressBar",
835
+ style: vue.normalizeStyle($options.progressBarStyle)
836
+ },
837
+ vue.toDisplayString($options.successMessage),
838
+ 7
839
+ /* TEXT, CLASS, STYLE */
840
+ ),
841
+ vue.createElementVNode(
842
+ "div",
843
+ {
844
+ class: "dv_text",
845
+ style: vue.normalizeStyle($options.textStyle),
846
+ ref: "message"
847
+ },
848
+ vue.toDisplayString($options.message),
849
+ 5
850
+ /* TEXT, STYLE */
851
+ ),
852
+ vue.createElementVNode(
853
+ "div",
854
+ {
855
+ class: vue.normalizeClass(["dv_handler dv_handler_bg", { goFirst: $data.isOk }]),
856
+ onMousedown: _cache[1] || (_cache[1] = (...args) => $options.dragStart && $options.dragStart(...args)),
857
+ onTouchstart: _cache[2] || (_cache[2] = vue.withModifiers((...args) => $options.dragStart && $options.dragStart(...args), ["prevent"])),
858
+ ref: "handler",
859
+ style: vue.normalizeStyle([$options.handlerStyle, { "background-color": "var(--el-color-primary)" }])
860
+ },
861
+ [
862
+ vue.createElementVNode(
863
+ "i",
864
+ {
865
+ class: vue.normalizeClass($props.handlerIcon),
866
+ style: { "color": "#fff" }
867
+ },
868
+ null,
869
+ 2
870
+ /* CLASS */
871
+ )
872
+ ],
873
+ 38
874
+ /* CLASS, STYLE, NEED_HYDRATION */
875
+ )
876
+ ],
877
+ 36
878
+ /* STYLE, NEED_HYDRATION */
879
+ )
880
+ ]);
881
+ }
882
+ var dragimg = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render], ["__scopeId", "data-v-9e8c9ed2"]]);
883
+
500
884
  /*! Element Plus Icons Vue v2.3.1 */
501
885
 
502
886
  var add_location_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ vue.defineComponent({
@@ -6654,8 +7038,9 @@
6654
7038
  }
6655
7039
  }
6656
7040
 
6657
- const FmTransfer = _sfc_main$3;
6658
- const FmNoticeBar = _sfc_main$2;
7041
+ const FmTransfer = _sfc_main$4;
7042
+ const FmNoticeBar = _sfc_main$3;
7043
+ const FmDragImg = dragimg;
6659
7044
 
6660
7045
  const makeInstaller = (components = []) => {
6661
7046
  const install = (app) => {
@@ -51686,6 +52071,7 @@
51686
52071
 
51687
52072
  const install = installer.install;
51688
52073
 
52074
+ exports.FmDragImg = FmDragImg;
51689
52075
  exports.FmLogin = FmLogin;
51690
52076
  exports.FmNoticeBar = FmNoticeBar;
51691
52077
  exports.FmTransfer = FmTransfer;
package/index.min.css ADDED
@@ -0,0 +1 @@
1
+ .drag_verify[data-v-9e8c9ed2]{background-color:#e8e8e8;overflow:hidden;position:relative;text-align:center}.drag_verify .dv_handler[data-v-9e8c9ed2]{cursor:move;left:0;position:absolute;top:0}.drag_verify .dv_handler i[data-v-9e8c9ed2]{color:#666;font-size:16px;padding-left:0}.drag_verify .dv_handler .el-icon-circle-check[data-v-9e8c9ed2]{color:#6c6;margin-top:9px}.drag_verify .dv_progress_bar[data-v-9e8c9ed2]{height:34px;position:absolute;width:0}.drag_verify .dv_text[data-v-9e8c9ed2]{background:-webkit-gradient(linear,left top,right top,color-stop(0,var(--textColor)),color-stop(.4,var(--textColor)),color-stop(.5,#fff),color-stop(.6,var(--textColor)),color-stop(1,var(--textColor)));-webkit-background-clip:text;color:transparent;position:absolute;top:0;-moz-user-select:none;-webkit-user-select:none;user-select:none;-o-user-select:none;-ms-user-select:none;-webkit-text-fill-color:transparent;-webkit-text-size-adjust:none;animation:slidetounlock 3s infinite}.drag_verify .dv_text[data-v-9e8c9ed2] *{-webkit-text-fill-color:var(--textColor)}.goFirst[data-v-9e8c9ed2]{left:0!important;transition:left .5s}.goOrigin[data-v-9e8c9ed2]{transition:transform .5s}.goKeep[data-v-9e8c9ed2]{transition:left .2s}.goFirst2[data-v-9e8c9ed2]{transition:width .5s;width:0!important}.drag-verify-container[data-v-9e8c9ed2]{border-radius:50%;line-height:0;position:relative}.move-bar[data-v-9e8c9ed2]{position:absolute;z-index:100}.clip-bar[data-v-9e8c9ed2]{background:hsla(0,0%,100%,.8);position:absolute}.refresh[data-v-9e8c9ed2]{cursor:pointer;font-size:20px;position:absolute;right:5px;top:5px;z-index:200}.tips[data-v-9e8c9ed2]{bottom:25px;font-size:12px;height:20px;line-height:20px;position:absolute;text-align:center;width:100%;z-index:200}.tips.success[data-v-9e8c9ed2]{background:hsla(0,0%,100%,.6);color:green}.tips.danger[data-v-9e8c9ed2]{background:rgba(0,0,0,.6);color:#ff0}.check-img[data-v-9e8c9ed2]{border-radius:50%;width:100%}