|
|
1 年間 前 | |
|---|---|---|
| .. | ||
| .vscode | 1 年間 前 | |
| cache | 1 年間 前 | |
| cmd | 1 年間 前 | |
| config | 1 年間 前 | |
| controllers | 1 年間 前 | |
| database | 1 年間 前 | |
| docs | 1 年間 前 | |
| domain | 1 年間 前 | |
| dto | 1 年間 前 | |
| function | 1 年間 前 | |
| jobs | 1 年間 前 | |
| logger | 1 年間 前 | |
| middleware | 1 年間 前 | |
| models | 1 年間 前 | |
| networkEvents | 1 年間 前 | |
| repositories | 1 年間 前 | |
| routes | 1 年間 前 | |
| scheduler | 1 年間 前 | |
| services | 1 年間 前 | |
| taskQueue | 1 年間 前 | |
| test | 1 年間 前 | |
| utils | 1 年間 前 | |
| .env | 1 年間 前 | |
| README.md | 1 年間 前 | |
| Untitled-1 | 1 年間 前 | |
| fwh-toolbox-server | 1 年間 前 | |
| go.mod | 1 年間 前 | |
| go.sum | 1 年間 前 | |
| main.go | 1 年間 前 | |
Go 后端服务,整合了:
├── cmd/
│ └── main.go
├── config/ # 配置
│ └── config.go
├── cache/ # 缓存封装(Redis)
├── database/
│ └── database.go # GORM 初始化
├── logger/
│ └── logger.go
├── scheduler/ # 任务调度
│ └── scheduler.go
├── routes/
│ └── routes.go # 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" |