基于 Kotlin Multiplatform + Compose Multiplatform 的全栈商户管理后台应用,支持 Android、iOS、Web(Wasm/JS)、Desktop(JVM)及 Server 多平台运行。
| 模块 | 说明 |
|---|---|
| 仪表板 (Dashboard) | 数据统计概览与分析图表 |
| 客户管理 (Customers) | 客户列表、排序、分页查询 |
| 订单管理 (Orders) | 订单列表、分页浏览 |
| 商品管理 (Products) | 商品列表、分页浏览 |
| 数据分析 (Analytics) | 业务数据分析与可视化 |
| 代理通道 (Proxy) | 基于 WebSocket 的远程端口转发 |
| 系统日志 (Logs) | 运行日志查看 |
| 系统设置 (Settings) | 应用配置管理 |
- Kotlin 2.4.0 + Compose Multiplatform 1.11.1
- Material 3 组件库
- Koin 依赖注入
- Ktorfit 类型安全 HTTP 客户端(基于 Ktor Client)
- SQLDelight 跨平台本地数据库
- Navigation Compose 页面导航
- Coil 3 图片加载
- DataStore 偏好设置存储
- kotlinx-serialization JSON 序列化
- Wind Table KMP 数据表格组件
- QRose 二维码生成
- BigNum 大数运算
- Ktor 3.5.0(Netty 引擎)
- Kotlinx Serialization JSON 处理
- CORS 跨域支持
- WebSocket 实时通信
- GraalVM Native Image 原生编译支持
- Logback 日志框架
- Gradle + Version Catalog 统一依赖管理
- KSP 注解处理
- Compose Hot Reload 热重载
admin/
├── composeApp/ # 跨平台客户端应用(共享代码)
│ └── src/
│ ├── commonMain/ # 所有平台共享代码
│ │ ├── kotlin/com/gnete/merchant/admin/
│ │ │ ├── api/ # HTTP API 接口定义(Ktorfit)
│ │ │ ├── db/ # SQLDelight 数据库
│ │ │ ├── di/ # Koin 依赖注入配置
│ │ │ ├── model/ # 数据模型
│ │ │ ├── proxy/ # 代理/端口转发逻辑
│ │ │ ├── repository/ # 数据仓库层
│ │ │ ├── ui/ # Compose UI 页面与组件
│ │ │ ├── utils/ # 工具类
│ │ │ └── viewmodel/ # ViewModel 层
│ │ └── sqldelight/ # SQLDelight 查询文件
│ ├── androidMain/ # Android 平台特定代码
│ ├── iosMain/ # iOS 平台特定代码
│ ├── jvmMain/ # Desktop (JVM) 平台特定代码
│ └── webMain/ # Web (Wasm/JS) 平台特定代码
├── server/ # Ktor 服务端应用
│ └── src/main/kotlin/
│ └── com/gnete/merchant/admin/
│ ├── Application.kt # 应用入口与配置
│ ├── CustomerRoutes.kt # 客户数据
│ ├── OrderRoutes.kt # 订单数据
│ ├── ProductRoutes.kt # 商品数据
│ ├── DashboardRoutes.kt # 仪表板数据
│ └── ProxyRoutes.kt # 代理 WebSocket
├── shared/ # 全项目共享代码与 API 模型
├── table/ # 自定义数据表格组件库
├── iosApp/ # iOS 应用入口(Swift)
├── gradle/ # Gradle Wrapper 与版本目录
├── Dockerfile.native # GraalVM 原生镜像 Docker 构建文件
└── build-native.sh # 原生编译脚本
- JDK 11+
- Android SDK(如需构建 Android 应用)
- Xcode(如需构建 iOS 应用,仅限 macOS)
# macOS / Linux
./gradlew :composeApp:assembleDebug
# Windows
.\gradlew.bat :composeApp:assembleDebug# macOS / Linux
./gradlew :composeApp:run
# Windows
.\gradlew.bat :composeApp:run# Wasm 目标(更快,适用于现代浏览器)
./gradlew :composeApp:wasmJsBrowserDevelopmentRun
# JS 目标(兼容性更好,支持旧版浏览器)
./gradlew :composeApp:jsBrowserDevelopmentRun# macOS / Linux
./gradlew :server:run
# Windows
.\gradlew.bat :server:run服务端默认运行在 http://localhost:10000,可通过参数自定义端口:
./gradlew :server:run --args="-p 9000"使用 IDE 的运行配置,或在 Xcode 中打开 iosApp 目录运行。
# 构建原生镜像
docker build -f Dockerfile.native -t admin-server .
# 运行容器
docker run -p 8080:8080 admin-server| 接口 | 方法 | 说明 |
|---|---|---|
/api/customers |
GET | 获取客户列表(支持分页、排序) |
/api/orders |
GET | 获取订单列表(支持分页) |
/api/products |
GET | 获取商品列表(支持分页) |
/api/dashboard/stats |
GET | 获取仪表板统计数据 |
/api/analytics |
GET | 获取分析数据 |
/api/proxy/ws |
WebSocket | 远程端口转发控制通道 |