# 平安打卡 App - Android 项目

## 项目结构

```
SafeCheckIn/
├── app/
│   ├── src/main/
│   │   ├── java/com/safecheckin/
│   │   │   ├── MainActivity.kt
│   │   │   ├── SafeCheckInApp.kt
│   │   │   ├── data/
│   │   │   │   ├── AppDatabase.kt
│   │   │   │   ├── CheckInRecord.kt
│   │   │   │   ├── CheckInDao.kt
│   │   │   │   ├── SettingsRepository.kt
│   │   │   │   └── SettingsDataStore.kt
│   │   │   ├── ui/
│   │   │   │   ├── home/
│   │   │   │   │   ├── HomeScreen.kt
│   │   │   │   │   └── HomeViewModel.kt
│   │   │   │   ├── contacts/
│   │   │   │   │   ├── ContactsScreen.kt
│   │   │   │   │   └── ContactsViewModel.kt
│   │   │   │   ├── settings/
│   │   │   │   │   ├── SettingsScreen.kt
│   │   │   │   │   └── SettingsViewModel.kt
│   │   │   │   └── components/
│   │   │   │       ├── CircularProgress.kt
│   │   │   │       └── AnimatedButton.kt
│   │   │   ├── service/
│   │   │   │   ├── CheckInWorker.kt
│   │   │   │   └── EmailService.kt
│   │   │   └── utils/
│   │   │       ├── TimeUtils.kt
│   │   │       └── NotificationHelper.kt
│   │   ├── res/
│   │   │   ├── values/
│   │   │   │   ├── colors.xml
│   │   │   │   ├── strings.xml
│   │   │   │   └── themes.xml
│   │   │   └── xml/
│   │   │       └── backup_rules.xml
│   │   └── AndroidManifest.xml
│   └── build.gradle.kts
├── build.gradle.kts
├── settings.gradle.kts
└── gradle.properties
```

## 核心功能

1. **主界面（生命签到页）**
   - 巨大圆形按钮，带触感反馈
   - 动态状态文案
   - 环绕进度条显示安全时间

2. **紧急联系人配置**
   - 1-3 位联系人（邮箱）
   - 预设遗言/通知文字

3. **预警设置**
   - 宽限期设置（24h/48h/自定义）
   - 超时自动发送邮件预警
   - 测试邮件功能

4. **邮件服务**
   - 用户自配 SMTP
   - JavaMail API 发送
   - 后台 WorkManager 定时检测

## 技术栈

- Kotlin
- Jetpack Compose
- Room Database
- DataStore
- WorkManager
- JavaMail API
- Material Design 3
