/
HomeController.go
64 lines (51 loc) · 1.28 KB
/
HomeController.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package controllers
import (
"github.com/dereking/grest/log"
"go.uber.org/zap"
"github.com/dereking/grest/mvc"
)
type HomeController struct {
mvc.Controller
}
func (c *HomeController) OnExecuting(a *mvc.ActionExecutingContext) {
log.Logger().Info("HomeController OnExecuting",
zap.Any("ActionParameters", a.ActionParameters))
switch a.ActionName {
case "Login":
default:
//If you want to check the user's access priveleges,
//you can do it here.
//if a.Result != nil, then the current action will not been executed.
//a.Result = c.Redirect("/Home/Login")
//a.Result = c.HttpForbidden()
}
}
//
//
func (c *HomeController) Index(arg struct {
U string
Cnt int
Id int
}) mvc.IActionResult {
log.Logger().Debug("args", zap.Any("args", arg))
users := []string{"Jack", "Tomy", "James"}
c.Session.Set("user", "ked")
c.ViewData["Title"] = arg.U + "session:user=" + c.Session.GetString("user")
c.ViewData["Msg"] = users[2]
c.ViewData["Users"] = users
return c.ViewThis()
}
func (c *HomeController) Login() mvc.IActionResult {
return c.View("Home", "Login")
}
func (c *HomeController) Test(arg struct {
Id int
}) mvc.IActionResult {
var dat struct {
Users []string
Id int
}
dat.Users = []string{"Jack", "Tomy", "James"}
dat.Id = arg.Id
return c.JsonResult(dat)
}