美文网首页
登录/退出流程

登录/退出流程

作者: 落墨诗卷 | 来源:发表于2021-06-26 18:03 被阅读0次

1.封装axios

main.js

import axios from 'axios'

//创建axios实例
const instance = axios.create({
    baseURL:   'ur',
    timeout: 1000,
})

// 请求拦截
instance.interceptors.request.use(function (config) {
  // 在请求之前做的事
  return config
}, function (err) {
  // 在请求错误后做的事
  return Promise.reject(err)
});

// 响应拦截
let myInterceptors = instance.interceptors.response.use(function (response) {
    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么
    return response;
}, function (err) {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    return Promise.reject(err);
})

// 移除拦截器
instance.interceptors.response.eject(myInterceptors)

// 判断请求方式
export function request (type, url, params) {
  if (type == 'get') {
    return get(url, params)
  } else if (type == 'post') {
    return post(url, params)
  } else if (type == 'put') {
    return put(url, params)
  }
}

// get请求
function get(url, params) {
  return instance.get(url,params)
}
// post请求
function post(url, params) {
  return instance.post(url,params)
}
// put请求
function put(url, params) {
  return instance.put(url,params)
}

2.将登录成功之后的token,保存到客户端的sessionStorage中

原因:为了保证项目中除了登录之外的其他API接口,比须在登录之后才能访问,而且该token只能在当前网站打开期间生效,所以要将token保存在sessionStorage中

login.vue

 mounted() {
 function login(params) {
  return request(
    'post',
    // 拼接url(这个看后端传参需求决定是否要拼接)
    `/rqcode/query?uid=${params.uid}`,
    {id: 2, 
     uid:22}.then(res => {
        console.log(res);
        // 判断登录
        if(res.status !== 200) {
          return this.$message.error('登录失败');
        }
          this.$message.success('登录成功');
          // 生成token
          window.sessionStorage.setItem("token",res.data.token)
          // 路由跳转
          this.$router.push('/home')
    })
  },
  )
};
}

3.挂载路由导航守卫,保证只在必须登陆后才能访问其他页面

router.js

/ 挂载路由导航守卫(写在路由里面)
router.beforeEach((to, from, next) => {
  //判断是否在登录页面
  if (to.path === "/login") return next()
  // 获取token
  tokenStr = window.sessionStorage.getItem('token')
  //判断是否携带token
  if(!tokenStr) return next('/login')
})

这篇文章是我在学习前端过程中所总结的登录流程,如有不对的地方,望各位大佬能给出指导意见。

相关文章

  • iOS 登录、退出流程整理

    iOS 登录、退出流程整理 iOS 登录、退出流程整理

  • 登录/退出流程

    1.封装axios main.js 2.将登录成功之后的token,保存到客户端的sessionStorage中 ...

  • iOS 登录、退出流程整理

    写在前面 仅以此文记录APP登录、退出登录比较简单核心的流程。 流程梳理 登录流程有两种情况,1、未登录时,打开A...

  • iOS 退出 登录逻辑

    iOS 登录、退出流程整理https://www.jianshu.com/p/0442024c8045

  • 登录/退出业务流程

    登录 业务流程 -在登录页面输入用户名和密码-调用后台接口进行验证-通过验证之后,根据后台的响应状态跳转到项目主页...

  • iOS开发 登录退出流程

    1.一个账号不能多个设备使用 https://www.jianshu.com/p/a0bdaa0919f1 htt...

  • 自动登录

    iOS系统如何实现app登录类似微信只需登录一次,退出后不需要每次登录? 我们先来看看登录流程 在app端保存用户...

  • 关于Android 退出登录与强制下线功能记录

    一、前提介绍 1.退出登录功能:退出登录到用户登录界面 2.强制下线功能:退出登录到用户登录界面,不清除用户登录帐...

  • 用户退出登录之主动&被动退出

    退出登录方案实现 对于退出登录而言, 触发时机一般有两种: 用户主动退出主动退出指:用户点击登录按钮之后退出 用户...

  • 追根溯源

    想在家远程办公电脑找数据,发现远程电脑怎么都登不进去,明明周末还远程登录过,操作流程一样,退出、重启、重新登录…都...

网友评论

      本文标题:登录/退出流程

      本文链接:https://www.haomeiwen.com/subject/ispzyltx.html