myChat项目采用前后端分离架构设计,整体技术栈包括 Spring Boot、MyBatis、MySQL、Netty、WebSocket、Electron、Vue3、Pinia、Element Plus 以及 SQLite。服务端基于 Spring Boot 构建 RESTful API,实现用户管理、好友管理和群组管理等业务功能;使用 MyBatis 完成数据库访问;通过 Netty 搭建高性能 WebSocket 服务,实现实时消息通信。客户端采用 Electron 构建跨平台桌面应用,Vue3 负责界面开发,Pinia 实现状态管理,SQLite 用于本地消息存储和缓存。
smart-campus项目采用前后端分离架构设计,前端使用 Vue3、Vite、Element Plus、ECharts 和 Axios 构建现代化管理后台,实现组件化开发与数据可视化展示;后端基于 Spring Boot、MyBatis 和 MySQL 构建业务服务层,结合 Redis 提升系统性能,并通过 JWT 实现无状态身份认证。系统整体采用 RBAC 权限模型,实现用户、角色与权限的灵活配置。项目架构按照 Common、Admin、Web 多模块划分,提升了代码复用性与可维护性。
sevenDesign项目亮点方面,首先在组件设计层面统一了 API 规范(props、event 回调、children/slot 思想的 React 实现),保证组件使用方式一致,降低学习成本并提升复用效率。其次在 Form 系统中实现了较完整的表单联动与校验机制,通过 Context + 组件通信实现 Form 与子组件之间的数据收集与状态同步,支持复杂表单结构与动态校验规则。第三是 VirtualList 虚拟列表的实现,通过计算可视区域与滚动偏移,仅渲染可视 DOM 节点,大幅减少渲染开销,在大数据列表场景下显著提升性能。第四是 Message 全局提示系统,采用单例模式 + 发布订阅思想实现全局调用能力,避免组件重复挂载与状态冲突问题。Upload 组件则封装了文件选择、上传状态管理与基础反馈逻辑,提高通用性与可扩展性。
项目难点主要集中在三个方面:第一是组件解耦与API统一设计,需要在保持组件独立性的同时保证整体一致性,避免不同组件使用方式割裂;第二是 Form 与 Cascader 等复杂组件的联动设计,需要解决多层级数据结构处理、状态同步以及校验触发时机问题;第三是 VirtualList 虚拟滚动实现过程中,需要处理滚动高度计算、动态渲染区间更新以及快速滚动导致的白屏或抖动问题,对性能优化和边界处理能力要求较高。