package svc import ( "github.com/saas-mingyang/mingyang-admin-common/i18n" "github.com/zeromicro/go-zero/rest" "github.com/zeromicro/go-zero/zrpc" "mingyang-admin-app-api/internal/config" i18n2 "mingyang-admin-app-api/internal/i18n" "mingyang-admin-app-api/internal/middleware" "mingyang-admin-app-rpc/appclient" ) type ServiceContext struct { Config config.Config Trans *i18n.Translator Authority rest.Middleware AppRpc appclient.App } func NewServiceContext(c config.Config) *ServiceContext { trans := i18n.NewTranslator(c.I18nConf, i18n2.LocaleFS) rds := c.RedisConf.MustNewUniversalRedis() return &ServiceContext{ Authority: middleware.NewAuthorityMiddleware(rds).Handle, Config: c, Trans: trans, AppRpc: appclient.NewApp(zrpc.NewClientIfEnable(c.AppRpc)), } }