main.go 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package main
  2. import (
  3. "strings"
  4. _ "github.com/astaxie/beego/session/mysql"
  5. _ "github.com/go-sql-driver/mysql"
  6. "github.com/astaxie/beego"
  7. "github.com/astaxie/beego/orm"
  8. "github.com/astaxie/beego/plugins/cors"
  9. "fohow.com/apps/controllers/cron_controller"
  10. _ "fohow.com/routers"
  11. )
  12. func init() {
  13. // ORM
  14. orm.RegisterDriver("mysql", orm.DRMySQL)
  15. orm.RegisterDataBase("default", "mysql", beego.AppConfig.String("MysqlMaster"))
  16. if beego.AppConfig.String("RunMode") == "dev" {
  17. orm.SetMaxIdleConns("default", 1)
  18. orm.SetMaxOpenConns("default", 2)
  19. } else {
  20. orm.SetMaxIdleConns("default", 50)
  21. orm.SetMaxOpenConns("default", 100)
  22. }
  23. beego.BConfig.WebConfig.Session.SessionOn = true
  24. beego.BConfig.WebConfig.Session.SessionProvider = "mysql"
  25. beego.BConfig.WebConfig.Session.SessionName = beego.AppConfig.String("SessionName")
  26. beego.BConfig.WebConfig.Session.SessionGCMaxLifetime = 3600
  27. beego.BConfig.WebConfig.Session.SessionProviderConfig = beego.AppConfig.String("MysqlMaster")
  28. beego.BConfig.WebConfig.Session.SessionCookieLifeTime = 3600
  29. beego.BConfig.WebConfig.Session.SessionAutoSetCookie = true
  30. beego.BConfig.WebConfig.Session.SessionDomain = beego.AppConfig.String("SessionDomain")
  31. // mux := core.NewServeMux()
  32. // mux.DefaultMsgHandleFunc(wx_mp.DefaultMsgHandler)
  33. // mux.DefaultEventHandleFunc(wx_mp.DefaultEventHandler)
  34. // mux.MsgHandleFunc(request.MsgTypeText, wx_mp.TextMsgHandler)
  35. // mux.EventHandleFunc(menu.EventTypeClick, wx_mp.MenuClickEventHandler)
  36. // msgHandler = mux
  37. // msgServer = core.NewServer(wxOriId, beego.AppConfig.String("WxMPAppId"),
  38. // wxToken, wxEncodedAESKey, msgHandler, nil)
  39. }
  40. func main() {
  41. if beego.BConfig.RunMode == beego.DEV {
  42. orm.Debug = true
  43. beego.BConfig.CopyRequestBody = true
  44. beego.BConfig.Log.AccessLogs = true
  45. } else {
  46. beego.SetLevel(beego.LevelWarning) //default Trace
  47. beego.BConfig.Log.AccessLogs = false
  48. }
  49. // beego.BeeLogger.Error(beego.AppConfig.String("CrossDomainWhitelist"))
  50. // beego.BeeLogger.Error(beego.AppConfig.String("RailsAdminAddr"))
  51. // beego.BeeLogger.Error(beego.AppConfig.String("CrossDomainWhitelist"))
  52. beego.InsertFilter("*", beego.BeforeRouter, cors.Allow(&cors.Options{
  53. AllowOrigins: strings.Split(beego.AppConfig.String("AllowOrigins"), ","),
  54. // AllowOrigins: []string{"http://localhost:8090", "http://localhost:8080"},
  55. AllowMethods: []string{"GET", "PUT", "POST", "DELETE", "OPTIONS"},
  56. AllowHeaders: []string{"Origin", "DNT", "X-CustomHeader", "Keep-Alive", "User-Agent", "X-Requested-With", "If-Modified-Since", "Cache-Control", "Content-Type"},
  57. ExposeHeaders: []string{"Content-Length"},
  58. AllowCredentials: true,
  59. }))
  60. cron_controller.StartWechatOrderShippingScheduler()
  61. cron_controller.StartTakeCashTimeoutScheduler()
  62. beego.Run()
  63. }