captain-ui
Version:
有赞vue wap业务组件库
96 lines (91 loc) • 2.29 kB
JavaScript
import "vant/es/popup/style";
import _Popup from "vant/es/popup";
import _extends from "@babel/runtime/helpers/esm/extends";
import CaptchaLogin from './components/captcha-login';
import PasswordLogin from './components/password-login';
import ResetAccount from './components/reset-account';
var defaultTypePage = 'captcha-login';
var loginComponents = {
'captcha-login': CaptchaLogin,
'password-login': PasswordLogin,
'reset-account': ResetAccount
};
export 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: _extends({}, loginComponents, {
'van-popup': _Popup
}),
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);
}
}
};