1. 使用.Net core 9.0 
2. 使用Ef codefirst 自动更新数据库字段
3. 使用Open Api接口文档
4. 使用Mysql数据库

基于你的产品设计，我来帮你定义核心接口的出参入参。以下是主要接口设计：

## 1. 用户认证模块

### 1.1 用户注册
```typescript
POST /api/v1/auth/register
入参:
{
  "username": "string", // 用户名
  "email": "string",    // 邮箱
  "password": "string", // 密码
  "avatar": "string?"   // 头像URL（可选）
}

出参:
{
  "code": 200,
  "message": "success",
  "data": {
    "userId": "string",
    "username": "string",
    "email": "string",
    "avatar": "string",
    "token": "string",
    "refreshToken": "string"
  }
}
```

### 1.2 用户登录
```typescript
POST /api/v1/auth/login
入参:
{
  "email": "string",
  "password": "string"
}

出参: // 同注册出参
```

## 2. 邮件管理模块

### 2.1 创建未来邮件
```typescript
POST /api/v1/mails
入参:
{
  "title": "string",
  "content": "string",
  "recipientType": "SELF" | "SPECIFIC" | "PUBLIC", // 收件人类型
  "recipientEmail": "string?", // 指定收件人邮箱（当recipientType为SPECIFIC时必填）
  "sendTime": "string", // ISO时间格式 "2025-12-31T23:59:59Z"
  "triggerType": "TIME" | "LOCATION" | "EVENT",
  "triggerCondition": {
    "location": {
      "latitude": "number?",
      "longitude": "number?",
      "city": "string?"
    },
    "event": {
      "keywords": "string[]?",
      "type": "string?"
    }
  },
  "attachments": [
    {
      "type": "IMAGE" | "VOICE" | "VIDEO",
      "url": "string",
      "thumbnail": "string?"
    }
  ],
  "isEncrypted": "boolean",
  "capsuleStyle": "string" // 胶囊皮肤
}

出参:
{
  "code": 200,
  "message": "success",
  "data": {
    "mailId": "string",
    "capsuleId": "string",
    "status": "DRAFT" | "PENDING" | "DELIVERING" | "DELIVERED",
    "createdAt": "string"
  }
}
```

### 2.2 获取邮件列表
```typescript
GET /api/v1/mails
查询参数:
{
  "type": "INBOX" | "SENT" | "DRAFT", // 邮件类型
  "status": "PENDING" | "DELIVERING" | "DELIVERED", // 状态筛选
  "page": "number",
  "size": "number"
}

出参:
{
  "code": 200,
  "message": "success",
  "data": {
    "list": [
      {
        "mailId": "string",
        "title": "string",
        "sender": {
          "userId": "string",
          "username": "string",
          "avatar": "string"
        },
        "recipient": {
          "userId": "string",
          "username": "string",
          "avatar": "string"
        },
        "sendTime": "string",
        "deliveryTime": "string?",
        "status": "string",
        "hasAttachments": "boolean",
        "isEncrypted": "boolean",
        "capsuleStyle": "string",
        "countdown": "number?" // 倒计时秒数（仅status=PENDING时返回）
      }
    ],
    "total": "number",
    "page": "number",
    "size": "number"
  }
}
```

### 2.3 获取邮件详情
```typescript
GET /api/v1/mails/{mailId}
出参:
{
  "code": 200,
  "message": "success",
  "data": {
    "mailId": "string",
    "title": "string",
    "content": "string",
    "sender": {
      "userId": "string",
      "username": "string",
      "avatar": "string",
      "email": "string"
    },
    "recipient": {
      "userId": "string",
      "username": "string",
      "avatar": "string",
      "email": "string"
    },
    "sendTime": "string",
    "createdAt": "string",
    "deliveryTime": "string?",
    "status": "string",
    "triggerType": "string",
    "triggerCondition": "object",
    "attachments": [
      {
        "id": "string",
        "type": "string",
        "url": "string",
        "thumbnail": "string?",
        "size": "number"
      }
    ],
    "isEncrypted": "boolean",
    "capsuleStyle": "string",
    "canEdit": "boolean", // 是否可编辑（仅草稿状态）
    "canRevoke": "boolean" // 是否可撤销（仅待投递状态）
  }
}
```

### 2.4 更新邮件（投递前）
```typescript
PUT /api/v1/mails/{mailId}
入参: // 同创建邮件，但所有字段可选
出参: // 同创建邮件出参
```

### 2.5 撤销发送
```typescript
POST /api/v1/mails/{mailId}/revoke
出参:
{
  "code": 200,
  "message": "success",
  "data": {
    "mailId": "string",
    "status": "REVOKED"
  }
}
```

## 3. 时光胶囊模块

### 3.1 获取时光胶囊视图
```typescript
GET /api/v1/capsules
出参:
{
  "code": 200,
  "message": "success",
  "data": {
    "capsules": [
      {
        "capsuleId": "string",
        "mailId": "string",
        "title": "string",
        "sendTime": "string",
        "deliveryTime": "string",
        "progress": "number", // 0-1 的进度
        "position": {
          "x": "number", // 0-1 相对位置
          "y": "number",
          "z": "number"
        },
        "style": "string",
        "glowIntensity": "number" // 发光强度
      }
    ],
    "scene": "SPACE" | "OCEAN", // 场景类型
    "background": "string" // 背景配置
  }
}
```

