Vue电商项目--uuid游客身份获取购物车数据

news2024/12/23 8:44:18

uuid游客身份获取购物车数据

获取购物车列表

请求地址

/api/cart/cartList

请求方式

GET

参数类型

参数名称

类型

是否必选

描述

返回示例

成功:

{

    "code": 200,

    "message": "成功",

    "data": [

        {

            "id": 61,

            "userId": "2",

            "skuId": 4,

            "cartPrice": 5999,

            "skuNum": 4,

            "imgUrl": "http://192.168.200.128:8080xxx.jpg",

            "skuName": "Apple iPhone 11 (A2223) ",

            "isChecked": 1,

            "skuPrice": 5999

        },

        {

            "id": 62,

            "userId": "2",

            "skuId": 2,

            "cartPrice": 5499,

            "skuNum": 1,

            "imgUrl": "http://192.168.200.128:8080/yyyy.jpg",

            "skuName": "Apple iPhone 11 (A2223) 64GB 红色",

            "isChecked": 0,

            "skuPrice": 5499

        }

    ],

    "ok": true

}

  vuex配发三步走,我们这里测试一下能不能拿到数据

 我们这拿不到数据是因为,服务器不知道你的身份,它如何拿你的详细的信息呢?我们需要告诉服务器,我们的身份是谁,比如(游客) 

 这里我们用到的技术就是uuid,它可以自动帮我们生成一个唯一标识

发现:发请求的时候,获取不到你购物车里面数据,因为服务器不知道你是谁?

使用uuid临时游客身份

而我们游客身份只需要登录一次就可以了。因此我们的思路应该是持久化存储

 这里我们封装一个模块,放到utis l里面,然后导出使用这个方法就可以了 

 要生成一个随机字符串,且每次执行不能发生变化,游客身份持久化存储. 先从本地存储中获取uuid,看是否本地存储里面有,如果有,生成游客临时身份,本地存储一次

 但是我们现在只能保证在仓库中。而不能发送到服务器

那么我们就把uuid提交到服务器中

请求头添加一个字段(userTempId):需要跟后台先沟通好 

uuid代码:

import { v4 as uuidv4 } from '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
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/617376.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

马尔萨斯 ( Malthus)人口指数增长模型Logistic 模型

3.要求与任务 从 1790 — 1990 年间美国每隔 10 年的人口记录如下表所示: 用以上数据检验马尔萨斯 ( Malthus)人口指数增长模型,根据检验结果进一步讨论马尔萨斯 人口模型的改进,并利用至少两种模型来预测美国2010 年的人口数量。 提示 1 &…

自学黑客(网络安全),一般人我还是劝你算了吧

作为从16年接触网络安全的小白,谈谈零基础如何入门网络安全,有不对的地方,请多多指教。 这些年最后悔的事情莫过于没有把自己学习的东西积累下来形成一个知识体系。 后续我也会陆续的整理网络安全的相关学习资料及文章,与大家一…

数据结构与算法练习(三)二叉树

文章目录 1、树2、二叉树3、满二叉树4、完全二叉树5、二叉树的遍历(前序、中序、后序)二叉树删除节点或树 6、顺序存储二叉树顺序存储二叉树遍历(前序、中序、后序) 7、线索化二叉树中序线索二叉树前序线索二叉树后序线索二叉树 1…

Matlab 之 Curve Fitting APP 使用笔记

文章目录 Part.I IntroductionPart.II 使用笔记Chap.I 拟合函数Chap.II 注意事项 Part.I Introduction 曲线或曲面拟合获取拟合参数。本篇博文主要记录一下 Matlab 拟合 APP Curve Fitting 的使用方法。 Part.II 使用笔记 这个APP用来做拟合的,包括二维数据的线拟…

常见的样本统计量及其数字特征

常见的样本统计量及其数字特征 下图来自《统计学图鉴》 样本统计量有什么作用? 因为总体特征包含有总体均值、总体方差等特征,我们在用样本推断总体时,其实就是用样本特征去估计总体特征,例如:样本均值这个统计量的期…

案例33:基于Springboot名城小区物业管理系统开题报告设计

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

Spark RDD统计每日新增用户

文章目录 一,提出任务二,实现思路三,准备工作1、在本地创建用户文件2、将用户文件上传到HDFS指定位置 四,完成任务1、在Spark Shell里完成任务(1)读取文件,得到RDD(2)倒排…

为什么要对实体类进行序列化并且要生成序列化ID?

一、为什么要对实体类进行序列化且要生成序列化ID 在Java开发中,实体类将会被用来与其他对象进行交互。Java语言是面向对象的,所以实体类包含了很多信息和方法。序列化是Java中一种将对象转换为字节流的机制,使得对象可以在网络上传输和存储。…

