53 lines
1.2 KiB
Go
53 lines
1.2 KiB
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"log"
|
|
"rain_monitor/api"
|
|
"rain_monitor/db"
|
|
"rain_monitor/modbus"
|
|
"rain_monitor/scheduler"
|
|
)
|
|
|
|
var (
|
|
dbHost = flag.String("db-host", "8.134.185.53", "数据库主机地址")
|
|
dbPort = flag.Int("db-port", 3306, "数据库端口")
|
|
dbUser = flag.String("db-user", "remote", "数据库用户名")
|
|
dbPassword = flag.String("db-password", "root", "数据库密码")
|
|
dbName = flag.String("db-name", "rain_monitor", "数据库名称")
|
|
)
|
|
|
|
func main() {
|
|
// 解析命令行参数
|
|
flag.Parse()
|
|
|
|
// 初始化数据库连接
|
|
dbConfig := db.DBConfig{
|
|
Host: *dbHost,
|
|
Port: *dbPort,
|
|
User: *dbUser,
|
|
Password: *dbPassword,
|
|
DBName: *dbName,
|
|
}
|
|
|
|
log.Println("正在连接数据库...")
|
|
err := db.InitDB(dbConfig)
|
|
if err != nil {
|
|
log.Fatalf("数据库初始化失败: %v", err)
|
|
}
|
|
defer db.CloseDB()
|
|
log.Println("数据库连接成功")
|
|
|
|
// 启动TCP服务器
|
|
log.Println("正在启动TCP服务器...")
|
|
go modbus.StartTCPServer()
|
|
|
|
// 启动定时任务调度器
|
|
log.Println("正在启动定时任务调度器...")
|
|
go scheduler.StartScheduler()
|
|
|
|
// 启动Web服务器
|
|
log.Println("正在启动Web服务器...")
|
|
api.StartWebServer() // 这个函数会阻塞主线程
|
|
}
|