# iotLCM —— 物联网卡全生命周期管理平台(开源版) 一站式物联网 SIM 卡管理平台:卡片从运营商渠道入库 → 划拨给代理商 → 激活 / 续费 / 停机 → 流量与状态同步 → 销户。对接中国移动 OneLink、中国电信 5G CMP、中国联通 10646 等运营商接口,并通过共享 Token 模式接入多家三方渠道商。 **单仓多服务**:平台全部后端服务、前端应用、文档站与部署编排都在本仓,一次 clone 即可获得完整源码。 ## 目录 | 目录 | 说明 | 镜像 | | --- | --- | --- | | `admin-svr/` | 管理端后端(GoFrame):卡信息、通信管理、资费、告警工单、统计、账号治理 | `iotlcm-admin-svr` | | `admin-ui/` | 管理端前端(Vue 3 + Vben Admin) | `iotlcm-admin-ui` | | `openapi/` | 对外 API 网关:V3 接口、旧版兼容、运营商能力代理 | `iotlcm-openapi` | | `worker-svr/` | 异步执行:RabbitMQ 消费者、全量同步、批量任务 | `iotlcm-worker-svr` | | `upstream-chan/` | 运营商 / 三方渠道对接层(OneLink、CMP、10646、共享 Token) | `iotlcm-upstream-chan` | | `upstream-proxy/` | 通道缓存转发层(挡在 chan 前面的本地缓存) | `iotlcm-upstream-proxy` | | `app/server/` | 用户端服务(GoFrame) | `iotlcm-app-server` | | `app/app/` | 用户端前端(uni-app,基于 unibest,MIT) | `iotlcm-app-web` | | `sms/` | 短信 HTTP / gRPC 服务(阿里云、腾讯云) | `iotlcm-sms` | | `bot/` | 飞书通知机器人(运维自用,可选) | `iotlcm-bot` | | `docs/` | 文档站(VitePress):使用手册 + OpenAPI 合同 + 部署手册 | `iotlcm-docs` | | `onelink-mock/` | OneLink 接口挡板(联调 / 演示,可选) | `iotlcm-onelink-mock` | | `deploy/` | Docker Compose 编排与数据库初始化 | 参考 `deploy/README.md` | 每个子目录都有自己的 `README.md`,说明该服务的职责、配置项与本地运行方式。 ## 快速开始(只跑起来) 不需要编译,直接用预构建镜像拉起整栈: ```bash git clone <本仓库地址> iotlcm cd iotlcm/deploy docker compose up -d ``` 首次启动自动完成 MySQL 建库建表(95 张)、种子数据导入、时序库建表,实测 30 秒 ~ 1 分钟。 默认账号 `admin`,口令见 `deploy/README.md`(**正式使用前必须修改**)。详细的端口、配置项、可选服务(挡板 / 飞书通知 / 反向代理)、离线部署与排错,见 `deploy/README.md` 与文档站 `docs/deploy/`。 > 对外端口默认只监听 `127.0.0.1`,需要局域网或公网访问时,用 `deploy/` 里的 nginx 编排改绑定地址,或并入宿主机已有的反向代理。 ## 从源码构建 每个 Go 服务是独立模块(各自带 `go.mod`),在对应目录内构建: ```bash cd worker-svr && go build -o out/ . # 其它 Go 服务同理 ``` 前端: ```bash cd admin-ui/vue && pnpm install && pnpm build cd app/app && pnpm install && pnpm build cd docs && npm ci && npm run build ``` 或一键编译检查全部 Go 模块: ```bash make build # 所有 Go 服务编译 make images # 本地构建全部镜像 ``` 构建镜像所需的 Dockerfile 位置与构建上下文,见 `docs/docs/deploy/build-image.md`。 ## 发布与镜像 所有镜像发布到**同一个镜像仓库**,用 tag 区分服务与版本: ```text <镜像仓库>/iotlcm/iotlcm:iotlcm-worker-svr-v1.0.4 └─ 仓库 ┘ └─ 服务名 ─┘└版本┘ ``` 打 `v*` tag 会经由内网 CI 构建全部镜像并推送,见 `.gitea/workflows/`。 ## 许可 本仓整体采用 [Apache License 2.0](LICENSE)。 以下子目录基于上游 MIT 项目衍生,保留其原始许可: | 目录 | 上游 | 许可 | | --- | --- | --- | | `admin-ui/` | [Vben Admin](https://github.com/vbenjs/vue-vben-admin) | MIT,见 `admin-ui/LICENSE` | | `app/app/` | [unibest](https://github.com/unibest-tech/unibest) | MIT,见 `app/app/LICENSE` |