router.go 771 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package routers
  2. import (
  3. "git.qianqiusoft.com/qianqiusoft/light-apiengine/engine"
  4. "git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
  5. "sync"
  6. )
  7. var (
  8. _registerHandlers []func(e *engine.ApiEngine) = nil
  9. _registerHandlerMutex sync.Mutex
  10. )
  11. func addRegisterHandler(handler func(e *engine.ApiEngine)){
  12. _registerHandlerMutex.Lock()
  13. _registerHandlerMutex.Unlock()
  14. if _registerHandlers == nil{
  15. _registerHandlers = make([]func(e *engine.ApiEngine), 0)
  16. }
  17. _registerHandlers = append(_registerHandlers, handler)
  18. }
  19. func Register(e *engine.ApiEngine){
  20. models.SyncDb(e.OrmEngine)
  21. _registerHandlerMutex.Lock()
  22. _registerHandlerMutex.Unlock()
  23. for i := range _registerHandlers{
  24. _registerHandlers[i](e)
  25. }
  26. }
  27. func InitRouter(e *engine.ApiEngine){
  28. Register(e)
  29. }