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

相关推荐
曲邹萌8 分钟前
springboot-vue excel上传导出
vue.js·spring boot·导入导出
蒜蓉大猩猩18 分钟前
Vue.js - 组件化编程
开发语言·前端·javascript·vue.js·前端框架·ecmascript
乐闻x1 小时前
最佳实践:如何在 Vue.js 项目中使用 Jest 进行单元测试
前端·vue.js·单元测试
小仓桑1 小时前
利用 Vue 组合式 API 与 requestAnimationFrame 优化大量元素渲染
前端·javascript·vue.js
○陈2 小时前
vue2面试题10|[2024-11-24]
前端·javascript·vue.js
在荒野的梦想2 小时前
Vue-TreeSelect组件最下级隐藏No sub-options
前端·javascript·vue.js
ZXF_H5 小时前
pip安装github上的开源软件包
git·python·github·pip
汪小白JIY9 小时前
【VUE3】VUE组合式(响应式)API常见语法
vue.js·vue3·语法
沉浮yu大海11 小时前
Vue.js 组件开发:构建可重用且高效的 UI 块
前端·vue.js·ui
在路上`12 小时前
vue实现列表滑动下拉加载数据
javascript·vue.js·ecmascript