package server import ( "github.com/go-kratos/kratos/v2/log" "bkb-payment/internal/conf" rn "github.com/go-kratos/kratos/contrib/registry/nacos/v2" "github.com/go-kratos/kratos/v2/registry" "github.com/google/wire" "github.com/nacos-group/nacos-sdk-go/clients" "github.com/nacos-group/nacos-sdk-go/common/constant" "github.com/nacos-group/nacos-sdk-go/vo" ) // ProviderSet is server providers. var ProviderSet = wire.NewSet(NewGRPCServer, NewHTTPServer, NewDiscovery, NewRegistrar) func NewNacosClient(env string) vo.NacosClientParam { type config struct { addr string username string password string } var nc config if env == "prod" || env == "uat" { nc = config{ // addr: "https://nacos.mangguonews.com", // username: "nacos_pub", // password: "88m8JxgK", addr: "72535c70-8d6d-400f-9893-4bb3e634f682.nacos.cn-north-4.cse.myhuaweicloud.com", } } else { nc = config{ // addr: "https://nacos-dev.mangguonews.com", // username: "nacos", // password: "nacos", addr: "72535c70-8d6d-400f-9893-4bb3e634f682.nacos.cn-north-4.cse.myhuaweicloud.com", } } sc := []constant.ServerConfig{ *constant.NewServerConfig(nc.addr, 8848), } cc := &constant.ClientConfig{ NamespaceId: env, // namespace id Username: nc.username, Password: nc.password, CacheDir: "./log/nacos", LogDir: "./log/nacos", } return vo.NacosClientParam{ ClientConfig: cc, ServerConfigs: sc, } } func NewRegistrar(app *conf.App) registry.Registrar { param := NewNacosClient(app.Env) client, err := clients.NewNamingClient( param, ) if err != nil { log.Fatal(err) return nil } return rn.New(client) } func NewDiscovery(env string) registry.Discovery { param := NewNacosClient(env) client, err := clients.NewNamingClient( param, ) if err != nil { log.Fatal(err) } return rn.New(client) }