个人信息
- 王懿晨/男/1995
- 邮箱:15527179911@163.com
- 本科:武汉大学计算机系
- 工作年限:2 年
- 技术博客:https://eagowang.github.io
- 期望职位:前端工程师
- 期望薪资:20k~22k
- 期望城市:深圳
工作经历
兔展智能 ( 2018 年 6 月 ~ 至今 )
内容营销小程序
项目描述:第三方小程序,用户授权之后可以生成并发布自己的小程序。前端使用 Taro,中间层使用 Node 做登陆管理、接口转发、图片上传。
负责工作:在项目中梳理第三方小程序的需求和开发流程,并负责开发首页模块、角色权限、图表展示的开发。
1. 首页模块
首页分为四个组件:轮播图,单图,列表图,文字。四个组件均可编辑(设置标题,图片,跳转链接等)。最后保存为 oss 文件。
2. 角色权限
小程序 tabbar 支持根据角色权限动态改变,试用两种方案。(1) 小程序自定义 tabbar,闪动严重。(2) 小程序自定义 tabbar + tabbar 组件,效果有所改善。
3. 图表展示
使用 f2 图表库,对照文档开发。
收获:第三方小程序的开发流程,前端数据结构的设计(小型编辑器),Taro 框架学习,学习 f2 图表的使用和思想。
渲染引擎
项目描述:移动端项目,负责渲染编辑器创建的作品。前端使用 Preact、Redux、Typescript,中间层使用 Node。
负责工作:负责广告模块的开发和一些 bug 的修复
1. 广告
广告分为三种类型,返回广告,尾页广告,作品已删除广告。分别对应不同的广告形式。写了一个异步的广告插件,对广告的开关、广告的类型处理。
2. z-index bug
渲染外部导入的作品,显示层级有问题,通过对比 dom 结构,分析 z-index 的位置,最终确定是动画生成了新的层叠上下文,导致 z-index 比较出错。
3. 返回广告 bug
微信 7.0.4 如果有 history 有 state 值,返回会刷新页面,导致广告无法展示。经过反复测试,发现进入页面 replaceState,并且替换一个不重复的 url 可以避免问题。
收获:编写异步插件并通过事件与主代码块通信,提升 bug 定位与修复能力
官网
项目描述:pc 端项目,负责渲染编辑器创建的作品。前端使用 React、Redux、Typescript,中间层使用 Node。
负责工作:负责作品案例,滑块验证码组价开发。
1. 作品案例
作品案例使用服务端渲染,用 iframe 嵌入作品,并展示作品的基本信息和截图。点击截图可以跳转到作品对应页面。
2. 滑块验证码组件
根据后端生成的两张图片,在前端展示,并计算拖动值,回传后端做校验。
收获:React 服务端渲染,滑块验证码组件开发,iframe 通信,跨域附带 cookie 问题。
构建工具升级
利用工作空闲时间,将构建工具升级为 webpack4 + babel7,使用 cache-loader, thread-loader,TerserPlugin 提高构建速度。对构建工具有一定的了解。
美的电商 ( 2017 年 6 月 ~ 2018 年 6 月 )
烘焙社区项目
项目描述:烘焙社区是一个文字,语音直播的平台,附有类似微博的发帖功能。该项目是全栈开发。前端 Zepto,Vue、后端 Php,Mysql。使用服务端渲染。
负责工作:“课程分类”,“分类搜索”,“话题帖子”,“优惠券”,“签到”等模块的开发
1. 课程分类、分类搜索
对课程加上分类标签,并支持分类搜索。
- 需求:管理后台增删改查分类、设置课程分类,移动端展示分类筛选。
- 数据库设计:分类表,课程-分类映射表。
- 收获:长列表优化,图片懒加载
2. 话题帖子
用户可以发布帖子,##包裹的内容自动生成话题,帖子可以点赞、评论。
- 需求:管理后台设置热门帖子,移动端展示话题、帖子、评论。
- 数据库设计:话题表,帖子表,帖子话题映射表,用户评论映射表
- 收获:触发频率高的请求作限制,稍复杂数据库设计,话题的判断,图片预览组件开发
3. 优惠券
管理后台可以批量生成优惠券,用户在移动端可以领取优惠券,使用优惠券。
- 需求:管理后台创建优惠券、查看优惠券领取、使用情况。用户在移动端可以领取、使用优惠券。
- 数据库设计:优惠券批次表,优惠券表(100 张分表),用户优惠券映射表
- 收获:先创建优惠券批次再用 cron 脚本生成优惠券,优惠券防刷(产品,技术),数据库分表。
其他项目
赠品管理项目:管理端项目,主要使用 Vue 和 Vue-router,给店铺创建活动,活动有不同的档位,每个档位可以选择不同的礼品,支持 excel 导入和导出。
技能清单
掌握:
- 前端基础:Javascript,ES6,Html,Css,Typescript
- 前端框架:React,Redux,React-Router
- 前端工具:Webpack,Babel
- 版本管理:Svn,Git
了解:
- 服务端:PHP,Node
- 数据库:Mysql