github.com/infraboard/keyauth@v0.8.1/apps/ip2region/impl/impl.go (about) 1 package impl 2 3 import ( 4 "sync" 5 6 "github.com/infraboard/mcube/app" 7 "github.com/infraboard/mcube/logger" 8 "github.com/infraboard/mcube/logger/zap" 9 10 "github.com/infraboard/keyauth/apps/ip2region" 11 "github.com/infraboard/keyauth/apps/ip2region/reader" 12 "github.com/infraboard/keyauth/apps/storage" 13 ) 14 15 var ( 16 // Service 服务实例 17 svr = &service{ 18 bucketName: "ip2region", 19 dbFileName: "ip2region.db", 20 } 21 ) 22 23 type service struct { 24 storage storage.Service 25 log logger.Logger 26 bucketName string 27 dbFileName string 28 dbReader *reader.IPReader 29 sync.Mutex 30 } 31 32 func (s *service) Config() error { 33 s.storage = app.GetInternalApp(storage.AppName).(storage.Service) 34 35 s.log = zap.L().Named("IP2Region") 36 return nil 37 } 38 39 func (s *service) Name() string { 40 return ip2region.AppName 41 } 42 43 func init() { 44 app.RegistryInternalApp(svr) 45 }