package hotime import ( "encoding/json" "net/http" "time" "errors" ) type Context struct { LastErr Error tag int64 Resp http.ResponseWriter Req *http.Request Application *Application RouterString []string Config Map Db *HoTimeDB resp Map CacheIns SessionIns } //唯一标志 func (this *Context) GetTag() int64 { if this.tag == int64(0) { this.tag = time.Now().UnixNano() } return this.tag } //唯一标志 func (this *Context) Mtd(router [3]string) Map { this.Application.Router[router[0]][router[1]][router[2]](this) d := this.resp this.resp = nil return d } //打印 func (this *Context) Display(statu int, data interface{}) { resp := Map{"statu": statu} if statu != 0 { temp := Map{} tpe:=this.Config.GetMap("error").GetString(ObjToStr(statu)) if tpe==""{ this.LastErr.SetError(errors.New("找不到对应的错误码")) } temp["type"] = tpe temp["msg"] = data resp["result"] = temp } else { resp["result"] = data } this.resp = resp //this.Data=d; } func (this *Context) View() { if this.resp == nil { return } d, err := json.Marshal(this.resp) if err != nil { return } this.resp = nil this.Resp.Write(d) }