为了账号安全,请及时绑定邮箱和手机立即绑定

【备战春招】第15天 Vue3.0+ElementPlus实现系统登录

标签:
Vue.js

课程名称:SpringBoot2.X + Vue + UniAPP,全栈开发医疗小程序

课程章节:第三章 使用Vue3.0+SpringBoot实现医护人员管理

课程讲师: 神思者

课程内容:


测试了后端Web方法,可以正常登陆系统,也拿到了Token令牌。我们把前端的JS代码写完,然后用浏览器测试一下系统登录和登出。

https://img1.sycdn.imooc.com//63f55b0f000104d208270490.jpg

一、熟悉登陆页面

登陆页面的内容很简单,就是文本框和密码框,再加上Button按钮。login.vue页面的视图层标签:

<div v-if="!qrCodeVisible">

    <div class="row">

        <el-input

            v-model="username"

            placeholder="用户名"

            prefix-icon="user"

            size="large"

            clearable

        ></el-input>

    </div>

    <div class="row">

        <el-input

            type="password"

            v-model="password"

            placeholder="密码"

            prefix-icon="Lock"

            size="large"

            clearable

        ></el-input>

    </div>

    <div class="row">

        <el-button type="primary" class="btn" size="large" @click="login">

            登陆系统

        </el-button>

    </div>

    <div class="row"><a class="link" @click="changeMode">二维码登陆</a></div>

</div>


抛开二维码登陆,模型层里面我们能实际用到的变量只有usernamepassword

data: function() {

    return {

        username: null,

        password: null,

        qrCodeVisible: false,

        qrCode: '',

        uuid: null,

        qrCodeTimer: null,

        loginTimer: null

    };

},

二、实现登陆功能

登陆按钮点击事件回调函数是login(),创建该函数。

login: function() {

    let that = this;

    if (!isUsername(that.username)) {

        ElMessage({

        message: '用户名格式不正确',

        type: 'error',

            duration: 1200

        });

    } else if (!isPassword(that.password)) {

        ElMessage({

        message: '密码格式不正确',

        type: 'error',

            duration: 1200

        });

    } else {

        let data = { username: that.username, password: that.password };

        //发送登陆请求

        that.$http('/mis_user/login', 'POST', data, true, function(resp) {

            if (resp.result) {

                //在浏览器的storage中存储用户权限列表

                let permissions = resp.permissions;

                //取出Token令牌,保存到storage中

                let token = resp.token;

                localStorage.setItem('permissions', permissions);

                localStorage.setItem('token', token);

                //让路由跳转页面,这里的Home是home.vue页面的名字

                router.push({ name: 'Home' });

            } else {

                ElMessage({

                message: '登陆失败',

                type: 'error',

                    duration: 1200

                });

            }

        });

    }

},

三、实现登出系统

main.vue页面中,有退出系统的菜单选项。

https://img1.sycdn.imooc.com//63f55be100014f6b03530288.jpg

退出系统的菜单标签如下:

<template #dropdown>

    <el-dropdown-menu>

        <el-dropdown-item @click="updatePasswordHandle()">修改密码</el-dropdown-item>

        <el-dropdown-item @click="logout">退出</el-dropdown-item>

    </el-dropdown-menu>

</template>


退出系统按钮点击事件回调函数是logout(),实现该函数。

logout: function() {

    let that = this;

    that.$http('/mis_user/logout', 'GET', null, true, function(resp) {

        localStorage.removeItem('permissions');

        localStorage.removeItem('token');

        that.$router.push({ name: 'Login' });

    });

},


https://img1.sycdn.imooc.com//63f55c410001e69217330879.jpg

课程收获:通过视频加文档结合的方式,学习了Vue3.0+ElementPlus实现系统登录登出,期待后续学习!



点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消