万世CRM客户关系管理系统
项目描述:
万世CRM是一款维护客户关系的后台管理系统,试图打造一种全新的方式与客户交互,帮助构建更有意义,更持久的商户
关系,更好的了解客户需求,鉴别并捕捉商机
技术栈:
React,Typescript,Redux,Antd,ahooks
项目模块:
整个项目包含线索管理,商机管理,合同管理,统计分析,系统管理模块等.主要负责脚手架的搭建,侧边栏、面包屑、权
限路由的联动功能,打包后优化以及一些业务模块的编写,
核心功能:
代码规范:
·使用Eslint和Prettier规范团队代码,选用了airbnb-base这种严格但不严苛的lint规则集;使用了eslint--config-prettier
和eslint-plugin-prettier解决两个插件间的冲突问题
权限管理:
·在Atd的基础上封装了新的面包屑组件.原有的面包屑样式简单,功能单一,无法删除导航记录.新的面包屑不单样式美
观,在新增/删除/切换导航增添了动画效果
·封装了usePermissionRoutes自定义hook,该hook监听用户登录状态和路由规则变化.根据权限的判断条件返回对应的
页面
性能优化:
·通过PerformanceAPl和Chrome devtools的performance选项卡,lighthousei选项卡粗估网页性能
·使用useMemo,useCallback,React.memo等减少组件渲染的次数
·配置splitChunks分包,cdn引入提高缓存效率
·配置imagemin实现自动对图片有/无损压缩.以及将图片转为渐进式图片.
·通过gzip压缩,抽取babel和webpack的runtime减少打包体积
·利用适配器模式对后端返回的数据进行转换,转换成组件库需要的数据
·利用缓存代理模式,缓存订单数据.对订单的分页功能实现秒开
业务功能:
·封装了withPaginationi高阶组件,为表格搭载分页器
·封装了Upload Excell组件,利用原生的拖拽和点击事件,结合XLSX库对客户信息进行批量导入导出
银辉房产网(移动端)
项目描述:
为某二手房经纪公司开发的移动端项目,聚合提高客户的房屋买卖服务、租赁服务、权证代办服务、房产交易咨询服务等
服务能力
技术栈:
React,Antd-Mobile,Typescript,Redux,axios
项目模块:
整个项目包含首页,咨询找房,用户模块等
核心功能:
移动端适配:
·使用lib-flexiblez动态设置不同分辨率下的rem大小,使用oostcss的插件oostcss-pxtorem批量将项目中的p转为rem
地图找房:
·使用百度地图移动端定位SDK,定位用户所在城市.使用react-baidu-map自定义覆盖物,将房源信息动态显示到地图上
推荐房源存储方案:
·设计了两套房源信息存储方案:对于尚未登录的用户,首页显示推荐房源,并且对房源的增删改查操作同步到本地存储中。
对于已经登录的用户,显示有针对性的推荐房源,对房源的增删改查操作同步到后端数据库
用户头像上传与裁减:
·封装了resolveToBase64函数,通过promise的方式将用户上传的图片转成base64,用于回显图片.再使用cropperjs)对
用户头像裁减,上传给后端
性能优化:
·通过react-.virtualized对房源展示进行长列表性能优化,只渲染可视区的房源列表
·通过antd的骨架屏组件对尚未渲染好的房源列表列表预先展示