Skip to content

Repository files navigation

商户管理后台 (Admin)

基于 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)

构建与运行

Android 应用

# macOS / Linux
./gradlew :composeApp:assembleDebug

# Windows
.\gradlew.bat :composeApp:assembleDebug

Desktop (JVM) 应用

# macOS / Linux
./gradlew :composeApp:run

# Windows
.\gradlew.bat :composeApp:run

Web 应用

# 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"

iOS 应用

使用 IDE 的运行配置,或在 Xcode 中打开 iosApp 目录运行。

Docker 部署(GraalVM 原生镜像)

# 构建原生镜像
docker build -f Dockerfile.native -t admin-server .

# 运行容器
docker run -p 8080:8080 admin-server

API 接口

接口 方法 说明
/api/customers GET 获取客户列表(支持分页、排序)
/api/orders GET 获取订单列表(支持分页)
/api/products GET 获取商品列表(支持分页)
/api/dashboard/stats GET 获取仪表板统计数据
/api/analytics GET 获取分析数据
/api/proxy/ws WebSocket 远程端口转发控制通道

参考链接

About

基于 Kotlin Multiplatform + Compose Multiplatform 的全栈商户管理后台应用,支持 Android、iOS、Web(Wasm/JS)、Desktop(JVM)及 Server 多平台运行

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages