captain-ui
Version:
有赞vue wap业务组件库
110 lines (96 loc) • 2.66 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
require("vant/es/popup/style");
var _popup = _interopRequireDefault(require("vant/es/popup"));
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _captchaLogin = _interopRequireDefault(require("./components/captcha-login"));
var _passwordLogin = _interopRequireDefault(require("./components/password-login"));
var _resetAccount = _interopRequireDefault(require("./components/reset-account"));
var defaultTypePage = 'captcha-login';
var loginComponents = {
'captcha-login': _captchaLogin.default,
'password-login': _passwordLogin.default,
'reset-account': _resetAccount.default
};
var _default = {
render: function render() {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
return _c('van-popup', {
staticClass: "cap-login-dialog-container",
attrs: {
"value": _vm.value
},
on: {
"input": _vm.hidePopup
}
}, [_c(_vm.typePage, {
tag: "component",
attrs: {
"interface-server-location": _vm.interfaceServerLocation,
"redirect": _vm.redirect,
"get-captcha-num": _vm.getCaptchaNum,
"on-success": _vm.onSuccess
},
on: {
"changeLoginType": _vm.changeLoginType,
"showLoginToC": _vm.hidePopup
}
})], 1);
},
name: 'cap-login-dialog',
components: (0, _extends2.default)({}, loginComponents, {
'van-popup': _popup.default
}),
props: {
value: {
type: Boolean,
default: false
},
redirect: {
type: String,
default: ''
},
onSuccess: {
type: Function,
default: null
}
},
data: function data() {
return {
typePage: defaultTypePage,
interfaceServerLocation: 'https://account.youzan.com',
loginToC: this.value,
getCaptchaNum: 0
};
},
watch: {
value: function value() {
var _this = this;
document.cookie.split(';').forEach(function (item) {
if (item.split('=')[0].trim() === 'LOGINGETCAPTCHANUM') {
_this.getCaptchaNum = parseInt(item.split('=')[1]);
}
});
}
},
methods: {
/**
* 改变当前页面hash为对应type
*/
changeLoginType: function changeLoginType(type) {
this.typePage = type;
},
/**
* 组件是否显示或隐藏
*/
hidePopup: function hidePopup() {
this.changeLoginType('captcha-login');
this.$emit('input', false);
}
}
};
exports.default = _default;