微信聊天截图生成器开发,vue3+elementUI Plus体验

前言

时隔三年,重新写代码。距离上一次写代码,已经过去三年了。

三年前从前端转去做产品,前端本身对于产品经理来说,也算是轻车熟路,所以厌倦了写代码的无聊,或者对于前端岗位的担忧,于是选择换一个赛道卷。

也不知道这样的选择是否正确,不过现在看来,在互联网行业急剧萎靡的当下,似乎没有多大差别。

去年裸辞休息了大半年,在当时的就业环境下,肯定是一个十分勇气的选择。

不过,不管怎么样,在公司干得不开心,不管什么样的选择,都是无可厚非的。

相比于钱来说,我可能更加惜命。

重新捡起代码

本以为,3年时间0接触前端代码,重新捡起来可能需要很长时间,当我真的重新打开 VS Code 的那一刻,仿佛一切都回来了,那感觉就像是热血动漫中高能时刻。

一切还是那么顺手,某种层面上来说,似乎更加顺手了。

不得不说,前端的迭代实在太快了,一日不见,已经迭代了无数个版本。

本项目是个人项目,基于vue3+elementUI Plus开发的微信聊天截图生成器,如下:

技术选型

一个小而美的网站,最适合的还是Vue,再选择一个顺手的UI框架,基本可以满足大部分需求了,这适合大部分前端项目。

本项目,技术选型vue3.0+elementUI Plu

由于用到了数据存储,作为一个纯前端项目,选择使用indexDB,方便数据操作,引入了dexie.js

图片生成工具选择html-to-image

项目部署直接使用github pages

vue3.0相比于2.0代码风格实在相差太大了。

当然,尤大大还是很贴心的兼容了2.0的代码风格,所以大胆拥抱吧。

不过既然选择3.0,那就是希望体验3.0的特性,比如组合式Api,比如steup语法糖,不得不说相比选项式,这种代码书写方式,真是随心所欲。

当然也有不太舒服的地方,响应式数据必须使用ref包裹,刚开始可能会忘记。

项目页面结构

本项目页面比较少,仅有首页、关于等文案性页面,聊天截图、转账截图等功能性页面。

选择上中下页面布局,对于功能性页面,左右布局,左侧为功能菜单和选项。

功能主要包含,手机界面状态参数配置,比如手机时间,信号等级,WiFi,充电等等,手机型号选择,对应不同的像素尺寸,角色创建,创建不同的聊天角色头像和昵称。对话编辑,包括文字,系统时间、语音等。

最后将所有参数和数据渲染到手机界面上。

渲染的界面可以通过html-to-image转成png图片,实际上是生成base64图片路径。

但是,在转成图片的过程中,可能会和实际html有一定的出入,这可能是由于图片渲染的机制问题,比如我代码中使用了margin,但是渲染的时候就不显示边距,但我改成padding就没有这个问题。

所以还是需要实际调试的。

最终生成截图效果

总结:项目没什么难度,但是对于数据流转,尤其是和indexBD的数据交换,还是比较容易出错的,最后就是项目打包时,由于是需要部署到github上,并非服务跟目录,所以打包时vite配置需要选择相对路径。

体验还是很不错的,有兴趣的同学可以在线看一下。

zhuss.github.io/jietu.com

相关推荐
王解1 小时前
Jest项目实战(4):将工具库顺利迁移到GitHub的完整指南
单元测试·github
油泼辣子多加1 小时前
2024年11月4日Github流行趋势
github
嚣张农民2 小时前
推荐3个实用的760°全景框架
前端·vue.js·程序员
梓羽玩Python2 小时前
推荐一款用了5年的全能下载神器:Motrix!全平台支持,不限速下载网盘文件就靠它!
程序员·开源·github
落魄小二2 小时前
el-table 表格索引不展示问题
javascript·vue.js·elementui
neter.asia2 小时前
vue中如何关闭eslint检测?
前端·javascript·vue.js
十一吖i3 小时前
前端将后端返回的文件下载到本地
vue.js·elementplus
光影少年3 小时前
vue2与vue3的全局通信插件,如何实现自定义的插件
前端·javascript·vue.js
熊的猫4 小时前
JS 中的类型 & 类型判断 & 类型转换
前端·javascript·vue.js·chrome·react.js·前端框架·node.js
mosen8685 小时前
Uniapp去除顶部导航栏-小程序、H5、APP适用
vue.js·微信小程序·小程序·uni-app·uniapp