• Vue项目的记录(十三)


    1.登录注册静态组件

    在这里插入图片描述
    assets这个文件夹放所有的组件公用的静态资源
    在这里插入图片描述
    在样式当中也可以使用@符号,(src目录的别名),要注意的是在前面你加上~

    2.注册业务

    这里的验证码,正常来说应该是要后台发送到用户手机上,然后用户再输入的,但是我们没有钱,就简单模拟这个功能就好了。 其次,收集表单的数据
    在这里插入图片描述
    在这里插入图片描述
    获取验证码接口,然后vuex三连环。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    然后将user合并到大仓库中
    在这里插入图片描述
    接着点击验证码的时候获取到验证码 并将自动填入到表单中
    在这里插入图片描述
    在这里插入图片描述
    继续收集表单的数据
    在这里插入图片描述
    创建和调用注册用户的接口
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    3.登录业务

    收集表单数据
    在这里插入图片描述
    在这里插入图片描述
    创建接口 vuex三连环
    在这里插入图片描述
    在这里插入图片描述
    点击登录事件(这里有个路径问题,需要将他处理,阻止提交表单的默认行为)
    在这里插入图片描述
    在这里插入图片描述

    4.用户携带token获取用户信息

    PS: vuex存储数据是非持久化的,一旦刷新之后数据就没有了
    用户登录只保存用户的token,添加token校验获取用户登录信息(接口 + vuex三连环)
    在这里插入图片描述
    在这里插入图片描述
    用户登录成功后跳转到 home页面,页面挂载后,派发action获得用户信息
    在这里插入图片描述
    但是这里有一个问题就是服务器没有带到token的信息,只带了UUID的临时游客id,所以登录了之后,还是显示未登录,因此需要在请求拦截器中的请求头中添加token的信息
    在这里插入图片描述
    在这里插入图片描述
    这样就添加了登录用户的token, 我们也是通过这个唯一的token来获得用户信息
    在这里插入图片描述
    将用户信息显示在Header中,很简单,v-if 即可
    Header中获得userInfo里面的name属性
    在这里插入图片描述
    在这里插入图片描述
    效果:
    在这里插入图片描述

    5.登录业务中存在的问题

    问题一:当页面点击重新刷新的时候,用户名又不显示了,因为再一次刷新的时候没有派发userLogin这个action,所以token无了,vuex不是持续化存储的
    在这里插入图片描述
    解决办法:使用html5新增的本地存储和会话存储
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    问题二:当在别的页面,比如说 detail详情页面的时候再刷新,用户的登录信息就没有了,因为detail压面里没有派发action(getUserInfo)。
    在这里插入图片描述
    在这里插入图片描述
    刷新之后又无了

    问题三:已经登陆过了,然而手动输入login还能带登录页面进行重新登录
    在这里插入图片描述
    解决上面问题二和问题三,需要用到路由守卫

    导航守卫 (通俗理解)
    导航:表示路由正在发生改变。进行路由跳转
    守卫:你把它当成 , 一个城市的护卫

    全局守卫:
    举例子:城市[市长、县长、村长],城市大门守卫全都要排查

    路由独享守卫:
    举例子:城市[市长、县长、村长],是相应的[市长、县长、村长]路上守卫

    组件内守卫: 我要去市长家
    举例子:我已经到到市长家外面了(进入了) (家门口)守卫

    解决:
    在这里插入图片描述
    不需要再在这个组件里派发action了
    在这里插入图片描述

    6.退出登录

    绑定事件
    在这里插入图片描述在这里插入图片描述
    清楚本地token + 调用接口 + vuex三连环
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    对5.登录业务中存在的问题 最后的catch做补充
    在这里插入图片描述

  • 相关阅读:
    AI服装生成,帮你完成服装设计的最后一步
    字符串函数
    web网页设计期末课程大作业:水果网站设计——HTML+CSS+JavaScript水果超市(带论文)
    51单片机串口通信
    WEB自动化-04-Cypress 测试用例编写和组织
    【老生谈算法】matlab实现低阶函数的二维图像获取——二维图像获取
    微擎模块 超人跑腿 1.7.1 后台模块+前端小程序,后台新增代办,代驾,家政模板自定义
    优维EasyOps,打造新一代运维新方式
    cmake使用教程
    QT7_视频知识点笔记_3_自定义控件,事件处理器⭐,定时器,QPainter,绘图设备,不规则窗口
  • 原文地址:https://blog.csdn.net/weixin_44482737/article/details/127456169