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

相关推荐
Aliex_git10 分钟前
Vue 2 - 模板编译源码理解
前端·javascript·vue.js·笔记·前端框架
Irene199111 分钟前
Vue:Props 和 Emits 对比总结
vue.js·props·emits
saadiya~11 分钟前
实战笔记:在 Ubuntu 离线部署 Vue + Nginx 踩坑与避雷指南
vue.js·笔记·nginx
随祥1 小时前
Tauri+vue开发桌面程序环境搭建
前端·javascript·vue.js
老华带你飞10 小时前
农产品销售管理|基于java + vue农产品销售管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
小徐_233311 小时前
2025 前端开源三年,npm 发包卡我半天
前端·npm·github
C_心欲无痕11 小时前
vue3 - 类与样式的绑定
javascript·vue.js·vue3
JIngJaneIL11 小时前
基于springboot + vue房屋租赁管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
期待のcode13 小时前
@RequestBody的伪表单提交场景
java·前端·vue.js·后端
一颗烂土豆13 小时前
vfit.js v2.0.0 发布:精简、语义化与核心重构 🎉
前端·vue.js·响应式设计