‘仿微信发表朋友圈’项目中登录功能的业务逻辑

登录功能

  • 手机号验证码都通过后端验证后 返回用户数据 登陆成功
  • 成功后 调用store中的setUser方法
    在这里插入图片描述
  • store中的setUser方法 将后端返回的用户信息存储到localStorage中

在这里插入图片描述
在这里插入图片描述

  • 同时登录成功后服务器会将token自动存入我们的cookie中 有过期时间

在我们请求需要登录的接口时将cookie中的token放在请求体中才能够顺利访问 当cookie过期后 再请求接口时则拿不到token必须重新登录
为了安全 所以设置过期时间

  • 当cookie过期时 将 localStorage 中的用户信息也清除

如何知道cookie什么时候过期 当用户访问某需要登录才能访问的借口时 服务器返回无效token或者code为1000则说明 cookie过期

  • 所以在响应拦截器中进行如下操作
    在这里插入图片描述
  • 当我们点击某些需要登录才能实现的功能时

判断staro中的currntUser中的._id是否存在
这里是引用

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

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

相关文章

kubernetes--配置文件

转载于:https://www.cnblogs.com/caiciadeliliang/p/10993388.html

微信动态中的背景图更换

初衷: 图一中的红框中的部分,作为用户自定义的背景图,如果用户没有上传也会为其自动设置一张背景图,当用户点击时则会出现图二中的选项 ,点击取消则选项消失,点击从相册选择则会跳转本机的相册&#xff0c…

大数据学习——akka自定义RPC

实现 package cn.itcast.akkaimport akka.actor.{Actor, ActorSystem, Props} import akka.actor.Actor.Receive import com.typesafe.config.ConfigFactoryimport scala.collection.mutableimport scala.concurrent.duration._class Master(val host: String, val port: Int) …

从Client应用场景介绍IdentityServer4(一)

从Client应用场景介绍IdentityServer4(一) 原文:从Client应用场景介绍IdentityServer4(一)一、背景 IdentityServer4的介绍将不再叙述,百度下可以找到,且官网的快速入门例子也有翻译的版本。这里主要从Clie…

开发常用代码笔记

Vue 使用moment插件对时间进行格式化(全局设置) 下载插件 npm install moment --save 在main.js中引入插件 import moment from ‘moment’ 在main.js中定义全局过滤器 Vue.filter(dataFilter,function (dataStr,patten YYYY-MM-DD HH:mm:ss) {retur…

springboot 参数校验详解

https://www.jianshu.com/p/89a675b7c900 在日常开发写rest接口时,接口参数校验这一部分是必须的,但是如果全部用代码去做,显得十分麻烦,spring也提供了这部分功能,本文来探究一下如何实现 1.配置 spring-boot-starter-web包自动依…

微信小程序——账号及开发工具

1. 注册微信小程序账号 点击我进入微信公众平台 进入后点击立即注册 注册成功且登录后进入小程序管理后台 2. 安装开发者工具 点击进入开发文档 进入安装开发工具(稳定版本) 一路默认下一步进行安装 3. 开发者工具的使用 使用注册微信小程序的微信号…

CSS注意的地方

content-box和border-box的区别 2018年02月27日 22:20:16 sulingliang 阅读数:8011盒子模型 盒子宽度:paddingbordercontent-width 盒子高度:paddingbordercontent-height 如图所示 盒子模型content-box 说明:在内容宽度和高度之…

机器学习笔记(6) 线性回归

先从最简单的例子开始,假设我们有一组样本(如下图的一个个黑色的圆点),只有一个特征,如下图,横轴是特征值,纵轴是label。比如横轴是房屋面积,纵轴是房屋价格. 现在我们要做什么呢?我们试图找到一条直线yaxb,可以尽量好的拟合这些点. 你可能要问了,为啥是直线,不是曲…

仿微信朋友圈项目梳理

项目功能简介: 用户通过手机号验证码进行登录和注册 可以浏览动态列表中的所有动态 登录成功后用户可以发表自己的动态 也可以对自己认可欣赏的动态进行点赞和评论 也可以通过动态结识志同道合的朋友 进行聊天和探讨 前端:采用Vue框架搭建 weui进行页面…

如何处理大流量高并发

1.动静分离。 将网站中的静态资源单独拆分出来, 比如 css, js, 图片, 视频资源单独存储在一台服务器上, 或者直接使用云存储平台, 七牛云或者阿里云之类的, 这样能有效的降低主服务器的运行压力 2.CDN加速。 云平台提供 CDN 加速, 可以对资源进行全国服务器节点的分发, 提高全国…

echarts鼠标事件以及自定义数据获取

事件添加方法: 对应官网位置:https://www.echartsjs.com/api.html#events 鼠标事件包括 click、dblclick、mousedown、mousemove、mouseup、mouseover、mouseout、globalout、contextmenu。 myChart.on(click, function (params) {console.log(params); …

[数学]点、线、面分割问题

平面分割问题 p条直线相交于一点时,分割的图形有 2*(n-1) 个,此时再加一条直线,在 2*(n-1) 的基础上再加 n条,此时为2*n n条曲线,其中有m条相交于一点,每两个曲线都交于两点 平面上有n条直线,且…

移动开发

1.移动端基础 1.1 浏览器现状 PC端浏览器 360浏览器、谷歌浏览器、火狐浏览器、QQ浏览器、百度浏览器(停止服务)、搜狗浏览器、IE浏览器 移动端浏览器 UC、QQ浏览器、欧朋浏览器、百度手机浏览器、360、搜狗、猎豹、谷歌等其他手机自带的浏览器 国…

Django之路由系统

Django的路由系统 Django 1.11版本 URLConf官方文档 URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表。 你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。 URLconf配置…

微信小程序——操作数据库

案例一:统计用户的访问次数 业务需求: 统计每个用户对程序的访问次数将访问次数存储到数据库中访问次数应该与用户进行关联 业务逻辑: 如果用户是第一次访问此程序,向数据库添加一条记录:{openid:45454…

shop--12.阿里云部署以及域名绑定

一、申请阿里云服务器(1)PC访问阿里云https://www.aliyun.com/,申请阿里云帐号(可以用您的支付宝帐号登录,因为支付宝帐号已经进行了实名认证,使用起来更方便)并登录(2)找…

微信小程序——获取用户的运动步数

程序获取用户信息步骤 点击参考微信文档中的授权首先程序先向用户申请访问哪些权限用户做出选择后返回给程序程序携带权限访问服务器如果用户允许则返回信息如果用户为允许则不返回 自定义函数getUserRun 为获取用户的微信运动数据 页面加载调用此函数函数中执行下面操作 1…

C++之前置自增与后置自增

关于前置自增与后置自增的区别我是参考这里:http://bbs.bccn.net/thread-454977-1-1.html 简单复述下,比如x; 与 x; 在C中,x这个表达式的值为原先x的值1,副作用是x的值增加了1;(C中不是这样定义的&#xff…

第一次个人作业

该作业所属课程:https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2作业要求地址:https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2/homework/3340团队名称:脑壳痛 作业的目标 1.通过测试其他组的软件项目学习其…