ID:395758

童心未泯

前端

  • 公司信息:
  • 软件动力
  • 工作经验:
  • 1年
  • 兼职日薪:
  • 500元/8小时
  • 兼职时间:
  • 下班后
  • 所在区域:
  • 北京
  • 海淀

技术能力

前端方面
在前端开发中,我对 Vue 框架有深入理解。能运用 Vue 3 的组合式 API 进行高效组件开发,如在文件上传管理系统里,借助 ref 和 computed 管理状态和计算属性,实现动态的页面交互。同时,我也善于结合 Vue Router 进行单页面应用的路由管理,利用 Vuex 或 Pinia 完成状态集中管理。对于 UniApp,我能够基于它进行跨平台应用开发,一套代码实现多端部署,极大提高了开发效率。并且,我熟练使用 Axios 进行前后端数据交互,使用 Element Plus 等组件库快速搭建美观且功能丰富的界面。
后端方面
在后端开发上,我熟练使用 Node.js 和 Express 框架搭建服务器。能够设计并实现 RESTful API,为前端提供稳定的数据接口。我了解 Cookie 和 Session 的工作原理,并能在项目中灵活运用。在用户认证模块,我使用 Cookie 存储用户登录信息,通过 Session 验证用户身份,增强系统的安全性和用户体验。同时,结合 MongoDB 等数据库进行数据的存储和管理,确保数据的持久化和一致性。我还熟悉使用 multer 进行文件上传处理,优化文件存储和传输过程。
通过这些技术的综合运用,我能够独立完成从前端页面设计到后端接口开发的全流程项目,确保项目的高质量交付和后续的维护扩展。

项目经验

项目经验:文件上传管理系统开发
项目名称
文件上传管理系统(前后端分离项目)
项目周期
2025 年 3 月 —2025 年 4 月(共 2 个月)
项目背景
为满足企业及个人用户对文件存储、管理的需求,开发一套支持用户注册登录、文件上传 / 下载 / 删除、搜索过滤等功能的全栈系统。系统采用前后端分离架构,前端基于 Vue 3 实现用户交互,后端使用 Express 搭建接口服务,数据库采用 MongoDB 存储用户及文件信息。
我的职责
全栈开发:独立设计并实现前端页面与后端接口,负责用户模块、文件管理模块的功能开发与联调。
技术选型:确定前后端技术栈(Vue 3、Express、MongoDB、Axios、multer 等),优化文件上传 / 下载流程及数据安全性。
功能实现:完成用户认证、文件操作(上传 / 下载 / 删除)、搜索分页、拖拽上传等核心功能,确保跨平台兼容性和用户体验。
核心技术与实现
1. 用户认证模块(前后端协同)
前端:
使用 Vue 3 的组合式 API(ref、computed)管理登录 / 注册状态,通过条件渲染(v-if)动态切换表单字段(如注册时增加 “重复密码” 输入框)。
集成 Axios 发送异步请求,实现登录 / 注册逻辑,并用 Element Plus 的ElMessage进行状态提示(如 “注册成功”“账号已存在”)。
后端:
采用 AES 加密算法(crypto-js)对用户密码进行加密存储,注册时校验用户名唯一性(通过 MongoDB 索引处理重复键错误)。
设计 RESTful 接口(/login、/register),返回标准化响应格式(包含code、message、data),便于前端统一处理。
2. 文件管理核心功能
文件上传:
前端支持 “点击选择文件” 和 “拖拽上传” 两种方式,使用FormData封装文件及用户信息,通过 Axios 发送至后端。
后端配置 multer 中间件,指定文件存储路径(uploads/),生成唯一文件名(时间戳 + 随机数)避免重名,限制单个文件大小(100MB)并校验文件类型(仅允许压缩文件)。
解决中文文件名乱码问题:通过Buffer转换编码,确保文件名在存储和下载时正确解析。
文件列表与搜索:
前端使用计算属性(computed)实现搜索过滤,根据文件名关键词动态筛选文件列表;集成分页逻辑,通过 URL 参数传递当前页码和每页显示数量。
后端接口(/files/:username)支持分页查询(skip、limit)和按上传时间倒序排序,返回总文件数及分页信息,提升大数据量下的查询效率。
文件下载与删除:
下载时根据文件扩展名设置正确的 MIME 类型(如.zip对应application/zip),使用文件流(fs.createReadStream)实现大文件分片传输,避免内存溢出。
删除文件时同步删除服务器存储路径中的文件(fs.unlink),确保数据库与文件系统数据一致。
3. 安全性与用户体验优化
安全措施:密码加密存储、接口跨域访问控制(CORS)、文件上传格式与大小校验,防止恶意文件上传和数据泄露。
交互优化:登录 / 注册按钮 hover 下划线动画、文件拖拽区域视觉反馈、操作结果即时提示(成功 / 失败消息),提升用户操作感知。
解决的关键问题
文件上传乱码与大小限制:通过Buffer处理中文文件名,配置 multer 的limits参数限制文件大小,结合后端校验确保文件合法性。
密码安全存储:采用 AES 对称加密算法,避免明文存储密码,提升用户数据安全性。
大文件传输性能:使用流技术处理文件下载,减少内存占用,支持断点续传(通过 HTTP 状态码和响应头控制)。
项目成果
功能完整:实现用户从注册登录到文件全生命周期管理的闭环流程,支持多文件类型(zip、rar、7z 等)的上传、预览(图标区分)、下载及删除。
性能稳定:通过分页查询和流处理技术,支持万级文件管理不卡顿,单文件 100MB 上传下载成功率达 99% 以上。
代码可维护:前后端分层清晰(前端组件化、后端模块化路由),状态管理集中(Vue 组件内状态 + 全局路由),便于后续功能扩展(如权限管理、文件分享)。
技术亮点
前后端分离架构,接口设计遵循 RESTful 规范,便于团队协作和接口文档生成。
结合 Vue 3 组合式 API 与 Element Plus 组件库,快速构建响应式界面,提升开发效率。
数据库与文件系统联动,确保数据一致性,支持高并发场景下的文件操作。

案例展示

  • 文件上传

    文件上传

    技术架构 前端:基于 Vue 3 组合式 API 开发,搭配 Vue Router 实现路由管理,使用 Axios 进行前后端通信,集成 Element Plus 组件库提升交互体验,通过 Pinia 管理全局状态(如用户信息、文件列表)。 后端:Node.js + Expr

  • 图片分享小程序

    图片分享小程序

    作品概述 此作品是一个基于 uni-app 框架开发的壁纸小程序,它为用户提供了丰富多样的壁纸资源,涵盖了各种分类和风格,满足不同用户的个性化需求。整个小程序功能丰富、界面清晰,为用户提供了便捷的壁纸浏览和搜索体验。 页面结构与功能 首页 包含头部搜索框,用户可以输入关键

查看案例列表(含更多 0 个案例)

信用行为

  • 接单
    0
  • 评价
    0
  • 收藏
    0
微信扫码,建群沟通

发布任务

企业点击发布任务,工程师会在任务下报名,招聘专员也会在1小时内与您联系,1小时内精准确定人才

微信接收人才推送

关注猿急送微信平台,接收实时人才推送

接收人才推送
联系需求方端客服
联系需求方端客服