uuid临时游客身份——>在请求拦截器中带+本地存储(告诉服务器你是谁)

16 篇文章 0 订阅

uuid:是通用唯一标识码(Universally Unique
Identifier)的缩写,是一个128比特的数值。客户端在查找一个服务时,只需要在它的服务查找请求中指出与某类服务(或某个特定服务)有关的UUID,如果服务的提供者能将可用的服务与这个UUID相匹配,就返回一个响应。

1.封装产生uuid的模块

import { v4 as uuidv4 } from 'uuid';//创建一个uuid
//要生成一个随机字符串,且每次执行都不能发生变化,游客身份持久存储
export const getUUID = () =>{
    //先从本地存储获取uuid(看一下本地存储里面是否有)
    let uuid_token = localStorage.getItem('UUIDTOKEN');
    //如果没有就生成游客临时身份,并且本地存储一次
    if(!uuid_token){
        uuid_token = uuidv4();
        localStorage.setItem('UUIDTOKEN',uuid_token)
    }
    //切记有返回值
    return uuid_token;
}

在这里插入图片描述
2.将uuid保存在仓库中
在这里插入图片描述
3.在请求中带着uuid,请求拦截后添加一个字段

requests.interceptors.request.use((config)=>{
    //console.log(store)
    if(store.state.uuid_token){
        //请求头添加一个字段(userTempId):字段名和后台商量好
        config.headers.userTempId = store.state.uuid_token
    }
    nprogress.start()//进度条开始
    return config;
})

在这里插入图片描述

4.可以看到所有请求都携带着这个uuid

在这里插入图片描述
5.可以看到本地存储中也保存了这个uuid
在这里插入图片描述

缓存使用方法
1.localStorage.setItem('TOKEN',token)//存储token到本地缓存中,命名为TOKEN
2.localStorage.getItem('token')//获取本地缓存中的token
3.localStorage.removeItem('TOKEN')//清除缓存TOKEN

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值