Files
happy-life-star/web-new/README.md
T

5.2 KiB

情绪博物馆 Web 端

基于 Vue 3 + TypeScript + Vite 的现代化前端应用,为用户提供情绪记录和心理健康服务。

特性

  • 🚀 现代化技术栈: Vue 3.4.21 + TypeScript 5.4.2 + Vite 5.1.6
  • 🎨 优雅的UI: Element Plus 2.6.1 + Tailwind CSS 3.4.1
  • 📱 响应式设计: 支持桌面端和移动端
  • 🔐 完整的认证: JWT Token + 自动刷新
  • 🌐 实时通信: 原生WebSocket + STOMP协议
  • 📊 数据可视化: ECharts 5.5.0 图表展示
  • 🌍 国际化: Vue I18n 多语言支持
  • 📦 PWA支持: 离线访问和桌面安装
  • 🧪 完整测试: Vitest + Cypress 测试覆盖

🏗️ 项目结构

web-new/
├── public/                 # 静态资源
├── src/
│   ├── api/               # API接口定义
│   ├── assets/            # 资源文件
│   ├── components/        # 通用组件
│   ├── composables/       # 组合式API
│   ├── config/            # 配置文件
│   ├── i18n/              # 国际化
│   ├── layouts/           # 布局组件
│   ├── plugins/           # 插件
│   ├── router/            # 路由配置
│   ├── stores/            # 状态管理
│   ├── types/             # 类型定义
│   ├── utils/             # 工具函数
│   ├── views/             # 页面组件
│   ├── App.vue            # 根组件
│   └── main.ts            # 入口文件
├── tests/                 # 测试文件
├── .env                   # 环境变量
├── package.json           # 依赖配置
├── vite.config.ts         # Vite配置
└── README.md              # 项目文档

🚀 快速开始

环境要求

  • Node.js >= 18.0.0
  • npm >= 9.0.0

安装依赖

npm install

开发环境

npm run dev

构建生产版本

npm run build

预览生产版本

npm run preview

🧪 测试

运行单元测试

npm run test

运行E2E测试

npm run test:e2e

测试覆盖率

npm run test:coverage

📦 核心依赖

框架和工具

  • Vue 3.4.21: 渐进式JavaScript框架
  • TypeScript 5.4.2: 类型安全的JavaScript
  • Vite 5.1.6: 下一代前端构建工具
  • Vue Router 4.3.0: 官方路由管理器
  • Pinia 2.1.7: 官方状态管理库

UI和样式

  • Element Plus 2.6.1: Vue 3 UI组件库
  • Tailwind CSS 3.4.1: 实用优先的CSS框架
  • @element-plus/icons-vue: Element Plus图标

网络和通信

  • Axios 1.6.8: HTTP客户端
  • @stomp/stompjs 7.1.1: WebSocket STOMP协议

数据可视化

  • ECharts 5.5.0: 强大的图表库
  • vue-echarts 6.7.3: Vue ECharts组件

工具库

  • @vueuse/core 10.9.0: Vue组合式工具集
  • Day.js 1.11.10: 轻量级日期库
  • Lodash-es 4.17.21: 实用工具库

🔧 开发工具

代码质量

  • ESLint 8.57.0: 代码检查
  • Prettier 3.2.5: 代码格式化
  • Husky 9.0.11: Git钩子
  • lint-staged 15.2.2: 暂存文件检查

自动化

  • unplugin-auto-import: 自动导入API
  • unplugin-vue-components: 自动导入组件
  • vite-plugin-pwa: PWA支持

测试

  • Vitest 1.4.0: 单元测试框架
  • @vue/test-utils 2.4.5: Vue组件测试工具
  • Cypress 13.7.1: E2E测试框架

🌍 环境配置

项目支持多环境配置:

  • local: 本地开发环境
  • dev: 开发服务器环境
  • test: 测试环境
  • prod: 生产环境

通过 .env 文件配置不同环境的参数。

📱 功能特性

核心功能

  • AI智能对话: 与AI助手进行情绪交流
  • 情绪日记: 记录和分析日常情绪
  • 数据可视化: 情绪趋势和统计分析
  • 个人仪表盘: 全面的个人数据展示

技术特性

  • 响应式设计: 适配各种设备尺寸
  • 暗色主题: 支持明暗主题切换
  • 国际化: 中英文语言切换
  • PWA: 支持离线访问和桌面安装
  • 实时通信: WebSocket实时消息推送

🔐 安全特性

  • JWT认证: 安全的用户认证机制
  • Token刷新: 自动Token刷新和过期处理
  • 权限控制: 基于角色的访问控制
  • 路由守卫: 页面访问权限验证
  • XSS防护: 内容安全策略

📈 性能优化

  • 代码分割: 按需加载减少初始包大小
  • Tree Shaking: 移除未使用的代码
  • 图片优化: 支持WebP格式和懒加载
  • 缓存策略: 合理的缓存配置
  • Gzip压缩: 减少传输大小

🤝 贡献指南

  1. Fork 项目
  2. 创建功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开 Pull Request

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

📞 联系我们


情绪博物馆 - 记录情绪,分享心情的温暖空间 ❤️