main.go 2.6 KB

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