chore: 初始开源发布
iotlcm-openapi:对外 OpenAPI 网关(V3 接口 + 旧版兼容接口)。
- Go module:iotlcm-openapi → git.5iot.com/iotlcm-public/iotlcm-openapi(178 文件)
- 凭据与地址脱敏:JWT signingKey、MySQL DSN、Redis 口令、
RabbitMQ DSN 全部改为 ${*} 占位;私网 IP → 文档地址段
- 7 处真实手机号 → 合法 11 位编造号
- 启动 banner 统一 IOTLCM 方块字 + 社区惯例署名
- 移除内部资产:CI 触发器
- Dockerfile 改用公共基础镜像,移除 GOPRIVATE 内网设置
- README 重写(原为 GoFrame 模板占位文案),补 Apache-2.0 LICENSE,
LF 行尾 + .gitattributes
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
package common
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"git.5iot.com/iotlcm-public/iotlcm-openapi/api/common/v1"
|
||||
)
|
||||
|
||||
type ICommonV1 interface {
|
||||
SimSubscribe(ctx context.Context, req *v1.SimSubscribeReq) (res *v1.SingleRenewRes, err error)
|
||||
BatchSimSubscribe(ctx context.Context, req *v1.BatchSimSubscribeReq) (res *v1.RenewRes, err error)
|
||||
SimTrafficCutoff(ctx context.Context, req *v1.SimTrafficCutoffReq) (res *v1.SingleTrafficCutoffRes, err error)
|
||||
BatchSimTrafficCutoff(ctx context.Context, req *v1.BatchSimTrafficCutoffReq) (res *v1.TrafficCutoffConfigRes, err error)
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
|
||||
"git.5iot.com/iotlcm-public/iotlcm-openapi/internal/model"
|
||||
)
|
||||
|
||||
type SimSubscribeReq struct {
|
||||
g.Meta `path:"/sim-subscribe" method:"POST" tags:"V3 Change API" summary:"Single SIM subscription renewal"`
|
||||
AppId string `json:"appId" v:"required#appId is required"`
|
||||
Iccid string `json:"iccid,omitempty"`
|
||||
Msisdn string `json:"msisdn,omitempty"`
|
||||
Imsi string `json:"imsi,omitempty"`
|
||||
PackageId string `json:"packageId" v:"required#packageId is required"`
|
||||
Validity int `json:"validity" v:"required|min:1#validity is required|validity must be greater than 0"`
|
||||
Remark string `json:"remark,omitempty"`
|
||||
}
|
||||
|
||||
type BatchSimSubscribeReq struct {
|
||||
g.Meta `path:"/batch-sim-subscribe" method:"POST" tags:"V3 Change API" summary:"Batch SIM subscription renewal"`
|
||||
AppId string `json:"appId" v:"required#appId is required"`
|
||||
Cards []model.CommonRenewCard `json:"cards,omitempty"`
|
||||
Iccid []string `json:"iccid,omitempty"`
|
||||
PackageId string `json:"packageId" v:"required#packageId is required"`
|
||||
Validity int `json:"validity" v:"required|min:1#validity is required|validity must be greater than 0"`
|
||||
Remark string `json:"remark,omitempty"`
|
||||
}
|
||||
|
||||
type RenewReq struct {
|
||||
g.Meta `path:"/renew" method:"POST" tags:"V3 Common API" summary:"Renewal compatibility endpoint"`
|
||||
model.CommonRenewParam
|
||||
}
|
||||
|
||||
type RenewRes struct{ model.CommonRenewRes }
|
||||
type SingleRenewRes struct{ model.CommonSingleRenewRes }
|
||||
type TrafficCutoffConfigRes struct {
|
||||
model.CommonTrafficCutoffConfigRes
|
||||
}
|
||||
type SingleTrafficCutoffRes struct {
|
||||
model.CommonSingleTrafficCutoffRes
|
||||
}
|
||||
|
||||
type SimTrafficCutoffReq struct {
|
||||
g.Meta `path:"/sim-traffic-cutoff" method:"POST" tags:"V3 Change API" summary:"Single traffic cutoff configuration"`
|
||||
model.CommonTrafficCutoffSingleParam
|
||||
}
|
||||
|
||||
type BatchSimTrafficCutoffReq struct {
|
||||
g.Meta `path:"/batch-sim-traffic-cutoff" method:"POST" tags:"V3 Change API" summary:"Batch traffic cutoff configuration"`
|
||||
model.CommonTrafficCutoffConfigParam
|
||||
}
|
||||
|
||||
type TrafficCutoffConfigReq struct {
|
||||
g.Meta `path:"/traffic-cutoff-config" method:"POST" tags:"V3 Common API" summary:"Batch traffic cutoff compatibility endpoint"`
|
||||
model.CommonTrafficCutoffConfigParam
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
// =================================================================================
|
||||
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
|
||||
// =================================================================================
|
||||
|
||||
package old_api
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"git.5iot.com/iotlcm-public/iotlcm-openapi/api/old_api/v1"
|
||||
)
|
||||
|
||||
type IOldApiV1 interface {
|
||||
CardInfo(ctx context.Context, req *v1.CardInfoReq) (res *v1.CardInfoRes, err error)
|
||||
SimDataUsage(ctx context.Context, req *v1.SimDataUsageReq) (res *v1.SimDataUsageRes, err error)
|
||||
SimDataUsageMonthly(ctx context.Context, req *v1.SimDataUsageMonthlyReq) (res *v1.SimDataUsageMonthlyRes, err error)
|
||||
SimStatus(ctx context.Context, req *v1.SimStatusReq) (res *v1.SimStatusRes, err error)
|
||||
SimSession(ctx context.Context, req *v1.SimSessionReq) (res *v1.SimSessionRes, err error)
|
||||
SimCardInfoList(ctx context.Context, req *v1.SimCardInfoListReq) (res *v1.SimCardInfoListRes, err error)
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package v1
|
||||
|
||||
import (
|
||||
"git.5iot.com/iotlcm-public/iotlcm-openapi/internal/model"
|
||||
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
)
|
||||
|
||||
type CardInfoReq struct {
|
||||
g.Meta `path:"/cardInfo" method:"POST" tags:"old_Sim" summary:"查询SIM信息"`
|
||||
model.SimCardInfoInput
|
||||
}
|
||||
|
||||
type CardInfoRes struct {
|
||||
model.SimCardInfoOutput
|
||||
}
|
||||
|
||||
type SimDataUsageReq struct {
|
||||
g.Meta `path:"/simDataUsage" method:"POST" tags:"old_Sim" summary:"查询SIM账期用量"`
|
||||
model.SimDataUsageOldInput
|
||||
}
|
||||
|
||||
type SimDataUsageRes struct {
|
||||
model.SimDataUsageOldOutput
|
||||
}
|
||||
|
||||
type SimDataUsageMonthlyReq struct {
|
||||
g.Meta `path:"/simDataUsageMonthly" method:"POST" tags:"old_Sim" summary:"查询SIM历史用量"`
|
||||
model.SimDataUsageMonthlyOldInput
|
||||
}
|
||||
|
||||
type SimDataUsageMonthlyRes struct {
|
||||
model.SimDataUsageMonthlyOldOutput
|
||||
}
|
||||
|
||||
type SimStatusReq struct {
|
||||
g.Meta `path:"/simStatus" method:"POST" tags:"old_Sim" summary:"查询SIM状态"`
|
||||
model.SimStatusOldInput
|
||||
}
|
||||
|
||||
type SimStatusRes struct {
|
||||
model.SimStatusOldOutput
|
||||
}
|
||||
|
||||
type SimSessionReq struct {
|
||||
g.Meta `path:"/simSession" method:"POST" tags:"old_Sim" summary:"查询SIM会话"`
|
||||
model.SimStatusOnlineOldInput
|
||||
}
|
||||
|
||||
type SimSessionRes struct {
|
||||
model.SimStatusOnlineOldOutput
|
||||
}
|
||||
|
||||
type SimCardInfoListReq struct {
|
||||
g.Meta `path:"/queryCardInfoList" method:"POST" tags:"old_Sim" summary:"查询SIM卡列表"`
|
||||
model.QueryCardInfoListInput
|
||||
}
|
||||
|
||||
type SimCardInfoListRes = []model.QueryCardInfoListOutput
|
||||
@@ -0,0 +1,26 @@
|
||||
// =================================================================================
|
||||
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
|
||||
// =================================================================================
|
||||
|
||||
package query
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"git.5iot.com/iotlcm-public/iotlcm-openapi/api/query/v1"
|
||||
)
|
||||
|
||||
type IQueryV1 interface {
|
||||
QuerySimInfo(ctx context.Context, req *v1.QuerySimInfoReq) (res *v1.QuerySimInfoRes, err error)
|
||||
QuerySimLimit(ctx context.Context, req *v1.QuerySimLimitReq) (res *v1.QuerySimLimitRes, err error)
|
||||
QuerySimImei(ctx context.Context, req *v1.QuerySimImeiReq) (res *v1.QuerySimImeiRes, err error)
|
||||
QuerySimUsage(ctx context.Context, req *v1.QuerySimUsageReq) (res *v1.QuerySimUsageRes, err error)
|
||||
QuerySimStatus(ctx context.Context, req *v1.QuerySimStatusReq) (res *v1.QuerySimStatusRes, err error)
|
||||
QueryTrafficCutoffConfig(ctx context.Context, req *v1.QueryTrafficCutoffConfigReq) (res *v1.QueryTrafficCutoffConfigRes, err error)
|
||||
QueryBatchStatus(ctx context.Context, req *v1.QueryBatchStatusReq) (res *v1.QueryBatchStatusRes, err error)
|
||||
QuerySimStatusBatch(ctx context.Context, req *v1.QuerySimStatusBatchReq) (res *v1.QuerySimStatusBatchRes, err error)
|
||||
QuerySimUsageBatch(ctx context.Context, req *v1.QuerySimUsageBatchReq) (res *v1.QuerySimUsageBatchRes, err error)
|
||||
QuerySimImeiBatch(ctx context.Context, req *v1.QuerySimImeiBatchReq) (res *v1.QuerySimImeiBatchRes, err error)
|
||||
Token(ctx context.Context, req *v1.TokenReq) (res *v1.TokenRes, err error)
|
||||
OperatorToken(ctx context.Context, req *v1.OperatorTokenReq) (res *v1.OperatorTokenRes, err error)
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
package v1
|
||||
|
||||
import (
|
||||
"git.5iot.com/iotlcm-public/iotlcm-openapi/internal/model"
|
||||
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
)
|
||||
|
||||
type QuerySimInfoReq struct {
|
||||
g.Meta `path:"/sim-info" method:"POST" tags:"V3查询接口" summary:"查询SIM信息"`
|
||||
model.QuerySimInput
|
||||
}
|
||||
|
||||
type QuerySimInfoRes struct {
|
||||
model.QuerySimInfoOutput
|
||||
}
|
||||
|
||||
type QuerySimLimitReq struct {
|
||||
g.Meta `path:"/sim-limit" method:"POST" tags:"V3查询接口" summary:"查询SIM流量限制"`
|
||||
model.QuerySimInput
|
||||
}
|
||||
|
||||
type QuerySimLimitRes struct {
|
||||
model.QuerySimLimitOutput
|
||||
}
|
||||
|
||||
type QuerySimImeiReq struct {
|
||||
g.Meta `path:"/sim-imei" method:"POST" tags:"V3查询接口" summary:"查询SIM IMEI"`
|
||||
model.QuerySimInput
|
||||
}
|
||||
|
||||
type QuerySimImeiRes struct {
|
||||
model.QuerySimImeiOutput
|
||||
}
|
||||
|
||||
type QuerySimUsageReq struct {
|
||||
g.Meta `path:"/sim-usage" method:"POST" tags:"V3查询接口" summary:"查询SIM流量使用"`
|
||||
model.QuerySimInput
|
||||
}
|
||||
|
||||
type QuerySimUsageRes struct {
|
||||
model.QuerySimUsageOutput
|
||||
}
|
||||
|
||||
type QuerySimStatusReq struct {
|
||||
g.Meta `path:"/sim-status" method:"POST" tags:"V3查询接口" summary:"查询SIM卡状态"`
|
||||
model.QuerySimInput
|
||||
}
|
||||
|
||||
type QuerySimStatusRes struct {
|
||||
model.QuerySimCardStatusOutput
|
||||
}
|
||||
|
||||
type QueryTrafficCutoffConfigReq struct {
|
||||
g.Meta `path:"/traffic-cutoff-config" method:"POST" tags:"V3查询接口" summary:"批量查询达量断网配置"`
|
||||
model.QueryTrafficCutoffConfigParam
|
||||
}
|
||||
|
||||
type QueryTrafficCutoffConfigRes struct {
|
||||
model.QueryTrafficCutoffConfigOutput
|
||||
}
|
||||
|
||||
type QueryBatchStatusReq struct {
|
||||
g.Meta `path:"/batch-status" method:"POST" tags:"V3查询接口" summary:"查询批次状态"`
|
||||
model.QueryBatchStatusParam
|
||||
}
|
||||
|
||||
type QueryBatchStatusRes struct {
|
||||
model.QueryBatchStatusOutput
|
||||
}
|
||||
|
||||
type QuerySimStatusBatchReq struct {
|
||||
g.Meta `path:"/sim-status-batch" method:"POST" tags:"V3查询接口" summary:"批量查询SIM卡状态"`
|
||||
model.QuerySimStatusBatchParam
|
||||
}
|
||||
|
||||
type QuerySimStatusBatchRes struct {
|
||||
model.QuerySimStatusBatchOutput
|
||||
}
|
||||
|
||||
type QuerySimUsageBatchReq struct {
|
||||
g.Meta `path:"/sim-usage-batch" method:"POST" tags:"V3查询接口" summary:"批量查询SIM流量使用"`
|
||||
model.QuerySimUsageBatchParam
|
||||
}
|
||||
|
||||
type QuerySimUsageBatchRes struct {
|
||||
model.QuerySimUsageBatchOutput
|
||||
}
|
||||
|
||||
type QuerySimImeiBatchReq struct {
|
||||
g.Meta `path:"/sim-imei-batch" method:"POST" tags:"V3查询接口" summary:"批量查询SIM IMEI"`
|
||||
model.QuerySimImeiBatchParam
|
||||
}
|
||||
|
||||
type QuerySimImeiBatchRes struct {
|
||||
model.QuerySimImeiBatchOutput
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package v1
|
||||
|
||||
import (
|
||||
"git.5iot.com/iotlcm-public/iotlcm-openapi/internal/model"
|
||||
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
)
|
||||
|
||||
// 获取Token
|
||||
type TokenReq struct {
|
||||
g.Meta `path:"/token" method:"POST" tags:"V3-Token获取" summary:"获取平台API Token"`
|
||||
model.TokenInputApi
|
||||
}
|
||||
type TokenRes struct {
|
||||
model.TokenOutputApi
|
||||
}
|
||||
|
||||
// 共享运营商token
|
||||
type OperatorTokenReq struct {
|
||||
g.Meta `path:"/operator-token" method:"POST" tags:"共享Token" summary:"共享运营商Token(需传入appId+chanKey)"`
|
||||
model.OperatorTokenInput
|
||||
}
|
||||
type OperatorTokenRes struct {
|
||||
model.OperatorTokenOutput
|
||||
}
|
||||
Reference in New Issue
Block a user