Vue电商项目--导航守卫

news2024/12/23 18:23:34

导航守卫理解

导航 守卫

导航:表示路由正在发送改变,进行路由跳转

守卫:你把它当中‘紫禁城守卫’

全局守卫:你项目中,只要路由变化,守卫就能监听到。

举例:紫禁城【皇帝,太子】,紫禁城大门守卫全要检查

欧克,我们开始修改代码

说一下前置路由守卫的三个参数

router.beforeEach((to,from,next)=>{

})

 to:可以获取到你要跳转到那个路由信息

from:可以获取到你从哪个路由而来的信息

next:放行函数 next()放行 next(path) 放行到指令路由  next(false) 此路不通,原路返回

导航守卫的判断

用户已经登录,无法在跳转去login页面,但我们去其他页面它的token就没了。因为我们只在home页面派发了action,我们需要获取用户对象

现在的逻辑是如果你登录了,那是没有用户信息,它给你派送一个用户信息,然后放行。如果token失效了,清除token,重新登录

导航守卫用户登录操作

router.beforeEach(async (to,from,next)=>{
        next();
    let token=store.state.user.token;
    let name=store.state.user.userInfo.name;
    if(token){
        if(to.path=='/login'){
            next('/home')
        }else{
            // 如果有用户名
            if(name){
                next();
            }else{
                try {
                    // 没有用户名,派发action让仓库存储用户信息在跳转
                await store.dispatch('getUserInfo');
                next();
                } catch (error) {
                    // token过期
                    // 清除token
                    await store.dispatch('userLogout');
                    next('/login')
                }
            }
        }
    }else{

    }
})

trade静态组件

统一登录的账号?

13700000000 111111

先拆分trade静态组件,然后去注册路由

 然后是这个页面

我是结算按钮然后跳转到这个页面

获取交易页数据

接口说明

/api/user/userAddress/auth/findUserAddressList

获取用户地址信息

get

这是一个新的模块,要写一个新的仓库 

测试一下,派发这个action。成功了

获取交易页面用户信息?

用户登录了才可以获取用户地址信息,不登录没办法获取到的

 然后将他存储到仓库当中。 

除了这个请求,我们还要有获取订单交易页信息

获取订单交易页信息

请求地址

/api/order/auth/trade

请求方式

GET

参数类型

参数名称

类型

是否必选

描述

返回示例

成功:

{

    "code": 200,

    "message": "成功",

    "data": {

       "totalAmount": 23996,

       "userAddressList": [

            {

                "id": 2,

                "userAddress": "北京市昌平区2",

                "userId": 2,

                "consignee": "admin",

                "phoneNum": "15011111111",

                "isDefault": "1"

            }

        ],

        "tradeNo": "1b23c1efc8144bfc83e51807f4e71d3a",

        "totalNum": 1,

        "detailArrayList": [

            {

                "id": null,

                "orderId": null,

                "skuId": 4,

                "skuName": "Apple iPhone 11 移动联通电信4G手机 双卡双待",

                "imgUrl": "http://192.168.200.128:8080/RLOAElEmAATrIT-1J9Q110.jpg",

                "orderPrice": 5999,

                "skuNum": 4,

                "hasStock": null

            }

        ]

    },

    "ok": true

}

 

 获取订单交易页信息,并存储到vuex中

用户地址信息的展示

通过计算属性,把数据从vuex中拿出来。

然后渲染到页面上 

把数据拿出来,然后渲染到页面上

 这里的点击我们有一个排他的思想 

通过这个方法的绑定实现,排他思想

但我们最终要实现的是我们选中了上面那个收集人信息,下面的信息也应该发生改变

我们可以在计算属性中封装一个新的字段,这里是find查找数组中符合条件的元素返回,返回为最终的结果 

然后渲染到页面上

交易页面完成

先解决之前一个假报错的问题

老样子,把订单从vuex中捞到组件中 

先拿数据 

然后动态的渲染到页面上

现在修改这部分的内容

 搞定 

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

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

相关文章

sk_buff操作函数学习

一. 前言 内核提供了大量实用的操作sk_buff的函数,在开发网络设备驱动程序和修改网络协议栈代码时需要用到。这些函数从功能上可以分为三类:创建,释放和复制socket buffer;操作sk_buff结构中的参数和指针;管理socket b…

XML 学习笔记 7:XSD

本文章内容参考自: W3school XSD 教程 Extensible Markup Language (XML) 1.0 (Second Edition) XML Schema 2001 XML Schema Part 2: Datatypes Second Edition 文章目录 1、XSD 是什么2、XSD 内置数据类型 - built-in datatypes2.1、基本数据类型 19 种2.1.1、基本…

从0到1自学网络安全(黑客)【附学习路线图+配套搭建资源】

前言 网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的…

【STM32】小电流FOC驱控一体板(开源)

FOC驱控一体板 主控芯片stm32f103c8t6 驱动芯片drv8313 三相电流采样 根据B站一个UP主的改的(【【自制】年轻人的第一块FOC驱动器】),大多数元器件是0805,实验室具备且便于自己动手焊接 。 晶振用的是无源晶振,体…

Bias Tee理论到实践

Bias Tees是将直流电压施加到必须传递RF/微波信号的任何组件的必不可少的组件,最常见的是需要DC电源的RF放大器。 对于窄带应用,bias tee设计和结构是简单的,只需要注意组件的自谐振频率。 然而,对于宽带应用,bias t…

