初始化

This commit is contained in:
2025-10-16 09:59:34 +08:00
commit dd3936944b
32 changed files with 20220 additions and 0 deletions

155
README.md Normal file
View File

@@ -0,0 +1,155 @@
# ChronoMail - 时光胶囊邮箱
## 项目简介
ChronoMail是一个基于Vue3的时光胶囊邮箱应用用户可以撰写邮件并设定未来的发送时间将此刻的心情、想法和祝福寄给未来的自己或他人。
## 技术栈
- Vue 3
- Vue Router
- Vant UI组件库
- Axios
- Electron
## 功能特点
- 📧 撰写时光胶囊邮件
- ⏰ 设定未来发送时间
- 🌌 深空主题UI设计
- 📱 移动端适配
- 🔐 用户登录注册
- 📬 收件箱和发件箱管理
- 🕐 时间线展示
- 🤖 AI写作辅助
- 📊 数据统计
- 🎨 自定义胶囊样式
## API接口对接
本项目已完整对接后端API支持以下功能
### 用户认证
- 用户注册与登录
- Token刷新机制
- 自动登录状态保持
### 邮件管理
- 创建未来邮件
- 获取邮件列表(收件箱/发件箱/草稿箱)
- 邮件详情查看
- 邮件编辑与删除
- 邮件撤销发送
### 时光胶囊
- 胶囊视图展示
- 胶囊样式自定义
- 3D空间效果
### AI助手
- 写作辅助
- 情感分析
- 未来预测
### 个人空间
- 时间线展示
- 数据统计
- 用户信息管理
### 文件上传
- 附件上传
- 头像上传
### 推送通知
- 设备注册
- 通知设置
详细的API文档请参考[README-API.md](./README-API.md)
## 安装和运行
### 安装依赖
```bash
npm install
```
### 启动开发服务器
```bash
npm run serve
```
### 构建生产版本
```bash
npm run build
```
### 运行Electron应用
```bash
npm run electron:serve
```
## 项目结构
```
src/
├── api/ # API接口模块
│ ├── index.js # API方法集合
│ └── request.js # Axios实例和拦截器配置
├── assets/ # 静态资源
│ └── styles/ # 样式文件
├── components/ # 公共组件
├── router/ # 路由配置
├── store/ # 状态管理
├── utils/ # 工具函数
├── views/ # 页面组件
│ ├── Login.vue # 登录页
│ ├── Register.vue # 注册页
│ ├── Home.vue # 首页
│ ├── Compose.vue # 撰写邮件
│ ├── Inbox.vue # 收件箱
│ ├── Sent.vue # 发件箱
│ ├── Profile.vue # 个人中心
│ ├── Timeline.vue # 时间线
│ ├── CapsuleDetail.vue # 胶囊详情
│ └── ApiDemo.vue # API示例
├── App.vue # 根组件
└── main.js # 入口文件
```
## 开发说明
1. 本项目使用Vue 3 Composition API
2. 使用Vant UI组件库进行界面开发
3. 使用Vue Router进行路由管理
4. 使用Axios进行HTTP请求
5. 使用Vue 3响应式API进行状态管理
6. 项目采用深空主题设计,营造时光穿梭的视觉体验
## 环境配置
项目使用环境变量来配置不同环境的API地址
- 开发环境:`.env.development`
- 生产环境:`.env.production`
```bash
# 开发环境配置
VUE_APP_API_BASE_URL=http://localhost:3000/api/v1
VUE_APP_TITLE=ChronoMail - 未来邮箱
# 生产环境配置
VUE_APP_API_BASE_URL=https://api.chronomail.com/api/v1
VUE_APP_TITLE=ChronoMail - 未来邮箱
```
## 注意事项
- 所有API请求都会自动添加Authorization头格式为`Bearer {token}`
- 当收到401或403响应时会自动清除用户信息并跳转到登录页
- 文件上传需要使用FormData格式
- 日期格式统一使用ISO 8601标准
- 所有状态变更都应通过相应的Actions方法进行以保证状态一致性
## API示例页面
项目包含一个API示例页面`/api-demo`展示了如何在Vue组件中使用各种API接口包括
- 用户认证
- 邮件操作
- 胶囊管理
- AI助手调用
您可以在登录后访问该页面查看API调用的实际效果。