1、熟练使用js、html、css
2、熟练使用vue2全家桶,会vue3
3、熟练使用less、scss等插件
4、熟练使用element-ui,antdesign等库
5、了解webpack,能够修改一些配置
6、了解node,使用node开发过增删改查接口,连接数据库
1、提供给测试用的插件
技术栈:rollup+ fetch + htmlcanvas
技术实现:
● 使用 rollup 搭建项目
● 使用 canvashtml 实现截图以及截图动画(右上角向左下角进行缩放的效果)
● 使用 canvas 绘制可以涂鸦的画布,页面背景为半透明,底部可以切换文字输入或者涂鸦
● 使用 class 类实现导航栏、确认框、日期选择器、输入框等自定义组件
● 使用 SM 2对登录账号密码进行加密
● 使用 window.addEventlistener 进行全局监听,结合延时器,长按3秒后弹出方框,展示选中位置的文字、图片的样式标注
● 通过 input 进行图片上传,上传前转换为 base64格式,并进行大小限制。视频由于网关限制,最大只能1M
2、ocr识别
技术栈:vue + jquery + sa-sdk-javascript + htmlcanvas
技术实现:
● 由于仓库的特殊性,页面无法通过 import 导入依赖包,只能通过 script 方式动态引入依赖。依赖文件上传到内部操作平台,动态创建 script 引入
● 通过 navigtor.mediaDevices.getUserMedia 唤起摄像头,需要做非空处理,防止报错
● 通过 canvas 锁定绘制的图片大小及位置, 使用 htmlcanvas 进行截图
● 进入页面、点击事件、调用完接口进行埋点
● 使用 crypto.js 对返回的参数进行解密
3、管理系统
● 基于 vue+avue.js 以及 element-ui 框架进行开发的管理系统,avue.js 基于 elemeng-ui 进行二次开发,大大减少了开发者的时间
● 有一个复杂的表单,50多个控件,通过 element-ui 进行封装,封装的内容丰富,有下拉,时间,树结构,单选多种控件,还有基于表单控件的基础上添加按钮,通过按钮点击进入另一层表单,通过表单带出数据回填在控件上的控件,封装完成后通过动态数据去控制这个表单
● 会议部分,需要加入日历,日历中某一天可能需要展示特定的信息,前台需要对数据进行
● 处理,通过发送开始跟结束时间,后台返回的日历只几条数据,结合后台返回的数据,拼接成42条数据,渲染在日历上,有信息地方需要可以点击编辑,又需要套上一层表单
● 授权模块,需要对用户权限进行授权,通过v-bind 封装一个自定义指令,自定义指令中调用接口来判断是否有权限,没权限的不展示出信息
● 首页展示,通过 echars 来绘制图表,离开页面时需要进行销毁,否则后导致内存泄漏,会页面会不刷新