微信聊天截图生成器开发,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

相关推荐
计算机学姐几秒前
基于SpringBoot+Vue的在线投票系统
java·vue.js·spring boot·后端·学习·intellij-idea·mybatis
twins352044 分钟前
解决Vue应用中遇到路由刷新后出现 404 错误
前端·javascript·vue.js
qiyi.sky1 小时前
JavaWeb——Vue组件库Element(3/6):常见组件:Dialog对话框、Form表单(介绍、使用、实际效果)
前端·javascript·vue.js
杨荧2 小时前
【JAVA开源】基于Vue和SpringBoot的洗衣店订单管理系统
java·开发语言·vue.js·spring boot·spring cloud·开源
Front思2 小时前
vue使用高德地图
javascript·vue.js·ecmascript
花花鱼5 小时前
@antv/x6 导出图片下载,或者导出图片为base64由后端去处理。
vue.js
流烟默5 小时前
Vue中watch监听属性的一些应用总结
前端·javascript·vue.js·watch
蒲公英10017 小时前
vue3学习:axios输入城市名称查询该城市天气
前端·vue.js·学习
杨荧9 小时前
【JAVA开源】基于Vue和SpringBoot的旅游管理系统
java·vue.js·spring boot·spring cloud·开源·旅游
西柚与蓝莓12 小时前
任务【浦语提示词工程实践】
github