首页 > 其他分享 >前端多方式登录功能完成

前端多方式登录功能完成

时间:2022-11-03 13:22:07浏览次数:78  
标签:username cookies 用户名 登录 前端 功能 password response

逻辑导航

1.当在前端输入用户名和密码之后,点击登录,后端校验完毕返回前端
2.前端拿到需要首先做个判断,判断用户是否输入用户名和密码,未输入则发出提示;输入了则发送post请求给后端,校验用户名和密码
3.校验通过,前端拿到后端返回的token和用户名等数据
4.登录成功,则关闭登录框,同时,在登录注册那位置显示用户名和注销字样

点击登录按钮,触发的操作

 // 点击登录按钮,如果username和password有值,则发送请求
    login_password() {
      if (this.username && this.password) {
        // 发送请求
        this.$axios.post(this.$settings.base_url + '/user/login/', {
          username: this.username,
          password: this.password,
        }).then(response => {
          // console.log(response.data)
          // 先判断用户名和密码是否正确
          if (response.data.code == 0) {
            this.$message({
              message: '用户名或者密码不正确!',
              type: 'warning'
            })
          } else {
            // 成功之后,把token和username保存到cookies里
            this.$cookies.set('token', response.data.token, '7d')
            this.$cookies.set('username', response.data.username, '7d')
            // 登录成功关闭登录窗口
            this.$emit('close')
            // 当关闭登录窗口时,立刻提醒前端显示用户名
            this.$emit('loginsuccess')
          }
        }).catch(errors => {
        })
      } else {
        this.$message({
          message: '用户名和密码必须填哦!',
          type: 'warning'
        })
      }
    }

登录成功之后,页面登录注册部分改为用户名和注销

image

        <div v-if="!username">  #v-if 就是判断有没有username
          <span @click="put_login">登录</span>
          <span class="line">|</span>
          <span @click="put_register">注册</span>
        </div>
        <div v-else>
          <span @click="put_login">欢迎您:{{ username }}</span>
          <span class="line">|</span>
          <span @click="logout">注销</span>
        </div>

补充:vue框架的cookies操作

常常用来修改状态,cookies有值则显示什么页面,无值显示什么页面;

语法:

this.$cookies.set('key',value,过期时间秒)
this.$cookies.get('key')
this.$cookies.remove('key')

标签:username,cookies,用户名,登录,前端,功能,password,response
From: https://www.cnblogs.com/suncolor/p/16854143.html

相关文章

  • 在登录上运用拦截器
    简述:跟着狂神学Java,使用SpringMVC的拦截器,敲的一个小demo,主要理解拦截器的使用。也可以去看看狂神的笔记  https://www.kuangstudy.com/zl/ssm#header3拦截器拦截器......
  • 如何登录设备(睿易篇)
    大家好,我是小杜,经过这几天的学习,已经基本了解了产品类别以及一些基本功能,我觉得我已经可以了,但师傅认为我的水平还差得远呢,不过也还是同意我到机房接触设备并告知目前......
  • 4款实用的黑科技软件,白嫖党最爱,功能强大到离谱
    闲话少说,直上干货。1、Dism++这是一款国人研发,免费又好用的电脑优化工具,备受全球电脑爱好者追捧,它解决了系统安装与维护两大痛点问题——自定义设置与优化,相当于给电脑请......
  • SSH免密码登录
    服务器A如果要免密码登录到服务器B时,需要在服务器A上生成密钥对,再将生成的公钥上传到服务器B上  客户端A生成公私钥:ssh-keygencd~/.sshls上传公钥......
  • net core实现分布式session,单点登录
    原文网址:http://m.tnblog.net/aojiancc2/article/details/2436要想在netcore中实现分布式session,实现单点登录,我们可以把session保存到redis中,这样就可以多个项目共享s......
  • Vue面试题43:Vue3性能提升体现在哪些方面?(总结自B站up主‘前端杨村长’视频,仅供自用学习
    分析vue3在设计时有几个目标:更小、更快、更友好,这些改进多数和性能相关,因此可以围绕介绍;思路总述和性能相关的新特性;逐个说细节;能说点原理更佳;回答范例......
  • 设计模式十三(数据访问对象模式,前端控制器模式)
    数据访问对象模式(DataAccessObjectPattern)或DAO模式用于把低级的数据访问API或操作从高级的业务服务中分离出来。以下是数据访问对象模式的参与者。数据访问对象......
  • 七牛云API的使用包括Ajax上传功能及凭证生成
    1.服务端(主要用于生成上传,删除,下载等凭证)引入Qiniu的Get包。包就叫Qiniu。//上传凭证//上传凭证:其余凭证类似的写法publicstringUpLoadToken()......
  • Datahub新版本0.9.1更新,列级别数据血缘功能发布!
    大家好,我是独孤风。近期Datahub进行了一次大的版本更新,从0.9版本以后Datahub也正式发布了列级别数据血缘的功能。0.9.1版本又增加了,列的影响分析这个功能。这样Datahu......
  • 前端经典面试题
    HTML&CSS方面1、CSS选择器权重!important>行内样式>id选择器>类选择器>标签选择器>通配符>继承 2、盒模型在我们HTML页面中,每一个元素都可......