如何设计统一登录业务
前言几乎所有的项目都需要登录,无论是权限限制、个性化定制、信息安全等需求,都要通过登录系统来获取用户信息,以便提供后续服务。而一个公司可能会有多个不同的项目,每个项目后端都是共用同一套用户系统的话,就势必会有通用登录的需求出现。通用登录的方式有很多种,下面我们仅探讨前端的实现方案。项目子域名不同,共用一个父域通过设置 cookie 的 domian 属性,可以使得 cookie 携带的内容在父子域
前言几乎所有的项目都需要登录,无论是权限限制、个性化定制、信息安全等需求,都要通过登录系统来获取用户信息,以便提供后续服务。而一个公司可能会有多个不同的项目,每个项目后端都是共用同一套用户系统的话,就势必会有通用登录的需求出现。通用登录的方式有很多种,下面我们仅探讨前端的实现方案。项目子域名不同,共用一个父域通过设置 cookie 的 domian 属性,可以使得 cookie 携带的内容在父子域
第一个故事:切换到夜间模式在 WEB 开发中,HTML 负责网页的结构,CSS 负责网页上各个元素的展示样式,JS 则负责网页和用户的交互。想要成为一名优秀的前端工程师,首先要做的就是遵守这三者各司其职的原则,让我们的代码易于维护和扩展。但是,有时候我们常常一不小心就破坏了这个原则。又或者,我们为了实现业务需求,根本不管这个规则。这都会导致我们的代码结构混乱,维护困难。那么下面,我就通过一个例子,
var element = new Image(); Object.defineProperty(element, "id", { get: function () { console.log("debugger start") debugger; }, }); requestAnimationFrame(function chec
全部捕获/ 404未找到路线常规参数只会匹配网址片段之间的字符,并用分隔/。如果我们想匹配任何东西,我们可以使用自定义参数正则表达式,方法是在参数后面紧随括号内添加正则表达式:const routes = [ // will match everything and put it under `$route.params.pathMatch` { path: '/:pathMatch(.*
灵感来自此博客主要模拟了Router的实现原理客供大家参考index.html<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content