diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..71f2fad --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.idea/ +go.sum +/log \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..9114ee6 --- /dev/null +++ b/README.md @@ -0,0 +1,20 @@ +# web-marisa +πŸ„ η™½δΈι­”η†ζ²™η½‘ι‘΅η‰ˆ + +### Status +🀍 stop beating + +### Branches +- 0.0.1(in use) +- iris(no longer use) +- gin(no longer use) + +### Frontend +please checkout iris branch, then got it. + +### Contact me +- E-Mail: + - gutrse3321@live.com + - hakurei@reimu.ru +- QQ: 464189307 +- QQ Group: 795711415 diff --git a/config/config.yml b/config/config.yml new file mode 100644 index 0000000..4e3e690 --- /dev/null +++ b/config/config.yml @@ -0,0 +1,22 @@ +app: + name: marisa + ip: 127.0.0.1 + port: 3000 + mode: debug # release + +database: + user: root + password: 123456 + host: 127.0.0.1:3306 + db: fuck + maxIdleConns: 10 + maxOpenConns: 100 + debug: true + +log: + filename: log/marisa.log + maxSize: 500 + maxBackups: 3 + maxAge: 3 + level: "debug" + stdout: false \ No newline at end of file diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..fa4de6c --- /dev/null +++ b/go.mod @@ -0,0 +1,14 @@ +module github.com/gutrse3321/web-marisa + +go 1.15 + +require ( + github.com/gin-gonic/gin v1.6.3 + github.com/google/wire v0.5.0 + github.com/gutrse3321/aki/pkg v0.0.0-20200619033054-c20e563bfd91 + github.com/pkg/errors v0.9.1 + github.com/spf13/viper v1.7.0 + go.uber.org/zap v1.10.0 + golang.org/x/net v0.0.0-20200528225125-3c3fba18258b // indirect + google.golang.org/protobuf v1.24.0 // indirect +) diff --git a/src/app.go b/src/app.go new file mode 100644 index 0000000..ed0255c --- /dev/null +++ b/src/app.go @@ -0,0 +1,41 @@ +package src + +import ( + "github.com/google/wire" + "github.com/gutrse3321/aki/pkg/app" + "github.com/gutrse3321/aki/pkg/transports/http" + "github.com/pkg/errors" + "github.com/spf13/viper" + "go.uber.org/zap" +) + +/** + * @Author: Tomonori + * @Date: 2021/8/12 + * @Title: + * --- --- --- + * @Desc: + */ + +func NewOptions(v *viper.Viper, logger *zap.Logger) (*app.Options, error) { + var err error + + opt := &app.Options{} + if err = v.UnmarshalKey("app", opt); err != nil { + return nil, errors.Wrap(err, "unmarshal app config error") + } + + logger.Info("*** load marisa application config success ***") + return opt, err +} + +func NewApp(opt *app.Options, logger *zap.Logger, httpServer *http.Server) (*app.Application, error) { + application, err := app.New(opt, logger, app.HttpServerOption(httpServer)) + if err != nil { + return nil, errors.Wrap(err, "new application error") + } + + return application, nil +} + +var ProviderSet = wire.NewSet(NewApp, NewOptions) diff --git a/src/controller/index_controller.go b/src/controller/index_controller.go new file mode 100644 index 0000000..64bb729 --- /dev/null +++ b/src/controller/index_controller.go @@ -0,0 +1,34 @@ +package controller + +import ( + "github.com/gin-gonic/gin" + httpServer "github.com/gutrse3321/aki/pkg/transports/http" + "net/http" +) + +/** + * @Author: Tomonori + * @Date: 2021/8/12 + * @Title: + * --- --- --- + * @Desc: + */ + +type IndexController struct { +} + +func NewIndexController() *IndexController { + return &IndexController{} +} + +func CreateInitControllersFn(index *IndexController) httpServer.InitControllers { + return func(g *gin.RouterGroup) { + g.GET("/", index.Home) + } +} + +func (i *IndexController) Home(ctx *gin.Context) { + ctx.JSON(http.StatusOK, &gin.H{ + "message": "γŠδΉ…γ—γΆγ‚Šγ§γ™", + }) +} diff --git a/src/controller/wireSet.go b/src/controller/wireSet.go new file mode 100644 index 0000000..5b8e196 --- /dev/null +++ b/src/controller/wireSet.go @@ -0,0 +1,15 @@ +package controller + +import "github.com/google/wire" + +/** + * @Author: Tomonori + * @Date: 2021/8/12 + * @Title: + * --- --- --- + * @Desc: + */ +var ProviderSet = wire.NewSet( + NewIndexController, + CreateInitControllersFn, +)