You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
97 lines
4.3 KiB
97 lines
4.3 KiB
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) {
|
|
//
|
|
}
|
|
}
|
|
} |