123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- <template>
- <div class="admin-login__loginForm">
- <el-form :model="loginForm" status-icon :rules="loginRules" ref="LoginForm" label-width="100px">
- <el-form-item label="账号:" prop="username">
- <el-input type="text" v-model="loginForm.username"></el-input>
- </el-form-item>
- <el-form-item label="密码:" prop="password">
- <el-input type="password" v-model="loginForm.password" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item>
- <div class="admin-login-btns">
- <el-button class="login-btn__login" type="primary" @click="handleLogin('LoginForm')">登录</el-button>
- </div>
- </el-form-item>
- </el-form>
- </div>
- </template>
- <script>
- import { getAdminLogin } from '@/api/noToken.js';
- import { getCache, saveCache, getUserAuth } from '@/utils/admin/tools';
- const USER_AUTH = `userAuth`;
- export default {
- name: 'Login',
- data() {
- return {
- loginForm: {
- username: '',
- password: '',
- },
- loginRules: {
- username: [
- { required: true, message: '请输入用户名', trigger: 'blur' },
- ],
- password: [
- { required: true, message: '请输入密码', trigger: 'blur' },
- ],
- },
- };
- },
- methods: {
- handleLogin(formName) {
- this.$refs[formName].validate((valid) => {
- if (valid) {
- this.doLogin();
- } else {
- return false;
- }
- });
- },
- /**
- * 登录
- * @returns {Promise<void>}
- */
- async doLogin() {
- // 参数获取
- const opt = this.getOption();
- try {
- const res = await getAdminLogin(opt);
- if (res.code === 0) {
- // 缓存 登录状态
- this.saveCache(USER_AUTH, res.data);
- // 登录
- this.goHomePage();
- }
- } catch (e) {
- console.error(e);
- }
- },
- getOption() {
- const opt = {
- userName: this.loginForm.username,
- password: this.loginForm.password,
- };
- return opt;
- },
- saveCache(key, val) {
- return saveCache(key, val);
- },
- goHomePage() {
- this.$router.push({ name: 'hangyezixun' });
- },
- checkISLoading() {
- const userAuth = getUserAuth();
- if (userAuth && userAuth.userId) {
- this.goHomePage();
- }
- },
- },
- created() {
- this.checkISLoading();
- // const data = getCache(USER_AUTH);
- // console.log('缓存 =》', data);
- },
- };
- </script>
- <style lang="scss" scoped>
- $text_color: #CCC;
- .admin-login {
- &__loginForm {
- ::v-deep .el-form-item__label {
- color: $text_color;
- }
- }
- &-btns {
- .login-btn {
- &__login {
- width: 100%;
- }
- }
- }
- }
- </style>
|