# iotlcm-admin-ui iotLCM 物联网卡全生命周期管理平台的**管理前端** —— 卡资产、通信管理、资费交易、告警工单、统计分析、账号治理。 配套后端:同仓 [`admin-svr/`](../admin-svr)。 ## 上游与许可 本项目基于 **[Vben Admin](https://github.com/vbenjs/vue-vben-admin) 5.5.9**(MIT License)二次开发。 - 上游版权与许可声明完整保留在 [`LICENSE`](./LICENSE) 与各源文件的 `@Author` / `@Copyright` 头中 - iotLCM 相关的业务页面、API 封装与配置为本项目新增 - 上游仓库:[vbenjs/vue-vben-admin](https://github.com/vbenjs/vue-vben-admin) - 上游自带的说明文档保留在 [`vue/README.md`](./vue/README.md) ## 技术栈 - Vue 3 + Vite + TypeScript - Vben Admin 5.5.9(Ant Design Vue 版:`apps/web-antd`) - Pinia(状态)、Vue Router、TailwindCSS + UnoCSS(原子化样式) - pnpm workspace + Turborepo(monorepo) ## 快速开始 ```bash cd vue pnpm install pnpm dev:antd ``` 开发服务器默认监听 `http://127.0.0.1:5666/`。 构建: ```bash pnpm build:antd ``` 产物在 `vue/apps/web-antd/dist/`。 ## 配置 环境变量文件在 `vue/apps/web-antd/`: | 文件 | 用途 | | --- | --- | | `.env` | 通用配置(应用标题、命名空间、客户端 ID、store 加密密钥) | | `.env.development` | 开发环境(端口、API 地址) | | `.env.production` | 生产环境(压缩策略、路由模式、PWA) | **公开版里的凭据是占位符**: | 变量 | 占位 | 说明 | | --- | --- | --- | | `VITE_GLOB_CLIENT_ID` | `your-client-id` | OAuth 客户端 ID | | `VITE_APP_STORE_SECURE_KEY` | `please-replace-me-with-your-own-key` | localStorage 加密密钥 | | `TIANDITU_CONFIG.API_KEY` | `YOUR_TIANDITU_KEY` | 天地图 API Key(`src/config/tianditu.ts`) | > ⚠️ `VITE_APP_STORE_SECURE_KEY` 必须是自己的随机值——它用于加密持久化的 store,换设备时 store 数据将无法解密。 ## 目录结构 ```text iotlcm-admin-ui/ ├── Makefile # 容器构建与推送 └── vue/ # Vben Admin monorepo ├── apps/web-antd/ # iotLCM 管理端应用(主应用) │ ├── src/api/iotlcm/ # iotLCM 业务 API 封装 │ ├── src/views/iotlcm/ # iotLCM 业务页面 │ ├── src/config/ # 应用配置(含天地图配置) │ └── .env* # 环境变量 ├── packages/ # 内部共享包 └── internal/ # 构建期工具 ``` ## 容器化构建 ```bash docker build --rm -f vue/build/Dockerfile --platform linux/amd64 -t iotlcm-admin-ui:latest . ``` 推送到自己的镜像仓库: ```bash REGISTRY= make dockerpush ``` ## License [MIT](./LICENSE) —— 含 Vben Admin 上游的 MIT 声明。