## 4. AI助手模块

### 4.1 AI写作辅助
```typescript
POST /api/v1/ai/writing-assistant
入参:
{
  "prompt": "string", // 用户输入
  "type": "OUTLINE" | "DRAFT" | "COMPLETE", // 辅助类型
  "tone": "FORMAL" | "CASUAL" | "EMOTIONAL" | "INSPIRATIONAL", // 语气
  "length": "SHORT" | "MEDIUM" | "LONG", // 长度
  "context": "string?" // 上下文信息
}

出参:
{
  "code": 200,
  "message": "success",
  "data": {
    "content": "string",
    "suggestions": "string[]",
    "estimatedTime": "number" // 预计写作时间（分钟）
  }
}
```

### 4.2 情感分析
```typescript
POST /api/v1/ai/sentiment-analysis
入参:
{
  "content": "string"
}

出参:
{
  "code": 200,
  "message": "success",
  "data": {
    "sentiment": "POSITIVE" | "NEUTRAL" | "NEGATIVE" | "MIXED",
    "confidence": "number", // 0-1 置信度
    "emotions": [
      {
        "type": "HAPPY" | "SAD" | "HOPEFUL" | "NOSTALGIC" | "EXCITED",
        "score": "number"
      }
    ],
    "keywords": "string[]",
    "summary": "string"
  }
}
```

## 5. 个人空间模块

### 5.1 获取时间线
```typescript
GET /api/v1/timeline
查询参数:
{
  "startDate": "string?",
  "endDate": "string?",
  "type": "ALL" | "SENT" | "RECEIVED"
}

出参:
{
  "code": 200,
  "message": "success",
  "data": {
    "timeline": [
      {
        "date": "string",
        "events": [
          {
            "type": "SENT" | "RECEIVED",
            "mailId": "string",
            "title": "string",
            "time": "string",
            "withUser": {
              "userId": "string",
              "username": "string",
              "avatar": "string"
            },
            "emotion": "string"
          }
        ]
      }
    ]
  }
}
```

### 5.2 获取统计数据
```typescript
GET /api/v1/statistics
出参:
{
  "code": 200,
  "message": "success",
  "data": {
    "totalSent": "number",
    "totalReceived": "number",
    "timeTravelDuration": "number", // 总时间旅行时长（天）
    "mostFrequentRecipient": "string",
    "mostCommonYear": "number",
    "keywordCloud": [
      {
        "word": "string",
        "count": "number",
        "size": "number"
      }
    ],
    "monthlyStats": [
      {
        "month": "string",
        "sent": "number",
        "received": "number"
      }
    ]
  }
}
```

## 6. 系统管理模块

### 6.1 获取用户订阅信息
```typescript
GET /api/v1/user/subscription
出参:
{
  "code": 200,
  "message": "success",
  "data": {
    "plan": "FREE" | "PREMIUM",
    "remainingMails": "number",
    "maxAttachmentSize": "number",
    "features": {
      "advancedTriggers": "boolean",
      "customCapsules": "boolean",
      "aiAssistant": "boolean"
    },
    "expireDate": "string?"
  }
}
```

## 需要的核心接口列表

1. **认证相关**
   - 用户注册 `/api/v1/auth/register`
   - 用户登录 `/api/v1/auth/login`
   - 刷新token `/api/v1/auth/refresh`
   - 退出登录 `/api/v1/auth/logout`

2. **邮件管理**
   - 创建邮件 `/api/v1/mails`
   - 获取邮件列表 `/api/v1/mails`
   - 获取邮件详情 `/api/v1/mails/{mailId}`
   - 更新邮件 `/api/v1/mails/{mailId}`
   - 删除邮件 `/api/v1/mails/{mailId}`
   - 撤销发送 `/api/v1/mails/{mailId}/revoke`

3. **时光胶囊**
   - 获取胶囊视图 `/api/v1/capsules`
   - 更新胶囊样式 `/api/v1/capsules/{capsuleId}/style`

4. **AI助手**
   - 写作辅助 `/api/v1/ai/writing-assistant`
   - 情感分析 `/api/v1/ai/sentiment-analysis`
   - 未来预测 `/api/v1/ai/future-prediction`

5. **个人空间**
   - 时间线 `/api/v1/timeline`
   - 统计数据 `/api/v1/statistics`
   - 用户信息 `/api/v1/user/profile`

6. **文件上传**
   - 上传附件 `/api/v1/upload/attachment`
   - 上传头像 `/api/v1/upload/avatar`

7. **推送通知**
   - 注册设备 `/api/v1/notification/device`
   - 获取通知设置 `/api/v1/notification/settings`

这些接口设计考虑了产品的核心功能，包括邮件的创建、管理、投递，以及增强用户体验的AI功能和可视化功能。接口设计遵循RESTful原则，并考虑了扩展性和安全性。