相机成像模型(一)

相机模组 如上图所示相机模组由多个元件组成,其中比较重要的元件包括镜头、感光芯片、驱动芯片。镜头的作用是聚集光线,确保良好的成像环境;感光芯片将光信号转换为电信号;驱动芯片则负责信号处理(去噪、白平衡等)与格式转换。 相机的成像过程为物体通过镜头聚集…

jvm cpu 高定位

快速的发现线程cpu高, 最终发现是gc线程, 最终去分析jvm top -o %CPU top -Hp108920 jmap -dump:formatb,fileheap.bin 108920 jvm 命令和工具_个人渣记录仅为自己搜索用的博客-CSDN博客 $ jstat -gcold 108920 MC MU CCSC CCSU OC OU YGC FGC FGCT GCT 218368.0 212670.3 253…

Java POI技术

引入依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.0.1</version> </dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-oo…

Netty的bytebuf详解

ByteBuf ByteBuf是对nio中ByteBuffer的增强。主要的增强点就是ByteBuf它可以动态调整容量大小&#xff0c;当要存储的数据超过了当前容量的上限就会进行扩容&#xff0c;扩容的上限是多少&#xff1f;扩容机制是什么&#xff1f;请跟着本文往下看。对了&#xff0c;还有一个增强…

区间预测 | MATLAB实现基于QRCNN-GRU卷积门控循环单元多变量时间序列区间预测

区间预测 | MATLAB实现基于QRCNN-GRU卷积门控循环单元多变量时间序列区间预测 目录 区间预测 | MATLAB实现基于QRCNN-GRU卷积门控循环单元多变量时间序列区间预测效果一览基本介绍模型描述程序设计参考资料 效果一览 基本介绍 1.Matlab实现基于QRCNN-GRU卷积神经网络结合门控循…

[BUUOJ] [RE] [ACTF新生赛2020] rome1

IDA 好久没写博客了&#xff0c;最近在刷re&#xff0c;这道题是我觉得十分有意义的一道题。故AC后总结分享给大家。不足之处请指正。 分析 直接导入IDA shift F12 双击后按 ctrl x跳转到被调用的函数中&#xff0c;按F5反编译&#xff0c;源代码如下 int func() {int r…

数据结构-线性表-链表

目录 线性表的链式存储结构&#xff1a;一、单向链表的ADT定义二、链表的优缺点 线性表的链式存储结构&#xff1a; 为了表示数据元素ai和其后继元素ai1之间的逻辑关系&#xff0c;对ai来说需存储其本身信息和后继元素的信息&#xff08;存储位置&#xff09;。这两部分组成ai…

Android系统(AOSP)--编译指令篇

目录 一、编译Android系统 二、普通编译指令 三、快速编译指令 四、新建lunch项和编译类型说明 五、Android编译系统的整体架构 六、编译后的输出目录和生成文件 七、Android常用编译命令总结 一、编译Android系统 1.Android系统全编译(Android5.1以后mtk都是这种方式…

裸辞3个月没工作,害怕面试,害怕HR问我的问题,怎么办?

其实裸辞最大的伤害就是很容易导致自己的不自信。 现在可能就是你的低谷期&#xff0c;你需要做的是什么呢&#xff0c;丰富自己。 你要相信&#xff0c;你只是太久没有面试过&#xff0c;生疏了而已。 今天小月带你回到面试场&#xff0c;找回面试最纯正的感觉&#xff01; 面…

火龙果MM32F3273G8P开发板MindSDK开发教程1 - 点亮LED

火龙果MM32F3273G8P-MindSDK开发教程1-点亮LED 1、登录官网下载对应的MindSDK固件 https://mindsdk.mindmotion.com.cn/&#xff0c;然后注册下载mm32F3270的固件即可。 下载完的文件为 plus-f3270_mdk.zip 解压后的文件路径如图&#xff1a; 2、新建LED工程 将下载的plu…

基于张量补全的交通数据复原文献汇总(最新)

由于传感器故障和通信故障等因素导致的交通数据缺失严重制约了ITS的发展与应用。如何准确、高效地恢复缺失数据已成为ITS的一个关键问题。近年来&#xff0c;LRTC&#xff08;低秩张量补全&#xff09;的方法已被广泛应用于交通数据补全。本文将介绍几篇最新的关于交通数据补全…

python3 爬虫相关学习7:初步摸索使用 BeautifulSoup

1 一个爬图片pic的代码的例子 下面这段是爬一些图片pic的代码学写了一段bs的代码&#xff0c;但是马上报错 #E:\work\FangCloudV2\personal_space\2learn\python3\py0001.txtimport requests from bs4 import BeautifulSoupurl"https://movie.douban.com/celebrity/10115…