github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/routers/root/RReadAdministrator.go (about) 1 package root 2 3 import ( 4 "github.com/insionng/makross" 5 6 "github.com/insionng/yougam/models" 7 ) 8 9 func GetRReadRootHandler(self *makross.Context) error { 10 11 12 TplNames := "" 13 self.Set("catpage", "RReadAdministrator") 14 switch uid := self.Param("uid").MustInt64(); { 15 //单独模式 16 case uid > 0: 17 { 18 TplNames = "root/create_administrator" 19 20 if usr, err := models.GetUser(uid); usr != nil && err == nil { 21 self.Set("administrator", *usr) 22 23 } else { 24 self.Flash.Error(err.Error()) 25 return self.Render(TplNames) 26 27 } 28 } 29 //列表模式 30 case uid <= 0: 31 { 32 TplNames = "root/administrator_table" 33 offset := self.Args("offset").MustInt64() 34 limit := self.Args("limit").MustInt64() 35 field := self.FormValue("field") 36 37 if limit == 0 { 38 limit = 1000 //默认限制显示最近1000条,需要显示全部请在提交请求的时候设置limit字段为-1 39 } 40 41 if field == "" { 42 field = "id" 43 } 44 45 if usrs, err := models.GetUsersByRole(-1000, int(offset), int(limit), field); err == nil && usrs != nil { 46 self.Set("administrators", *usrs) 47 } 48 } 49 } 50 51 return self.Render(TplNames) 52 53 }