|
|
# UniLife Frontend
|
|
|
|
|
|
## 🎓 项目简介
|
|
|
|
|
|
UniLife 是一个专为大学生设计的综合性生活平台,提供论坛交流、资源分享、课程管理等功能。本项目是 UniLife 的前端部分,采用现代化的技术栈和紫色主题设计。
|
|
|
|
|
|
## ✨ 特性
|
|
|
|
|
|
- 🎨 **现代化UI设计**: 紫色主题 + 玻璃态效果
|
|
|
- 📱 **响应式布局**: 完美适配桌面端和移动端
|
|
|
- 🚀 **高性能**: Vue 3 + Vite 构建,极快的开发体验
|
|
|
- 🔒 **类型安全**: 完整的TypeScript支持
|
|
|
- 🎯 **用户体验**: 流畅的动画和交互效果
|
|
|
- 🌈 **设计系统**: 统一的设计规范和组件库
|
|
|
|
|
|
## 🛠️ 技术栈
|
|
|
|
|
|
- **前端框架**: Vue 3.5
|
|
|
- **构建工具**: Vite 6.3
|
|
|
- **语言**: TypeScript 5.6
|
|
|
- **状态管理**: Pinia 2.2
|
|
|
- **路由**: Vue Router 4.4
|
|
|
- **UI组件**: Element Plus 2.9
|
|
|
- **HTTP客户端**: Axios 1.7
|
|
|
- **样式**: CSS3 + CSS变量
|
|
|
- **工具**: ESLint + Prettier
|
|
|
|
|
|
## 🚀 快速开始
|
|
|
|
|
|
### 环境要求
|
|
|
|
|
|
- Node.js >= 18.0.0
|
|
|
- npm >= 9.0.0
|
|
|
|
|
|
### 安装依赖
|
|
|
|
|
|
```bash
|
|
|
cd unilife-frontend
|
|
|
npm install
|
|
|
```
|
|
|
|
|
|
### 开发服务器
|
|
|
|
|
|
```bash
|
|
|
npm run dev
|
|
|
```
|
|
|
|
|
|
访问 http://localhost:5173 查看应用
|
|
|
|
|
|
### 构建生产版本
|
|
|
|
|
|
```bash
|
|
|
npm run build
|
|
|
```
|
|
|
|
|
|
### 预览生产版本
|
|
|
|
|
|
```bash
|
|
|
npm run preview
|
|
|
```
|
|
|
|
|
|
## 📁 项目结构
|
|
|
|
|
|
```
|
|
|
unilife-frontend/
|
|
|
├── public/ # 静态资源
|
|
|
├── src/
|
|
|
│ ├── api/ # API接口
|
|
|
│ │ ├── index.ts # Axios配置
|
|
|
│ │ └── auth.ts # 认证相关API
|
|
|
│ ├── components/ # 公共组件
|
|
|
│ ├── layouts/ # 布局组件
|
|
|
│ ├── router/ # 路由配置
|
|
|
│ │ └── index.ts # 主路由文件
|
|
|
│ ├── stores/ # 状态管理
|
|
|
│ │ └── user.ts # 用户状态
|
|
|
│ ├── styles/ # 全局样式
|
|
|
│ │ └── globals.css # 设计系统CSS变量
|
|
|
│ ├── types/ # TypeScript类型定义
|
|
|
│ │ └── index.ts # 全局类型
|
|
|
│ ├── utils/ # 工具函数
|
|
|
│ ├── views/ # 页面组件
|
|
|
│ │ ├── auth/ # 认证页面
|
|
|
│ │ │ ├── LoginView.vue
|
|
|
│ │ │ └── RegisterView.vue
|
|
|
│ │ ├── forum/ # 论坛页面
|
|
|
│ │ ├── resources/ # 资源页面
|
|
|
│ │ ├── schedule/ # 课程表页面
|
|
|
│ │ ├── profile/ # 个人资料页面
|
|
|
│ │ └── HomeView.vue # 首页
|
|
|
│ ├── App.vue # 根组件
|
|
|
│ └── main.ts # 入口文件
|
|
|
├── DESIGN_SYSTEM.md # 设计系统文档
|
|
|
└── README.md # 项目说明
|
|
|
```
|
|
|
|
|
|
## 🎨 设计系统
|
|
|
|
|
|
我们为 UniLife 创建了完整的设计系统,包括:
|
|
|
|
|
|
- **色彩系统**: 紫色主题色彩规范
|
|
|
- **间距系统**: 统一的间距标准
|
|
|
- **字体系统**: 层次化的字体规范
|
|
|
- **阴影系统**: 深度感的阴影效果
|
|
|
- **动画系统**: 流畅的过渡动画
|
|
|
- **组件规范**: 可复用的UI组件
|
|
|
|
|
|
详细信息请查看 [设计系统文档](./DESIGN_SYSTEM.md)
|
|
|
|
|
|
## 📄 页面说明
|
|
|
|
|
|
### 🏠 首页 (HomeView)
|
|
|
- Hero区域展示平台价值主张
|
|
|
- 功能特色介绍(6个核心功能)
|
|
|
- 使用步骤说明(3步上手)
|
|
|
- CTA区域引导用户注册
|
|
|
- 响应式设计,完美适配各种设备
|
|
|
|
|
|
### 🔐 登录页面 (LoginView)
|
|
|
- 玻璃态设计风格
|
|
|
- 用户名/邮箱登录支持
|
|
|
- 表单验证和错误提示
|
|
|
- 动画效果增强用户体验
|
|
|
- 记住密码功能
|
|
|
|
|
|
### ✍️ 注册页面 (RegisterView)
|
|
|
- 完整的用户信息收集
|
|
|
- 邮箱验证码功能
|
|
|
- 实时表单验证
|
|
|
- 密码强度检查
|
|
|
- 学生身份验证
|
|
|
|
|
|
### 💬 论坛页面 (ForumView)
|
|
|
- 基础结构已搭建
|
|
|
- 待后续功能完善
|
|
|
|
|
|
## 🔌 API集成
|
|
|
|
|
|
项目已配置完整的API客户端:
|
|
|
|
|
|
- **请求拦截器**: 自动添加认证token
|
|
|
- **响应拦截器**: 统一错误处理
|
|
|
- **类型安全**: 完整的TypeScript类型定义
|
|
|
- **错误处理**: 用户友好的错误提示
|
|
|
|
|
|
## 🔐 状态管理
|
|
|
|
|
|
使用 Pinia 进行状态管理:
|
|
|
|
|
|
- **用户状态**: 登录状态、用户信息管理
|
|
|
- **持久化**: localStorage自动同步
|
|
|
- **类型安全**: 完整的TypeScript支持
|
|
|
|
|
|
## 🛣️ 路由配置
|
|
|
|
|
|
- **路由守卫**: 自动认证检查
|
|
|
- **懒加载**: 按需加载页面组件
|
|
|
- **重定向**: 智能路由重定向
|
|
|
- **类型安全**: 路由参数类型检查
|
|
|
|
|
|
## 🎯 下一步计划
|
|
|
|
|
|
### 短期目标
|
|
|
- [ ] 完善论坛功能(帖子列表、详情、发布)
|
|
|
- [ ] 实现资源分享功能
|
|
|
- [ ] 开发课程表管理
|
|
|
- [ ] 个人资料页面
|
|
|
|
|
|
### 长期目标
|
|
|
- [ ] 消息通知系统
|
|
|
- [ ] 搜索功能优化
|
|
|
- [ ] 移动端App开发
|
|
|
- [ ] PWA支持
|
|
|
|
|
|
## 🤝 贡献指南
|
|
|
|
|
|
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](LICENSE) 文件了解详情
|
|
|
|
|
|
## 📞 联系我们
|
|
|
|
|
|
- 项目地址: [GitHub](https://github.com/your-username/unilife-frontend)
|
|
|
- 问题反馈: [Issues](https://github.com/your-username/unilife-frontend/issues)
|
|
|
- 文档: [Wiki](https://github.com/your-username/unilife-frontend/wiki)
|
|
|
|
|
|
---
|
|
|
|
|
|
🎓 **让大学生活更精彩!**
|