main.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package main
  2. import (
  3. "sparrow/pkg/generator"
  4. "sparrow/pkg/server"
  5. "sparrow/services/knowoapi/model"
  6. "github.com/iris-contrib/middleware/cors"
  7. "github.com/kataras/iris"
  8. )
  9. func main() {
  10. err := server.Init("knowoapi")
  11. if err != nil {
  12. server.Log.Fatal(err)
  13. return
  14. }
  15. //iris init
  16. app := iris.New()
  17. db, err := getDB()
  18. if err != nil {
  19. server.Log.Fatal(err)
  20. }
  21. models := new(model.All).Init(db)
  22. gen, err := generator.NewKeyGenerator(*confAESKey)
  23. if err != nil {
  24. server.Log.Fatal(err)
  25. }
  26. //cors
  27. opts := cors.Options{
  28. AllowedOrigins: []string{"*"},
  29. AllowedHeaders: []string{"Content-Type"},
  30. AllowedMethods: []string{"POST,GET,DELETE,PUT"},
  31. ExposedHeaders: []string{"X-Header"},
  32. }
  33. app.Use(cors.New(opts))
  34. app.AllowMethods(iris.MethodOptions)
  35. registerErrors(app)
  36. //注册路由
  37. registerRouters(app, models, gen)
  38. app.Build()
  39. // register a http handler
  40. err = server.RegisterHTTPHandler(app)
  41. if err != nil {
  42. server.Log.Errorf("RegisterHTTPHandler Error: %s", err)
  43. return
  44. }
  45. // go
  46. err = server.Run()
  47. if err != nil {
  48. server.Log.Fatal(err)
  49. }
  50. }