"use strict";

var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");

exports.__esModule = true;
exports.default = void 0;

require("./AuthModal.css");

var _Auth = _interopRequireDefault(require("../Auth"));

var _Modal = _interopRequireDefault(require("../Modal"));

var _Icon = _interopRequireDefault(require("../Icon"));

var _component = require("../_utils/component");

var _vueNormalizeComponent = _interopRequireDefault(require("../_utils/vue-normalize-component.js"));

/* script */
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
var __vue_script__ = {
  name: (0, _component.createComponentName)('auth-modal'),
  components: {
    Auth: _Auth.default,
    Modal: _Modal.default,
    Icon: _Icon.default
  },
  mixins: [_component.componentMixin],
  props: {
    // 显示弹窗 支持 :visible.sync
    visible: {
      type: Boolean,
      default: false
    },
    onOk: {
      type: Function
    },
    onCancel: {
      type: Function
    },
    afterClose: {
      type: Function
    },
    // 是否显示关闭按钮
    showClose: {
      type: Boolean,
      default: true
    },
    // 点击遮罩是否可关闭
    maskClosable: {
      type: Boolean,
      default: true
    },
    // 界面类型
    defaultType: {
      // phone / register / resetpwd / bindphone / qq / wechat
      type: String,
      default: 'wechat'
    }
  },

  data() {
    var defaultType = this.defaultType;

    if (defaultType === 'login') {
      // 兼容代码
      defaultType = 'wechat';
    }

    return {
      type: defaultType
    };
  },

  watch: {
    visible(v) {
      if (!v) this.type = this.defaultType;
    },

    defaultType() {
      this.type = this.defaultType;
    }

  },
  methods: {
    close() {
      this.$emit('update:visible', false);
      if (this.onCancel) this.onCancel();
    },

    handleSuccess(event) {
      // submit 成功
      // @arg action 操作类型 'login' 'register' 'resetpwd' 等
      if (this.onOk && event.action === 'login') {
        this.onOk(event);
      }

      this.$emit('success', event);
    },

    handleError(event) {
      // submit 失败
      // @arg action 操作类型 'login' 'register' 'resetpwd' 等
      // @arg error 失败信息
      this.$emit('error', event);
    }

  }
};
/* template */

var __vue_render__ = function __vue_render__() {
  var _vm = this;

  var _h = _vm.$createElement;

  var _c = _vm._self._c || _h;

  return _c("Modal", {
    class: _vm.bem(),
    attrs: {
      visible: _vm.visible,
      showClose: false,
      maskClosable: _vm.maskClosable,
      keyborad: _vm.maskClosable,
      onCancel: _vm.onCancel,
      afterClose: _vm.afterClose,
      width: "820px"
    },
    on: {
      "update:visible": function updateVisible(v) {
        return _vm.$emit("update:visible", v);
      }
    }
  }, [_c("div", {
    class: _vm.bem("bg", [_vm.type])
  }, [_vm.type === "phone" || _vm.type === "wechat" ? [_c("div", {
    class: _vm.bem("title")
  }, [_vm._t("login_title", [_vm._v(" 会员登录 ")])], 2), _vm._v(" "), _c("div", {
    class: _vm.bem("subtitle")
  }, [_vm._t("login_subtitle", [_vm._v(" 登录即可下载作品 "), _c("Icon", {
    attrs: {
      name: "download"
    }
  })])], 2), _vm._v(" "), _c("div", {
    class: _vm.bem("desc"),
    attrs: {
      role: "ul"
    }
  }, [_vm._t("login_desc", [_c("p", [_vm._v("· 免费使用基础抠图，纵享无限下载")]), _vm._v(" "), _c("p", [_vm._v("· 最新高级抠图功能，注册用户独家享")]), _vm._v(" "), _c("p", [_vm._v("· 自动记录在线操作，随时随地再处理")]), _vm._v(" "), _c("p", [_vm._v("· 在线客服免排队，人工1V1答疑解惑")])])], 2)] : _vm.type === "register" ? [_c("div", {
    class: _vm.bem("title")
  }, [_vm._t("register_title", [_vm._v(" 会员注册 ")])], 2), _vm._v(" "), _c("div", {
    class: _vm.bem("subtitle")
  }, [_vm._t("register_subtitle", [_vm._v(" 注册即可下载作品 "), _c("Icon", {
    attrs: {
      name: "download"
    }
  })])], 2), _vm._v(" "), _c("div", {
    class: _vm.bem("desc"),
    attrs: {
      role: "ul"
    }
  }, [_vm._t("register_desc", [_c("p", [_vm._v("· 免费使用基础抠图，纵享无限下载")]), _vm._v(" "), _c("p", [_vm._v("· 最新高级抠图功能，注册用户独家享")]), _vm._v(" "), _c("p", [_vm._v("· 自动记录在线操作，随时随地再处理")]), _vm._v(" "), _c("p", [_vm._v("· 在线客服免排队，人工1V1答疑解惑")])])], 2)] : _vm.type === "resetpwd" ? [_c("div", {
    class: _vm.bem("title")
  }, [_vm._t("resetpwd_title", [_vm._v(" 密码找回 ")])], 2), _vm._v(" "), _c("div", {
    class: _vm.bem("subtitle")
  }, [_vm._t("resetpwd_subtitle", [_vm._v(" 验证信息修改密码")])], 2), _vm._v(" "), _c("div", {
    class: _vm.bem("desc"),
    attrs: {
      role: "ul"
    }
  }, [_vm._t("register_desc")], 2)] : _vm.type === "bindphone" ? [_c("div", {
    class: _vm.bem("title")
  }, [_vm._t("bindphone_title", [_vm._v("账户安全 ")])], 2), _vm._v(" "), _c("div", {
    class: _vm.bem("subtitle")
  }, [_vm._t("bindphone_subtitle", [_vm._v(" 设置密码找回途径")])], 2), _vm._v(" "), _c("div", {
    class: _vm.bem("desc"),
    attrs: {
      role: "ul"
    }
  }, [_vm._t("bindphone_desc")], 2)] : _vm._e(), _vm._v(" "), _c("div", {
    class: _vm.bem("auth-wrapper")
  }, [_vm.showClose ? _c("Icon", {
    attrs: {
      name: "close"
    },
    nativeOn: {
      click: function click($event) {
        return _vm.close($event);
      }
    }
  }) : _vm._e(), _vm._v(" "), _c("Auth", {
    attrs: {
      type: _vm.type
    },
    on: {
      "update:type": function updateType($event) {
        _vm.type = $event;
      },
      success: _vm.handleSuccess,
      error: _vm.handleError
    }
  })], 1)], 2)]);
};

var __vue_staticRenderFns__ = [];
__vue_render__._withStripped = true;
/* style */

var __vue_inject_styles__ = undefined;
/* scoped */

var __vue_scope_id__ = undefined;
/* module identifier */

var __vue_module_identifier__ = undefined;
/* functional template */

var __vue_is_functional_template__ = false;
/* component normalizer */

/* style inject */

/* style inject SSR */
var _default = (0, _vueNormalizeComponent.default)({
  render: __vue_render__,
  staticRenderFns: __vue_staticRenderFns__
}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, undefined, undefined);

exports.default = _default;