【vue-admin-template】 Login事件的调取过程

1、解读Login

   handleLogin() {
      this.$refs.loginForm.validate(valid => {
        if (valid) {
          this.loading = true
          this.$store.dispatch('Login', this.loginForm).then(() => {
            this.loading = false
            this.$router.push({ path: this.redirect || '/' })
          }).catch(() => {
            this.loading = false
          })
        } else {
          console.log('error submit!!')
          return false
        }
      })
    }
  }

2、查找store中的login  在store>modules>user.js 找到

// 登录
    Login({ commit }, userInfo) {
      const username = userInfo.username.trim()
      return new Promise((resolve, reject) => {
        login(username, userInfo.password).then(response => {
          const data = response.data
          setToken(data.token)
          commit('SET_TOKEN', data.token)
          resolve()
        }).catch(error => {
          reject(error)
        })
      })
    },

3、store>modules>user.js 引入了外部方法
import { login, logout, getInfo } from ‘@/api/login’
import { getToken, setToken, removeToken } from ‘@/utils/auth’

api>user.js 这里是实际的接口调用方法

export function login(username, password)
{
 return request({
    // 页面登陆方法
    // data是传入参数,返回什么数据
    url: '/login', //实际调用的webapi接口方法
    method: 'get',
    params
  })
} 

4,可以看出这个模板的好处,当我们进行二次开发时,只需增加一个后端接口,用于身份验证。
步骤:

1.前端调用接口将用户名和密码传入后端
2.后端通过用户名在数据库中查询密码是否正确,正确则返回一个token
3.前端接收token,并将token保存在cookie中

保存token的方法也做了封装,作为一个工具类,utils->auth.js
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

B64A-消闲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值