router.go 785 B

1234567891011121314151617181920212223242526272829303132333435
  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. for _,db := range e.BusinessOrmEngine {
  22. models.SyncDb(db)
  23. }
  24. _registerHandlerMutex.Lock()
  25. _registerHandlerMutex.Unlock()
  26. for i := range _registerHandlers{
  27. _registerHandlers[i](e)
  28. }
  29. }