From 43010c28e8a84fbda6bd1932354bb796df5046c0 Mon Sep 17 00:00:00 2001 From: "Jerry.Wang" Date: Wed, 24 Mar 2021 18:08:23 +0800 Subject: [PATCH] add mvc example --- mvc/README.md | 6 ++++ mvc/go.mod | 10 ++++++ mvc/go.sum | 78 +++++++++++++++++++++++++++++++++++++++++ mvc/main.go | 28 +++++++++++++++ mvc/model/model.go | 11 ++++++ mvc/public/favicon.ico | Bin 0 -> 68159 bytes mvc/router/router.go | 13 +++++++ mvc/views/index.tmpl | 12 +++++++ 8 files changed, 158 insertions(+) create mode 100644 mvc/README.md create mode 100644 mvc/go.mod create mode 100644 mvc/go.sum create mode 100644 mvc/main.go create mode 100644 mvc/model/model.go create mode 100644 mvc/public/favicon.ico create mode 100644 mvc/router/router.go create mode 100644 mvc/views/index.tmpl diff --git a/mvc/README.md b/mvc/README.md new file mode 100644 index 0000000..e01b460 --- /dev/null +++ b/mvc/README.md @@ -0,0 +1,6 @@ +# MVC Example +This is a Model-View-Controller Example. +# Usage +* Test Script + * url= http://localhost:8080/user + diff --git a/mvc/go.mod b/mvc/go.mod new file mode 100644 index 0000000..fe90c71 --- /dev/null +++ b/mvc/go.mod @@ -0,0 +1,10 @@ +module mvc-example + +go 1.14 + +require ( + github.com/gin-contrib/cors v1.3.1 // indirect + github.com/gin-contrib/sessions v0.0.3 // indirect + github.com/gin-contrib/static v0.0.0-20200916080430-d45d9a37d28e // indirect + github.com/gin-gonic/gin v1.6.3 // indirect +) diff --git a/mvc/go.sum b/mvc/go.sum new file mode 100644 index 0000000..1e685e2 --- /dev/null +++ b/mvc/go.sum @@ -0,0 +1,78 @@ +github.com/boj/redistore v0.0.0-20180917114910-cd5dcc76aeff/go.mod h1:+RTT1BOk5P97fT2CiHkbFQwkK3mjsFAP6zCYV2aXtjw= +github.com/bradfitz/gomemcache v0.0.0-20190329173943-551aad21a668/go.mod h1:H0wQNHz2YrLsuXOZozoeDmnHXkNCRmMW0gwFWDfEZDA= +github.com/bradleypeabody/gorilla-sessions-memcache v0.0.0-20181103040241-659414f458e1/go.mod h1:dkChI7Tbtx7H1Tj7TqGSZMOeGpMP5gLHtjroHd4agiI= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/elazarl/go-bindata-assetfs v1.0.0/go.mod h1:v+YaWX3bdea5J/mo8dSETolEo7R71Vk1u8bnjau5yw4= +github.com/gin-contrib/cors v1.3.1 h1:doAsuITavI4IOcd0Y19U4B+O0dNWihRyX//nn4sEmgA= +github.com/gin-contrib/cors v1.3.1/go.mod h1:jjEJ4268OPZUcU7k9Pm653S7lXUGcqMADzFA61xsmDk= +github.com/gin-contrib/sessions v0.0.3 h1:PoBXki+44XdJdlgDqDrY5nDVe3Wk7wDV/UCOuLP6fBI= +github.com/gin-contrib/sessions v0.0.3/go.mod h1:8C/J6cad3Il1mWYYgtw0w+hqasmpvy25mPkXdOgeB9I= +github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= +github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-contrib/static v0.0.0-20200916080430-d45d9a37d28e h1:8bZpGwoPxkaivQPrAbWl+7zjjUcbFUnYp7yQcx2r2N0= +github.com/gin-contrib/static v0.0.0-20200916080430-d45d9a37d28e/go.mod h1:VhW/Ch/3FhimwZb8Oj+qJmdMmoB8r7lmJ5auRjm50oQ= +github.com/gin-gonic/gin v1.5.0/go.mod h1:Nd6IXA8m5kNZdNEHMBd93KT+mdY3+bewLgRvmCsR2Do= +github.com/gin-gonic/gin v1.6.3 h1:ahKqKTFpO5KTPHxWZjEdPScmYaGtLo8Y4DMHoEsnp14= +github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= +github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= +github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.12.1/go.mod h1:IUMDtCfWo/w/mtMfIE/IG2K+Ey3ygWanZIBtBW0W2TM= +github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= +github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= +github.com/go-playground/universal-translator v0.16.0/go.mod h1:1AnU7NaIRDWWzGEKwgtJRd2xk99HeFyHw3yid4rvQIY= +github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no= +github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= +github.com/go-playground/validator/v10 v10.2.0 h1:KgJ0snyC2R9VXYN2rneOtQcw5aHQB1Vv0sFl1UcHBOY= +github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3 h1:gyjaxf+svBWX08ZjK86iN9geUJF0H6gp2IRKX6Nf6/I= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/gomodule/redigo v2.0.0+incompatible/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/gorilla/context v1.1.1 h1:AWwleXJkX/nhcU9bZSnZoi3h/qGYqQAGhq6zZe/aQW8= +github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= +github.com/gorilla/securecookie v1.1.1 h1:miw7JPhV+b/lAHSXz4qd/nN9jRiAFV5FwjeKyCS8BvQ= +github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= +github.com/gorilla/sessions v1.1.1/go.mod h1:8KCfur6+4Mqcc6S0FEfKuN15Vl5MgXW92AE8ovaJD0w= +github.com/gorilla/sessions v1.1.3 h1:uXoZdcdA5XdXF3QzuSlheVRUvjl+1rKY7zBXL68L9RU= +github.com/gorilla/sessions v1.1.3/go.mod h1:8KCfur6+4Mqcc6S0FEfKuN15Vl5MgXW92AE8ovaJD0w= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.9 h1:9yzud/Ht36ygwatGx56VwCZtlI/2AD15T1X2sjSuGns= +github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/kidstuff/mongostore v0.0.0-20181113001930-e650cd85ee4b/go.mod h1:g2nVr8KZVXJSS97Jo8pJ0jgq29P6H7dG0oplUA86MQw= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/leodido/go-urn v1.1.0/go.mod h1:+cyI34gQWZcE1eQU7NVgKkkzdXDQHr1dBMtdAPozLkw= +github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= +github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= +github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= +github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/memcachier/mc v2.0.1+incompatible/go.mod h1:7bkvFE61leUBvXz+yxsOnGBQSZpBSPIMUQSmmSHvuXc= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742 h1:Esafd1046DLDQ0W1YjYsBW+p8U2u7vzgW2SQVmlNazg= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/quasoft/memstore v0.0.0-20180925164028-84a050167438/go.mod h1:wTPjTepVu7uJBYgZ0SdWHQlIas582j6cn2jgk4DDdlg= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= +github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= +github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs= +github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42 h1:vEOn+mP2zCOVzKckCZy6YsCtDblrpj/w7B9nxGNELpg= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE= +gopkg.in/go-playground/validator.v9 v9.29.1/go.mod h1:+c9/zcJMFNgbLvly1L1V+PpxWdVbfP1avr/N00E2vyQ= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/mvc/main.go b/mvc/main.go new file mode 100644 index 0000000..5e1f10b --- /dev/null +++ b/mvc/main.go @@ -0,0 +1,28 @@ +package main + +import ( + "mvc-example/router" + + "github.com/gin-contrib/cors" + "github.com/gin-contrib/sessions" + "github.com/gin-contrib/sessions/cookie" + "github.com/gin-gonic/gin" +) + +var r = gin.Default() + +func main() { + store := cookie.NewStore([]byte("secret")) + r.Use(sessions.Sessions("mysession", store)) + + user := r.Group("/user") + router.UserRouter(user) + r.Static("/user/public", "./public") + r.LoadHTMLGlob("views/*") + + config := cors.DefaultConfig() + config.AllowOrigins = []string{"http://locolhost"} + r.Use(cors.New(config)) + + r.Run() +} diff --git a/mvc/model/model.go b/mvc/model/model.go new file mode 100644 index 0000000..5aeb3fa --- /dev/null +++ b/mvc/model/model.go @@ -0,0 +1,11 @@ +package model + +import ( + "github.com/gin-gonic/gin" +) + +func Index(c *gin.Context) { + c.HTML(200, "index.tmpl", gin.H{ + "title": "Hello World", + }) +} diff --git a/mvc/public/favicon.ico b/mvc/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..0c0ae2f3a390d73fb7e5962683e577d32a01e781 GIT binary patch literal 68159 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 literal 0 HcmV?d00001 diff --git a/mvc/router/router.go b/mvc/router/router.go new file mode 100644 index 0000000..227c1e0 --- /dev/null +++ b/mvc/router/router.go @@ -0,0 +1,13 @@ +package router + +import ( + "mvc-example/model" + + "github.com/gin-gonic/gin" +) + +var router = gin.Default() + +func UserRouter(rg *gin.RouterGroup) { + rg.GET("/", model.Index) +} diff --git a/mvc/views/index.tmpl b/mvc/views/index.tmpl new file mode 100644 index 0000000..b3a3a6c --- /dev/null +++ b/mvc/views/index.tmpl @@ -0,0 +1,12 @@ + + + + + + + {{.title}} + + +

Hello world

+ + \ No newline at end of file