网站导航
ES6的一些高级技巧
Object.entries()方法返回一个给定对象自身可枚举属性的键值对数组;Object.fromEntries()方法将键值对列表转换为一个对象;Symbol是一种新的原始数据类型,用于创建唯一的标识符;Symbol属性是对象中使用Symbol作为键创建的属性;WeakMap是一种集合类型,其中键必须是对象,并且在没有其他引用时会被垃圾回收;Promise.allSettled()方法返回一个在所有给定的promise已被解析或被拒绝后决议的promise,并带有一个对象数组,每个对象表示对应的promise结果。
前端实现单点登录
提到单点登录,首先可以想到传统登录,通过登录页面根据用户名查询用户信息,判断密码是否正确,正确则将用户信息写到session,访问的时候通过从session中获取用户信息,判断是否已登录,登录则允许访问。单点登录有个简称是sso,它是一个功能可以控制多个有联系的系统操作,简单地理解为通过单点登录可以让用户只需要登录一次软件或者系统,那么同系统下的平台都可以免去再次注册、验证、访问权限的麻烦程序,通俗易懂的理解为一次性登录也可以一次性下线。一个系统登录流程:用户进入系统——未登录——跳转登录界面——用户名和密码发送——服务器端验证后,设置一个cookie发送到浏览器,设置一个session存放在服务器——用户再次请求(带上cookie)——服务器验证cookie和session匹配后,就可以进行业务了。
Web前端监控的方案
前端监控,对于业务和团队的重要性,不言而喻,是前端领域绕不开的一个话题。最大的意义是能了解系统的运行状态,哪些地方还有优化的空间,让App和网站运行的更流畅,从技术的角度为业务赋能,获取到更多的潜在用户。监控的形式,主要分为两类:主动监控 和 被动监控。在页面埋点时,选择哪些指标十分重要,需要和业务方统一好口径。一个完善的监控系统,监控的指标要全面、细粒度、易于量化等。UV(用户访问数)、PV(页面被访问次数)、用户的留存率、转化率等等一般和业务耦合比较深,没有通用的范式。在采集时,结合业务需要,在特定的地方埋点,选择统计的表达式。