63 lines
1.5 KiB
Vue
63 lines
1.5 KiB
Vue
<template>
|
|
<div class="login">
|
|
<h1>管理员</h1>
|
|
<el-form :model="userInfo" :rules="rules"
|
|
ref="ruleForm" label-width="100px">
|
|
|
|
<el-form-item label="用户名" prop="username">
|
|
<el-input v-model="userInfo.username"></el-input>
|
|
</el-form-item>
|
|
|
|
<el-form-item label="密码" prop="userpassword">
|
|
<el-input v-model="userInfo.userpassword"></el-input>
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item>
|
|
<el-button type="primary" @click="submitLogin()">登 录</el-button>
|
|
</el-form-item>
|
|
|
|
|
|
</el-form>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
data() {
|
|
return {
|
|
userInfo: {
|
|
username: '',
|
|
userpassword: ''
|
|
},
|
|
rules: {
|
|
username: [
|
|
{ required: true, message: '请输入用户名', trigger: 'blur' },
|
|
{ min: 3, max: 20, message: '长度在 3 到 20 个字符', trigger: 'blur' }
|
|
],
|
|
userpassword: [
|
|
{ required: true, message: '请输入密码', trigger: 'blur' },
|
|
{ min: 3, max: 10, message: '长度在 3 到 10 个字符', trigger: 'blur' }
|
|
],
|
|
}
|
|
}
|
|
},
|
|
methods: {
|
|
submitLogin() {
|
|
this.$refs.ruleForm.validate(async (valid) => {
|
|
if (valid) {
|
|
let res = await this.$http.user.login(this.userInfo);
|
|
console.log(res)
|
|
localStorage.setItem("token", JSON.stringify(res));
|
|
this.$router.replace("/")
|
|
}
|
|
});
|
|
},
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="stylus" scoped>
|
|
|
|
</style>
|