Update: Build scripts and project documentation - 2026-04-03 19:05:44
Some checks failed
flutter analysis / check (push) Has been cancelled
Some checks failed
flutter analysis / check (push) Has been cancelled
This commit is contained in:
170
PROJECT_STRUCTURE.md
Normal file
170
PROJECT_STRUCTURE.md
Normal file
@@ -0,0 +1,170 @@
|
||||
# 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/
|
||||
Reference in New Issue
Block a user