110 lines
3.7 KiB
Markdown
110 lines
3.7 KiB
Markdown
# iotlcm-app
|
||
|
||
iotLCM 物联网卡全生命周期管理平台的**小程序端 + 用户端服务**。
|
||
|
||
- `app/` —— uni-app 小程序前端(基于 [unibest](https://github.com/unibest-tech/unibest),MIT)
|
||
- `server/` —— 用户端 GoFrame 服务(基于 XiuAdmin 框架,Apache-2.0)
|
||
|
||
配套管理后台:[iotlcm-admin-svr](https://git.5iot.com/iotlcm-public/iotlcm-admin-svr) / [iotlcm-admin-ui](https://git.5iot.com/iotlcm-public/iotlcm-admin-ui)
|
||
|
||
## 特性
|
||
|
||
**小程序端**(`app/`)
|
||
|
||
- 公开查卡:输入卡号即可查状态、流量、到期时间
|
||
- 卡片详情与用量曲线(日/月分库)
|
||
- 一键诊断:拍卡号或手输,问题排查直达
|
||
- 账号体系:组织下个人账号、角色权限
|
||
|
||
**用户端服务**(`server/`)
|
||
|
||
- 小程序端的业务后端:卡映射、诊断、订单、余额、消息、工单
|
||
- 独立于管理后台的用户域数据与权限
|
||
- 对接上游通道完成真实查卡与诊断
|
||
|
||
## 技术栈
|
||
|
||
- 前端:uni-app + Vue 3 + TypeScript + Vite 5 + UnoCSS + wot-ui + z-paging
|
||
- 后端:Go 1.25 + GoFrame v2 + MySQL + Redis
|
||
|
||
## 快速开始
|
||
|
||
### 后端
|
||
将 `server/config/config.example.yaml` 复制为 `server/config/config.yaml` 并填写自己的凭据;使用代码生成前同样将 `server/hack/config.example.yaml` 复制为 `server/hack/config.yaml`。
|
||
|
||
|
||
```bash
|
||
cd server
|
||
go mod tidy
|
||
go run .
|
||
```
|
||
|
||
默认监听 `:8199`。
|
||
|
||
### 小程序前端
|
||
|
||
```bash
|
||
cd app
|
||
pnpm install
|
||
pnpm dev:mp-weixin # 微信小程序,产物用微信开发者工具打开 dist/dev/mp-weixin
|
||
```
|
||
|
||
## 配置
|
||
|
||
| 位置 | 说明 |
|
||
| --- | --- |
|
||
| `server/config/config.example.yaml` | 后端配置(**公开版凭据为占位符**) |
|
||
| `app/env/.env*` | 前端环境变量(**公开版 AppID 为占位符**) |
|
||
|
||
后端配置占位:
|
||
|
||
| 配置项 | 占位 |
|
||
| --- | --- |
|
||
| `database.default.link` | `mysql:${DB_USER}:${DB_PASSWORD}@tcp(${DB_HOST}:3306)` |
|
||
| `redis.default.address` / `pass` | `${REDIS_ADDR}` / `${REDIS_PASSWORD}` |
|
||
| `jwt.signingKey` | `${JWT_SIGNING_KEY}` |
|
||
|
||
前端配置占位:
|
||
|
||
| 变量 | 占位 |
|
||
| --- | --- |
|
||
| `VITE_WX_APPID` | `YOUR_WX_APPID` |
|
||
| `VITE_UNI_APPID` | `__UNI__YOURAPPID` |
|
||
| `VITE_MP_SERVER_BASEURL` | `https://admin.iotlcm.example.com/app/api/v1` |
|
||
|
||
## 目录结构
|
||
|
||
```text
|
||
iotlcm-app/
|
||
├── app/ # uni-app 小程序前端
|
||
│ ├── src/pages/ # 页面(首页、查卡、诊断、登录等)
|
||
│ ├── src/constant/ # 常量与路由定义
|
||
│ ├── env/ # 环境变量
|
||
│ └── src/static/logo.svg # 应用图标
|
||
└── server/ # GoFrame 用户端服务
|
||
├── api/ # API 契约(app / common / gen)
|
||
├── internal/
|
||
│ ├── logic/app/ # 用户端业务逻辑
|
||
│ ├── model/ consts/ # 模型与常量
|
||
│ └── utility/ # 工具(含启动 banner)
|
||
├── config/ # 配置
|
||
└── storage/data/ # 框架基座初始化数据
|
||
```
|
||
|
||
## 初始化数据
|
||
|
||
`server/storage/data/xiu_admin.sql` 是框架基座初始化数据(系统菜单、字典、角色、示例账号),是运行起点的必要输入。
|
||
|
||
> **数据库 schema 不随本仓发布** —— 生产库的完整 DDL 已过时,请按需自建表结构。
|
||
|
||
## 上游与许可
|
||
|
||
| 部分 | 上游 | 许可 |
|
||
| --- | --- | --- |
|
||
| `app/` | [unibest](https://github.com/unibest-tech/unibest) | MIT(见 [`app/LICENSE`](./app/LICENSE)) |
|
||
| `server/` | XiuAdmin(GoFrame 中后台框架基座) | Apache-2.0(见 [`server/LICENSE`](./server/LICENSE)) |
|
||
|
||
## License
|
||
|
||
根目录 [LICENSE](./LICENSE) 为 Apache-2.0。
|