🎨 增加 Go 后端

This commit is contained in:
江西小徐
2024-04-07 11:08:05 +08:00
parent 04c82ab25d
commit 61275be2bf
165 changed files with 7043 additions and 3599 deletions
+24
View File
@@ -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")))
}
+43
View File
@@ -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,
))
}
+40
View File
@@ -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)