function pages_login() { return { component: Vue.component(arguments.callee.toString(), function (resolve, reject) { axios.get("/pages/login.html?v=0.1.0.202004270919").then(function (response) { resolve({ template: response.data, data() { return { name: '登录', url: '/UserCenter/api/v1/token/getToken' }; }, mounted: function () { weui.form.checkIfBlur('#form', this.regexp); // 绑定enter事件 this.enterKeyup(); }, computed: { regexp: function () { return { regexp: { userName: /^[^\s]+/, password: /^[^\s]+$/ } }; }, user: function () { return this.$store.user; } }, destroyed() { // 销毁enter事件 this.enterKeyupDestroyed(); }, methods: { submit: function () { var url = this.url; weui.form.validate('#form', function (error) { if (!error) { var loading = weui.loading('提交中...'); var form = $("#form"); var data = form.serializeJSON(); axios.post(url, data).then(function (response) { store.commit('setToken', response.data); router.push('/'); }).catch(function (error) { console.log(error.response); var data = error.response.data; var key = error.response.data.key; if (key) { $("[name='" + key + "']").parents('.weui-cell').addClass('weui-cell_warn'); } weui.topTips(data.message, { duration: 3000 }); }).finally(function () { loading.hide(); }); } else { console.log(error); } }, this.regexp); }, enterKey(event) { const code = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode; if (code == 13) { this.submit(); } }, enterKeyupDestroyed() { document.removeEventListener("keyup", this.enterKey); }, enterKeyup() { document.addEventListener("keyup", this.enterKey); }, closeWindow(){ if(window.api){ window.api.execScript( { name: window.api.winName, script: "api.closeWin()" } ) } }, } }) }); }), onMessage: function (event, model, to, from) { // } } }