30 lines
811 B
Go
30 lines
811 B
Go
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)),
|
|
}
|
|
}
|