main.go 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package main
  2. import (
  3. "flag"
  4. "github.com/gin-contrib/cors"
  5. "github.com/gin-gonic/gin"
  6. "ulink-admin/frame"
  7. _ "ulink-admin/modules/system/synchro"
  8. _ "ulink-admin/pkg/base"
  9. "ulink-admin/pkg/coin"
  10. "ulink-admin/pkg/middleware"
  11. "ulink-admin/pkg/middleware/logger"
  12. "ulink-admin/resources"
  13. "ulink-admin/router/admin"
  14. "ulink-admin/router/client"
  15. )
  16. var (
  17. port, mode string
  18. )
  19. func init() {
  20. flag.StringVar(&port, "port", "3000", "server listening on, default 3000")
  21. flag.StringVar(&mode, "mode", "debug", "server running mode, default debug mode")
  22. }
  23. // @title 接囗文档
  24. // @version 1.0
  25. // @description 开发框架
  26. // @termsofservice https://github.com/xxxx
  27. // @contact.name longping
  28. // @contact.email 287988448@qq.com
  29. // @host 127.0.0.1:8080
  30. func main() {
  31. coin.SetCoinType(coin.COIN_TYPE_TWO)
  32. log := logger.NewLogger() //日志类
  33. frame.Ignite().Aop(log). //aop类需挂载到中间件之前
  34. Resource(func(engine *gin.Engine) {
  35. resources.InitResource(engine)
  36. // 添加CORS中间件
  37. corsConfig := cors.DefaultConfig()
  38. corsConfig.AllowAllOrigins = true // 允许所有源发起跨域请求
  39. corsConfig.AddAllowHeaders("Authorization") // 允许自定义头部字段 "Authorization"
  40. engine.Use(cors.New(corsConfig))
  41. engine.Use(resources.HtmlRouteHandler())
  42. }).
  43. Mount("/api/v1", admin.NewRouter(), client.NewRouter()). //挂载路由
  44. Use(middleware.Request(), frame.BodyMiddleware, log.LoggerToFile(), middleware.Routine()). //挂载中间件
  45. Launch() //启动
  46. }