171 lines
4.1 KiB
Markdown
171 lines
4.1 KiB
Markdown
# ServerBox 项目结构说明
|
|
|
|
## 项目概述
|
|
- **名称**: ServerBox (flutter_openclaw_client)
|
|
- **版本**: 1.0.1351+1351
|
|
- **描述**: 跨平台服务器状态监控和 SSH 管理工具
|
|
- **包名**: tech.lolli.toolbox
|
|
|
|
## 技术栈
|
|
- **框架**: Flutter 3.29+
|
|
- **语言**: Dart 3.11+
|
|
- **状态管理**: Riverpod
|
|
- **本地存储**: Hive
|
|
|
|
## 目录结构
|
|
|
|
### lib/ - 主代码目录
|
|
```
|
|
lib/
|
|
├── main.dart # 应用入口
|
|
├── app.dart # 应用配置
|
|
├── intro.dart # 引导页面
|
|
├── core/ # 核心功能
|
|
├── data/ # 数据层
|
|
│ ├── model/ # 数据模型
|
|
│ ├── store/ # 状态存储
|
|
│ └── res/ # 资源定义
|
|
├── view/ # 视图层
|
|
│ ├── page/ # 页面
|
|
│ │ ├── container/ # 容器管理
|
|
│ │ ├── private_key/ # SSH 密钥管理
|
|
│ │ ├── server/ # 服务器管理
|
|
│ │ ├── setting/ # 设置
|
|
│ │ ├── snippet/ # 代码片段
|
|
│ │ └── storage/ # 存储管理
|
|
│ └── widget/ # 公共组件
|
|
├── generated/ # 生成的代码
|
|
│ └── l10n/ # 本地化
|
|
└── hive/ # Hive 适配器
|
|
```
|
|
|
|
### android/ - Android 平台配置
|
|
```
|
|
android/
|
|
├── app/
|
|
│ ├── build.gradle # 应用构建配置
|
|
│ ├── debug.keystore # 调试签名密钥
|
|
│ └── src/main/
|
|
│ ├── AndroidManifest.xml
|
|
│ ├── kotlin/tech/lolli/toolbox/
|
|
│ │ ├── MainActivity.kt
|
|
│ │ ├── ForegroundService.kt
|
|
│ │ └── widget/
|
|
│ │ ├── HomeWidget.kt
|
|
│ │ └── WidgetConfigureActivity.kt
|
|
│ └── res/ # 资源文件
|
|
├── build.gradle # 项目构建配置
|
|
├── key.properties # 签名配置
|
|
├── local.properties # 本地配置
|
|
└── gradle.properties # Gradle 配置
|
|
```
|
|
|
|
### packages/ - 本地包
|
|
```
|
|
packages/
|
|
├── circle_chart/ # 圆形图表组件
|
|
├── dartssh2/ # SSH2 客户端
|
|
├── fl_build/ # 构建工具
|
|
├── fl_lib/ # 公共库
|
|
├── plain_notification_token/ # 通知令牌
|
|
├── server_box_monitor/ # 服务器监控
|
|
├── watch_connectivity/ # 手表连接
|
|
└── xterm/ # 终端模拟器
|
|
```
|
|
|
|
## 构建配置
|
|
|
|
### 签名配置 (android/key.properties)
|
|
```
|
|
storeFile=app/debug.keystore
|
|
storePassword=android
|
|
keyAlias=androiddebugkey
|
|
keyPassword=android
|
|
```
|
|
|
|
### 版本信息
|
|
- versionName: 1.0.1351
|
|
- versionCode: 1351
|
|
- minSdk: Flutter 默认
|
|
- targetSdk: Flutter 默认
|
|
|
|
## 主要功能模块
|
|
|
|
1. **服务器管理**
|
|
- SSH 连接和终端
|
|
- SFTP 文件传输
|
|
- 服务器状态监控 (CPU, 内存, 磁盘, 网络)
|
|
- Docker 容器管理
|
|
- 进程管理
|
|
|
|
2. **Snippet (代码片段)**
|
|
- 保存和快速执行常用命令
|
|
|
|
3. **密钥管理**
|
|
- SSH 私钥管理
|
|
|
|
4. **容器管理**
|
|
- Docker 容器操作
|
|
|
|
5. **系统工具**
|
|
- 网络唤醒 (Wake-on-LAN)
|
|
- 端口转发
|
|
|
|
## 平台支持
|
|
- Android
|
|
- iOS
|
|
- macOS
|
|
- Linux
|
|
- Windows
|
|
|
|
## 构建命令
|
|
|
|
### 获取依赖
|
|
```bash
|
|
flutter pub get
|
|
```
|
|
|
|
### 构建 APK
|
|
```bash
|
|
flutter build apk --release
|
|
```
|
|
|
|
### 构建 App Bundle
|
|
```bash
|
|
flutter build appbundle --release
|
|
```
|
|
|
|
### 构建指定 ABI
|
|
```bash
|
|
flutter build apk --release --target-platform android-arm64
|
|
```
|
|
|
|
## 项目依赖
|
|
|
|
### 主要依赖
|
|
- flutter_riverpod: 状态管理
|
|
- dio: 网络请求
|
|
- dartssh2: SSH 连接
|
|
- hive_ce_flutter: 本地存储
|
|
- fl_chart: 图表
|
|
- xterm: 终端模拟
|
|
|
|
### 开发依赖
|
|
- build_runner: 代码生成
|
|
- freezed: 不可变类生成
|
|
- json_serializable: JSON 序列化
|
|
- riverpod_generator: Riverpod 代码生成
|
|
|
|
## 注意事项
|
|
|
|
1. 首次构建需要运行代码生成:
|
|
```bash
|
|
dart run build_runner build
|
|
```
|
|
|
|
2. 本项目使用本地包,位于 packages/ 目录
|
|
|
|
3. Android 构建需要配置签名密钥 (已配置 debug 密钥)
|
|
|
|
4. 国际化文件已预生成,位于 lib/generated/l10n/
|