chore: 初始开源发布

iotlcm-upstream-chan:运营商上游通道适配服务(统一 /sim/* 协议)。

- 内联原私有依赖:yunze-public → internal/pub/(10 包 18 文件),
  yunze-pb/pb → internal/pb/(9 文件);Consul 注册改用官方
  gogf/gf/contrib/registry/consul/v2(API 兼容)
- Go module:yz-svr → git.5iot.com/iotlcm-public/iotlcm-upstream-chan
- 修复 mingqian 包测试:实现重构后 `adapter.operations` 字段已移除,
  测试断言按当前实现语义重写(不改产品行为)
- 凭据与内部标识脱敏:MySQL/Redis/Consul 凭据、私网与生产 IP、
  内网域名、真实手机号、注释里的真实 token/transid
- 移除内部资产:CI 触发器、生产通道种子 SQL、真实凭据测试资源文档
- Dockerfile 改用公共基础镜像,移除写死的 registry 凭据
- 补 Apache-2.0 LICENSE,重写 README,LF 行尾 + .gitattributes
This commit is contained in:
MiFaZhan
2026-10-22 15:42:29 +08:00
commit 96b1edff45
191 changed files with 30805 additions and 0 deletions
+68
View File
@@ -0,0 +1,68 @@
package info
import (
"git.5iot.com/iotlcm-public/iotlcm-upstream-chan/internal/pub/xjpubmodel"
"git.5iot.com/iotlcm-public/iotlcm-upstream-chan/internal/pub/xjpubservice"
)
type sInfo struct {
Info xjpubmodel.InfoModel
}
func NewInfo() *sInfo {
return &sInfo{
Info: xjpubmodel.InfoModel{},
}
}
func init() {
xjpubservice.RegisterInfo(NewInfo())
}
func (s *sInfo) GetInfo() *xjpubmodel.InfoModel {
return &s.Info
}
func (s *sInfo) SetInfoName(Type, Name, Title, Description string) {
if s.Info.Name == "" {
s.Info.Type = Type
s.Info.Name = Name
s.Info.Title = Title
s.Info.Description = Description
}
}
func (s *sInfo) SetInfoBuild(buildVersion, buildTime, commitID string) {
s.Info.Version = buildVersion
s.Info.Build = buildTime
s.Info.Commit = commitID
}
func (s *sInfo) SetInfoData(data map[string]interface{}) {
s.Info.Data = data
}
func (s *sInfo) GetInfoData() map[string]interface{} {
return s.Info.Data
}
func (s *sInfo) AddInfoData(key string, value interface{}) {
if s.Info.Data == nil {
s.Info.Data = make(map[string]interface{})
}
s.Info.Data[key] = value
}
func (s *sInfo) DelInfoData(key string) {
delete(s.Info.Data, key)
}
func (s *sInfo) GetInfoDataByKey(key string) interface{} {
if s.Info.Data == nil {
return nil
}
if _, ok := s.Info.Data[key]; !ok {
return nil
}
return s.Info.Data[key]
}
+127
View File
@@ -0,0 +1,127 @@
package info
import (
"context"
"runtime"
"git.5iot.com/iotlcm-public/iotlcm-upstream-chan/internal/pub/xjpubmodel"
"git.5iot.com/iotlcm-public/iotlcm-upstream-chan/internal/pub/xjpubservice"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/glog"
)
type sInfoRpc struct {
Info *xjpubmodel.InfoModel
}
func NewInfoRpc() *sInfoRpc {
return &sInfoRpc{
Info: xjpubmodel.NewInfoModel(),
}
}
func init() {
xjpubservice.RegisterInfoRpc(NewInfoRpc())
}
func (s *sInfoRpc) GetInfo() *xjpubmodel.InfoModel {
ctx := context.Background()
logLevel := g.Cfg().MustGet(ctx, "logger.level", "").String()
if logLevel != "" {
g.Log().SetLevelStr(logLevel)
}
s.AddInfoData("log_level_conf", logLevel)
s.AddInfoData("log_level_real", toLogLevelStr(g.Log().GetLevel()))
s.AddInfoData("Goroutines", runtime.NumGoroutine())
var m runtime.MemStats
runtime.ReadMemStats(&m)
s.AddInfoData("MemAllocKB", m.Alloc/1024)
s.AddInfoData("MemTotalAllocKB", m.TotalAlloc/1024)
s.AddInfoData("MemSysKB", m.Sys/1024)
s.AddInfoData("MemHeapAllocKB", m.HeapAlloc/1024)
s.AddInfoData("MemHeapSysKB", m.HeapSys/1024)
s.AddInfoData("MemHeapIdleKB", m.HeapIdle/1024)
s.AddInfoData("MemHeapInuseKB", m.HeapInuse/1024)
s.AddInfoData("MemHeapReleasedKB", m.HeapReleased/1024)
s.AddInfoData("MemHeapObjects", m.HeapObjects)
s.AddInfoData("MemStackInuseKB", m.StackInuse/1024)
s.AddInfoData("MemStackSysKB", m.StackSys/1024)
s.AddInfoData("MemNumGC", m.NumGC)
return s.Info
}
func toLogLevelStr(level int) string {
if level == glog.LEVEL_NONE {
return "NONE"
}
if level == glog.LEVEL_ALL {
return "ALL"
}
if level == glog.LEVEL_DEV {
return "DEV"
}
if level == glog.LEVEL_PROD {
return "PROD"
}
str := ""
if level&glog.LEVEL_DEBU != 0 {
str += "DEBUG "
}
if level&glog.LEVEL_INFO != 0 {
str += "INFO "
}
if level&glog.LEVEL_NOTI != 0 {
str += "NOTI "
}
if level&glog.LEVEL_WARN != 0 {
str += "WARN "
}
if level&glog.LEVEL_ERRO != 0 {
str += "ERRO "
}
if level&glog.LEVEL_CRIT != 0 {
str += "CRIT "
}
if level&glog.LEVEL_PANI != 0 {
str += "PANI "
}
if level&glog.LEVEL_FATA != 0 {
str += "FATA "
}
return str
}
func (s *sInfoRpc) SetInfoName(Type, Name, Title, Description string) {
if s.Info.Name == "" {
s.Info.Type = Type
s.Info.Name = Name
s.Info.Title = Title
s.Info.Description = Description
}
}
func (s *sInfoRpc) SetInfoBuild(buildVersion, buildTime, commitID string) {
s.Info.Version = buildVersion
s.Info.Build = buildTime
s.Info.Commit = commitID
}
func (s *sInfoRpc) SetInfoData(data map[string]interface{}) {
s.Info.Data = data
}
func (s *sInfoRpc) GetInfoData() map[string]interface{} {
return s.Info.Data
}
func (s *sInfoRpc) AddInfoData(key string, value interface{}) {
s.Info.Data[key] = value
}
func (s *sInfoRpc) DelInfoData(key string) {
delete(s.Info.Data, key)
}
func (s *sInfoRpc) GetInfoDataByKey(key string) interface{} {
return s.Info.Data[key]
}