业务功能:
该项目是一个集网盘、在线协作、AI创作于一体的智能内容创作平台
工作内容:
1. 使⽤ fabric.js封装通用的批注画板,支持各种涂鸦功能、以及画笔的撤销重做
2. 文件评论功能,支持图片评论及回复、@项目成员、视频帧定位批注、PDF页批注等
3. 封装通用的图片展示组件、支持移动缩放、导航器等功能,支持鼠标和触摸操作
4. 接⼊金山office文档在线协作、接入阿里OSS视频直播功能
5. 接入chatGPT功能,开发chat聊天界面、支持文生图、图片重绘、文档解析、剧本创作、图片库检索等功能
6. 文件上传功能,包括点击、拖拽、粘贴等上传方式,最大支持10GB文件上传。
7. 支持上传的视频识别并导出场景帧图片功能
8. 文件管理页面支持常用的文件管理操作,如:拖拽选择多个文件、拖拽移动或复制到目录
9. 兼容各端的批注创建展示。因小程序端、flutter与web的差异,需要封装基于各端能使用的画板工具,需要抹平坐标上的差别导致的错位问题
10. 大量的图片展示导致的页面卡顿问题解决。无限加载滚动导致页面渲染太多内容导致卡顿,采用虚拟列表解决
11. 图片展示列表、文件管理列表等多个模块都使用了无限滚动加载,同时要支持多选操作,鼠标拖拽选中功能。
12. 封装了大量hook与通用功能组件,方便后续的开发。如:粘贴上传、拖拽上传、拖拽移动复制、文件管理器组件、图片剪辑组件
13. 分享功能:分享图片、分享项目文件、创建展示及审阅、邀请加入项目等,接入了微信分享
14. 消息通知。使用websocket开发的消息中心,有新的项目动态即时的通知到用户
15. 国际化。支持中文和英文切换
16. 会员开通功能及“知点”充值功能。目前支持微信和支付宝支付
17. 项目优化:异步加载组件、依赖的第三方插件使用cdn引入,减少不必要的插件引入,部分功能组件自己研发。
18.持续的重构优化。抽离出通用的组件和方法