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.

95 lines
3.0 KiB

3 years ago
<template>
<div class="page-container">
3 years ago
3 years ago
<div class="page-outer">
3 years ago
<div class="login-box" v-if="status == 1">
<el-form>
<el-form-item label="账号"><el-input v-model="form.name" placeholder="账号" /></el-form-item>
<el-form-item label="密码"><el-input type="password" v-model="form.password" placeholder="密码" /></el-form-item>
<el-form-item><el-button type="primary" style="width: 100%" @click="submit"> </el-button></el-form-item>
<el-form-item><el-link @click="status = 2">注册账号</el-link></el-form-item>
</el-form>
</div>
<div class="login-box" v-if="status == 2">
<el-form>
<el-form-item label="账号"><el-input v-model="regForm.name" placeholder="请输入账号" /></el-form-item>
<el-form-item label="密码"><el-input type="password" v-model="regForm.password" placeholder="请输入密码" /></el-form-item>
<el-form-item label="手机号码"><el-input v-model="regForm.tel" placeholder="请输入手机号码" /></el-form-item>
<el-form-item label="真实姓名"><el-input v-model="regForm.realName" placeholder="请输入真实姓名" /></el-form-item>
<el-form-item><el-button type="primary" style="width: 100%" @click="registerSubmit"> </el-button></el-form-item>
<el-form-item><el-link @click="status = 1">前往登录</el-link></el-form-item>
</el-form>
</div>
3 years ago
</div>
</div>
</template>
<script>
import { useStore } from "vuex";
3 years ago
import { defineComponent, reactive, ref, getCurrentInstance } from "vue";
3 years ago
export default defineComponent({
name: 'v-login',
setup() {
const { proxy } = getCurrentInstance();
const store = useStore();
const form = reactive({
3 years ago
name: "",
password: "",
3 years ago
});
3 years ago
const regForm = reactive({
name: "",
password: "",
tel: "",
realName: ''
});
const status = ref(1); //1登录 2注册
3 years ago
return {
3 years ago
form,regForm,
status,
3 years ago
proxy,
store
};
},
methods: {
submit() {
3 years ago
this.proxy.$post("/admin/login", this.form).then((res) => {
const data = res.data;
this.store.commit("setToken", data.token);
this.store.commit("setUserInfo", data);
this.$message.success("登录成功");
this.$router.push('/');
});
3 years ago
},
3 years ago
registerSubmit() {
this.proxy.$post("/admin/register", this.regForm).then((res) => {
const data = res.data;
this.$message.success("注册成功");
this.regForm.name = '';
this.regForm.password = '';
this.regForm.tel = '';
this.regForm.realName = '';
this.status = 1;
});
}
3 years ago
},
});
</script>
<style lang="less" scoped>
.page-container {
3 years ago
background: rgb(242, 242, 242);
3 years ago
position: relative;
width: 100%;
height: 100%;
3 years ago
display: flex;
align-items: center;
justify-content: center;
3 years ago
.page-outer {
width: 400px;
3 years ago
.login-box {
background: #FFF;
padding: 24px;
}
3 years ago
}
}
</style>