f7cab5ad5c
mirror-to-gitee / mirror (push) Successful in 14s
把原来 12 个独立仓合并为单仓多服务结构,各仓完整提交历史通过
read-tree 并入保留(137 个提交,blame 可追溯)。
目录:
admin-svr/ admin-ui/ app/{server,app}/ openapi/ worker-svr/
upstream-chan/ upstream-proxy/ sms/ bot/ docs/ onelink-mock/ deploy/
同时:
- 新增根 README(目录说明、快速开始、源码构建、镜像发布、许可)
- 新增根 Makefile(make build / test / images / docs)
- 新增根 .gitattributes / .gitignore,删掉 12 份重复的 Apache LICENSE
(admin-ui/ 与 app/app/ 的 MIT 上游许可保留)
- 各服务的 .gitea/workflows 收敛到仓根:trigger-jenkins.yml(tag 构建全部
服务)+ mirror-to-gitee.yml(自动建 Gitee 仓后镜像)
- 文档内跨仓绝对链接改为仓内相对路径;部署/构建文档改为单仓路径
iotlcm-admin-svr
iotLCM 物联网卡全生命周期管理平台的管理后台服务 —— 承载客户门户、卡信息管理、通信管理、资费管理、告警工单、统计分析与系统治理。
配套前端:同仓 admin-ui/。
特性
- 卡资产管理:卡信息、库存、安装、达量断网、批量开停复机
- 通信管理:卡 / 模组 / 设备三域管理,通道与模板治理
- 资费与交易:套餐、订单、账单、余额账户与结算批次
- 告警与工单:报警、待办、故障、工单与规则引擎
- 账号治理:组织、用户、角色、权限与 API 凭证
- 异步协作:耗时操作投递到 RabbitMQ,由同仓
worker-svr/执行 - 定时任务:
sys_job表驱动的调度(流量同步、状态同步、账单等)
技术栈
- Go 1.25 + GoFrame v2
- MySQL(业务库)、Redis(缓存与队列)、RabbitMQ(异步任务)
- JWT(会话与接口鉴权)
快速开始
cd server
cp config/config.example.yaml config/config.yaml
# 按需填写数据库、Redis、RabbitMQ、JWT 等环境变量
go mod tidy
go run .
默认监听 :8199。接口文档:
http://127.0.0.1:8199/api.json # OpenAPI 契约
http://127.0.0.1:8199/swagger # SwaggerUI
配置
将 server/config/config.example.yaml 复制为运行时的 server/config/config.yaml;server/config/config_default.yaml 保存默认值。公开版里的凭据与地址使用环境变量占位符:
| 配置项 | 占位 | 说明 |
|---|---|---|
jwt.signingKey |
${JWT_SIGNING_KEY} |
令牌签发密钥 |
database.default.link |
${DB_DSN} |
业务库 |
redis.default.address / pass |
127.0.0.1:6379 / ${REDIS_PASSWORD} |
缓存 |
⚠️ 部署注意:
jwt.signingKey若使用示例值,登录态与接口令牌将无法跨服务校验。正式部署务必通过环境变量注入真实密钥。
初始化数据
server/storage/data/xiu_admin.sql 是框架基座初始化数据(系统菜单、字典、角色、示例管理员),是运行起点的必要输入。
表结构以部署编排为准 —— 开箱可用的建库建表脚本在同仓
deploy/schema/init.sql(95 张表 + 种子数据),接口契约见同仓docs/。
目录结构
iotlcm-admin-svr/
├── server/
│ ├── api/ # API 契约(system / iot / agent 等)
│ ├── internal/
│ │ ├── controller/ # 控制器
│ │ ├── logic/ # 业务逻辑
│ │ ├── service/ # 服务接口
│ │ ├── model/ consts/ # 模型与常量
│ │ ├── dao/ # 数据访问
│ │ └── library/ # 公共库
│ ├── utility/ # 工具(含启动 banner)
│ ├── config/ # 配置
│ ├── build/ # Dockerfile 与镜像内配置
│ └── storage/data/ # 初始化数据
└── docs/ # 补充说明
容器化构建
cd server
docker build -f build/Dockerfile -t iotlcm-admin-svr:latest .
镜像内不含任何凭据;config/config.yaml 以只读方式挂载覆盖。
测试
cd server
go test ./...
相关项目
admin-ui/—— 管理前端openapi/—— 对外 API 网关worker-svr/—— 异步执行