|
|
před 1 měsícem | |
|---|---|---|
| .. | ||
| .kiro | před 3 měsíci | |
| .vscode | před 3 měsíci | |
| cache | před 2 měsíci | |
| cmd | před 1 měsícem | |
| config | před 2 měsíci | |
| controllers | před 1 měsícem | |
| database | před 6 měsíci | |
| docs | před 1 rokem | |
| domain | před 2 měsíci | |
| dto | před 2 měsíci | |
| function | před 9 měsíci | |
| jobs | před 3 měsíci | |
| logger | před 1 rokem | |
| middleware | před 3 měsíci | |
| models | před 1 rokem | |
| networkEvents | před 6 měsíci | |
| repositories | před 1 měsícem | |
| routes | před 2 měsíci | |
| scheduler | před 1 měsícem | |
| services | před 1 měsícem | |
| task | před 3 měsíci | |
| test | před 2 měsíci | |
| utils | před 1 měsícem | |
| .env | před 2 měsíci | |
| DESIGN.md | před 3 měsíci | |
| README.md | před 1 rokem | |
| go.mod | před 3 měsíci | |
| go.sum | před 3 měsíci | |
| line.html | před 11 měsíci | |
| main.go | před 2 měsíci | |
Go 后端服务,整合了:
├── cmd/
│ └── main.go
├── config/ # 配置
├── cache/ # 缓存封装(Redis)
├── database/ # GORM 数据库相关
├── logger/ # zap Logger
├── scheduler/ # 任务调度
├── routes/ # Fiber 路由 & swagger
├── controllers/ # 控制器
├── models/ # GORM 模型,数据结构定义(实体、DTO)
├── services/ # 业务逻辑(核心)
├── middleware/ # 中间件 (鉴权 / 日志 / 限流 / 恢复 panic)
├── repositories/ # 数据访问层(DB/Cache/外部 API)
├── dto/ # 请求/响应 DTO (Data Transfer Object) 对外接口类型
├── domain/ # 领域对象 Domain Model 对内/模型类型
├── utils/ # 工具函数
├── pkg/ # 自定义通用包
├── docs/ # Swagger 文档
├── .env # 环境变量
├── go.mod
└── go.sum
Notes:
Client (HTTP / gRPC / MQ)
│
▼
Route (Fiber 路由)
│
▼
Middleware* (鉴权 / 日志 / 限流 / 恢复 panic)
│
▼
Controller / Handler (解析请求,调用 service)
│
▼
Service (业务逻辑) ────────────────────────────────────────────┐
│ ▼
│ Task (实时任务) / Scheduler (定时任务)
│ │
│ ▼
│ Jobs* (繁琐事务)
▼
Repository / DAO (数据库 / 缓存 / API) ◀───────────────────────┘
│
▼
Database / Cache (Redis) / 外部服务 (FWH-API)
项目可通过环境变量配置文件对软件的功能进行配置,配置文件支持的路径如下(读取优先级与路径列出顺序一致):
| 变量名 | 说明 | | - | --- | | APP_ENV | 运行环境,可选项:"pro" - 生产环境、"dev" - 开发环境,默认"DEV" | | APP_PORT | 服务监听端口号,默认"8301" | | MYSQL_DSN | MYSQL数据库连接配置,DSN格式,连接FWH服务器的home_energy_storage_server数据库,用于查询站点信息。 | | POSTGRES_DSN | PGSQL数据库连接配置,DSN格式,本地保存数据信息。 | | MONGO_DSN | MONGO数据库连接配置,DSN格式,本地保存数据信息。 | | REDIS_ADDR | REDIS本地缓存服务器的域名或IP地址,默认"localhost" |