package main import ( "AIOTCOER/Plugin" "AIOTCOER/conf" "AIOTCOER/logs" "AIOTCOER/models/Device" _ "AIOTCOER/routers" "github.com/beego/beego/v2/adapter/orm" orm2 "github.com/beego/beego/v2/client/orm" beego "github.com/beego/beego/v2/server/web" "github.com/beego/beego/v2/server/web/filter/cors" _ "github.com/go-sql-driver/mysql" "runtime" "strconv" ) func init() { runtime.GOMAXPROCS(runtime.NumCPU()) //logs.Println("MysqlServer:" + conf.MysqlServer_Username + ":" + conf.MysqlServer_Password + "@tcp(" + conf.MysqlServer_UrlPort + ")/" + conf.MysqlServer_Database + "?charset=utf8mb4&loc=Local&parseTime=True") orm.RegisterDriver("mysql", orm.DRMySQL) orm.RegisterDataBase("default", "mysql", conf.MysqlServer_Username+":"+conf.MysqlServer_Password+"@tcp("+conf.MysqlServer_UrlPort+")/"+conf.MysqlServer_Database+"?charset=utf8mb4&loc=Local&parseTime=True", conf.MysqlServer_MaxIdleConnections, conf.MysqlServer_MaxOpenConnections) orm.RunSyncdb("default", false, true) // 创建数据库 } func main() { beego.BConfig.AppName = conf.AppName + "_" + strconv.Itoa(conf.HTTPPort) // 项目名 beego.BConfig.ServerName = conf.AppName + "_" + strconv.Itoa(conf.HTTPPort) //server 名称 beego.BConfig.RunMode = "dev" // 应用的运行模式 beego.BConfig.Listen.HTTPPort = conf.HTTPPort //监听端口 本地:8518 线上:8528 beego.InsertFilter("*", beego.BeforeRouter, cors.Allow(&cors.Options{ // 允许访问所有源 AllowAllOrigins: true, // 可选参数"GET", "POST", "PUT", "DELETE", "OPTIONS" (*为所有) AllowMethods: []string{"GET", "POST", "PUT", "DELETE", "OPTIONS"}, // 指的是允许的Header的种类 AllowHeaders: []string{"Origin", "Authorization", "Access-Control-Allow-Origin", "Access-Control-Allow-Headers", "Content-Type"}, // 公开的HTTP标头列表 ExposeHeaders: []string{"Content-Length", "Access-Control-Allow-Origin", "Access-Control-Allow-Headers", "Content-Type"}, // 如果设置,则允许共享身份验证凭据,例如cookie AllowCredentials: true, })) orm2.Debug = true logs.Println("MqttServer", " ======= 项目启动 ========") go Device.ConnectMongodb() // 连接 Mongodb go Plugin.PluginInit() // Plugin 初始化 beego.Run() }