基于瑞萨RA6M5的环境监测系统设计

基于瑞萨RA6M5的环境监测系统设计 1. 设计简介 本项目初步设计思路是打算以瑞萨单片机作为控制和数据处理的单元,使用温湿度,光照传感器去监测周围的环境参数,在屏幕上完成传感器数据和相关信息的显示。同时,使用WIFI无线模组与…

用于大型图像模型的 CNN 内核的最新内容

一、说明 由于OpenAI的ChatGPT的巨大成功引发了大语言模型的繁荣,许多人预见到大图像模型的下一个突破。在这个领域,可以提示视觉模型分析甚至生成图像和视频,其方式类似于我们目前提示 ChatGPT 的方式。 用于大型图像模型的最新深度学习方法…

Pytohn将matplotlib嵌入到tkinter中

文章目录 matplotlib窗口组成tkinter布局嵌入图像 matplotlib窗口组成 tkinter是Python标准库中自带的GUI工具,使用十分方便,如能将matplotlib嵌入到tkinter中,就可以做出相对专业的数据展示系统,很有竞争力。 在具体实现之前&a…

FTP使用教程

FTP使用教程 目录 一.FTP简介二.FTP搭建三.FTP使用 一.FTP简介 FTP中文为文件传输协议,简称为文传协议。它也是一个应用程序,不同的操作系统有不同的FTP应用程序,这些应用程序都遵守同一种协议以…

六寸相纸打印拼图 - opencv

准备自己打印一些照片,三寸相纸性价比低,只好买六寸来拼四张然后裁剪,不过并没有搜到提供了这个功能的工具,想想代码应该很简单,所以就造轮子了。可能其实有但是我没搜到。 轮子在这里: https://github.co…

ArraySetter

简介​ 用来展示属性类型为数组的 setter 展示​ 配置示例​ "setter": {"componentName": "ArraySetter","props": {"itemSetter": {"componentName": "ObjectSetter","props": {"c…

React 论文《ReAct: Synergizing Reasoning and Acting in Language Models》阅读笔记

文章目录 1. 简介论文摘要翻译动机和主要贡献 2. REACT : SYNERGIZING *RE*ASONING *ACT*ING3. KNOWLEDGE-INTENSIVE REASONING TASKS3.1 设置3.2 方法3.3 结果和观察 4. 决策任务5. 参考资料 1. 简介 论文摘要翻译 虽然大型语言模型(LLM)在自然语言理…

医疗实施-集成平台下门诊就诊流程详解

目录 集成平台下门诊就诊流程详解1.患者建档2. 门诊挂号3. 医生就诊4.处方开立5.费用收取、6、科室执行医嘱集成平台下门诊就诊流程详解 这篇文章是考虑医院使用了集成平台之后,门诊就诊流程详解。与我的文章《医疗实施-门诊就诊流程详解》的大致一样,供学有余力的人阅读。 …

图解java.util.concurrent并发包源码系列——深入理解ReentrantLock,看完可以吊打面试官

图解java.util.concurrent并发包源码系列——深入理解ReentrantLock,看完可以吊打面试官 ReentrantLock是什么,有什么作用ReentrantLock的使用ReentrantLock源码解析ReentrantLock#lock方法FairSync#tryAcquire方法NonfairSync#tryAcquire方法 Reentrant…

SpringBoot笔记:SpringBoot 集成 Dataway

文章目录 1、什么是 Dataway?2、主打场景3、技术架构4、整合SpringBoot4.1、maven 依赖4.2、初始化脚本4.3、整合 SpringBoot 5、Dataway 接口管理6、Mybatis 语法支持7、小结 1、什么是 Dataway? 官网地址:https://www.hasor.net/docs/guides/quickstart Da…

连通块是什么

刷题的时候遇到一个名词概念,连通块是什么? 在图论中,无向图中的连通块(也叫作连通分量)是指原图的一个子图(即该子图只包含原图中的部分或全部顶点及边),该子图任意两个顶点都能通…

Swift 环境搭建

Swift是一门开源的编程语言,该语言用于开发OS X和iOS应用程序。 在正式开发应用程序前,我们需要搭建Swift开发环境,以便更好友好的使用各种开发工具和语言进行快速应用开发。由于Swift开发环境需要在OS X系统中运行,因此其环境的…

智能指针shared_ptr:自定义删除器

重点&#xff1a; 1.普通指针转化成智能指针。 2.智能指针创建的时候&#xff0c;第二个参数是自定义删除器&#xff0c;默认情况下&#xff0c;shared_ptr调用delete()函数。 class A { public:void Get() { cout << b << endl; }; private:int b{ 10 }; };clas…

Java 与其他编程语言:比较分析

Java 擅长可移植性和可靠性&#xff0c;Python 擅长通用性和简单性&#xff0c;JavaScript 擅长 Web 开发&#xff0c;C 擅长性能&#xff0c;Go 擅长效率。 在广阔的软件开发世界中&#xff0c;选择正确的编程语言对于任何项目的成功都至关重要。Java 是一种以其多功能性和可移…

交换机Vlan实验

介绍 Vlan表示虚拟局域网。 常见的网络安全技术 VlanACL Vlan的作用 Vlan隔离了广播域&#xff0c;增加了网络的安全性。 知识点 默认vlan vlan1 是默认vlan&#xff0c;主要机器开机了&#xff0c;默认所有的接口都属于Vlan1 交换机的接口模式 Access : 这个模式用来…