🎨 增加 Go 后端
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"go.uber.org/zap"
|
||||
"whois-go/pkg/config"
|
||||
"whois-go/pkg/http"
|
||||
"whois-go/pkg/log"
|
||||
)
|
||||
|
||||
func main() {
|
||||
conf := config.NewConfig()
|
||||
logger := log.NewLog(conf)
|
||||
|
||||
logger.Info("server start", zap.String("host", "http://127.0.0.1:"+conf.GetString("http.port")))
|
||||
|
||||
app, cleanup, err := newApp(conf, logger)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
defer cleanup()
|
||||
|
||||
http.Run(app, fmt.Sprintf(":%d", conf.GetInt("http.port")))
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
//go:build wireinject
|
||||
// +build wireinject
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/google/wire"
|
||||
"github.com/spf13/viper"
|
||||
"whois-go/internal/handler"
|
||||
"whois-go/internal/repository"
|
||||
"whois-go/internal/server"
|
||||
"whois-go/internal/service"
|
||||
"whois-go/pkg/log"
|
||||
)
|
||||
|
||||
var ServerSet = wire.NewSet(server.NewServerHTTP)
|
||||
|
||||
var RepositorySet = wire.NewSet(
|
||||
repository.NewDb,
|
||||
repository.NewRepository,
|
||||
)
|
||||
|
||||
var ServiceSet = wire.NewSet(
|
||||
service.NewService,
|
||||
service.NewUserService,
|
||||
service.NewSystemService,
|
||||
)
|
||||
|
||||
var HandlerSet = wire.NewSet(
|
||||
handler.NewHandler,
|
||||
handler.NewUserHandler,
|
||||
handler.NewSystemHandler,
|
||||
)
|
||||
|
||||
func newApp(*viper.Viper, *log.Logger) (*gin.Engine, func(), error) {
|
||||
panic(wire.Build(
|
||||
ServerSet,
|
||||
//RepositorySet,
|
||||
ServiceSet,
|
||||
HandlerSet,
|
||||
))
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
// Code generated by Wire. DO NOT EDIT.
|
||||
|
||||
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
|
||||
//go:build !wireinject
|
||||
// +build !wireinject
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/google/wire"
|
||||
"github.com/spf13/viper"
|
||||
"whois-go/internal/handler"
|
||||
"whois-go/internal/repository"
|
||||
"whois-go/internal/server"
|
||||
"whois-go/internal/service"
|
||||
"whois-go/pkg/log"
|
||||
)
|
||||
|
||||
// Injectors from wire.go:
|
||||
|
||||
func newApp(viperViper *viper.Viper, logger *log.Logger) (*gin.Engine, func(), error) {
|
||||
handlerHandler := handler.NewHandler(logger)
|
||||
serviceService := service.NewService(logger)
|
||||
systemService := service.NewSystemService(serviceService, logger)
|
||||
systemHandler := handler.NewSystemHandler(handlerHandler, systemService)
|
||||
engine := server.NewServerHTTP(logger, systemHandler)
|
||||
return engine, func() {
|
||||
}, nil
|
||||
}
|
||||
|
||||
// wire.go:
|
||||
|
||||
var ServerSet = wire.NewSet(server.NewServerHTTP)
|
||||
|
||||
var RepositorySet = wire.NewSet(repository.NewDb, repository.NewRepository)
|
||||
|
||||
var ServiceSet = wire.NewSet(service.NewService, service.NewUserService, service.NewSystemService)
|
||||
|
||||
var HandlerSet = wire.NewSet(handler.NewHandler, handler.NewUserHandler, handler.NewSystemHandler)
|
||||
Reference in New Issue
Block a user