针对本地缓存进行集中处理,针对前端的缓存进行预处理,缓存位置为内存变量,组件或页面内使用时,可以指定暂存localStorage
目前项目中大量使用缓存,导致首次进入时需要请求很多个参数,而且随着项目的业务增加越来越多,等待时间过长,直接影响用户体验,浪费不必要的流量。而且浏览器对本地localStorage有大小限制,会导致异常错误。所以针对上述问题,需要对此进行优化。
- 主界面不直接请求缓存,由使用到的子页面模块自己确定要使用哪些缓存。
- 建立统一的缓存中心,子模块打开时,去缓存中心取对应的缓存,没有时loading,并请求对应的缓存。
- 旧版本的所有页面需要改成模板的模式加载,在加载前去缓存中心取该页面所有需要的缓存,由缓存中心处理是否需要请求,并暂存localStorage
- 统一处理存放缓存在主进程中,由配置项来确定是使用localStorage还是内存变量,
- 预加载loading效果,需要传递使用缓存的容器.
- 订阅缓存title,更新缓存,并发送消息到使用缓存的模块处理。(这个由后台来确认是否可以进行单条更新)
- 取值时返回promise对象,处理异步缓存问题,同时多个模块用到同一个缓存时,只请求第一个缓存,统一返回结果.
- 主动更新:第一次主动请求,模块获取
- 被动更新:收到后台的参数更新推送
- 事件通知:缓存信息更新时,发送事件到对应模块,看是否需要对该缓存的变化进行对应处理,如下拉框的值是否需要自动更新,否则需要等下次打开模块时获取最新值。