3.2 电商后台管理系统 补充 --- 回车键登录功能

在前端登录的时候,一般都有登录的按钮,点击一下就可以进行登录操作,但是为了增强用户体验感,其实如果按了回车键就可以登录,这样的话登录起来会更加的方便。

实现

在基础的登录步骤完成之后添加回车键登录效果,回车键登录就两个步骤:

  1. 在vue的mounted钩子中,添加按键监听事件
  2. 然后定义事件处理函数即可。

在这里插入图片描述

 mounted () {
    // 绑定事件
    window.addEventListener('keydown', this.keyDown)
  },
 methods: {
    // 点击重置按钮,重置登录表单
    resetLoginForm () {
      // console.log(this);
      this.$refs.loginFormRef.resetFields()
    },
    // 表单的预验证
    login () {
      const encryptor = new JSEncrypt() // 新建JSEncrypt对象
      this.$refs.loginFormRef.validate(async (valid) => {
        // console.log(valid)
        if (!valid) return

        encryptor.setPublicKey(publicKey) // 设置公钥

        const rsaPassWord = encryptor.encrypt(this.loginForm.password) // 对需要加密的数据进行加密

        this.loginForm.password = rsaPassWord

        const { data: res } = await this.$http.post('login', this.loginForm)
        if (res.meta.status !== 200) return this.$message.error('登录失败')
        this.$message.success('登录成功!')
        // 1. 将登陆成功之后的 token,保存到客户端的 sessionStorage中
        //  1.1 项目中除了登录之外的其他API接口,必须在登录之后才能访问
        //  1.2 token 只应在当前网站打开期间生效,所以将 token 保存到 sessionStorage中
        //  1.3 localStorage 是持久化的存储机制,sessionStorage是会话期间的存储机制
        window.sessionStorage.setItem('token', res.data.token)
        // 2. 通过编程式导航跳转到后台主页,路由地址是 /home
        this.$router.push('/home')
      })
    },
    keyDown (e) {
      // 判断按下是否是回车键
      if (e.keyCode === 13) {
        // 判断用户名密码是否为空
        if (this.loginForm.password === '' || this.loginForm.username === '') { // 如果二者其一为空则不执行任何操作
          return false
        } else { // 如果两个都不为空则执行登录操作
          // 登录方法
          this.login()
        }
      }
    }
  }

猜你喜欢

转载自blog.csdn.net/weixin_47505105/article/details/123623192
3.2