123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- // 实时数据
- package controllers
- import (
- "encoding/json"
- "box-gm/utils"
- "io/ioutil"
- "log"
- "github.com/astaxie/beego"
- )
- type RealTimeController struct {
- beego.Controller
- }
- // 主界面
- // 通过c.Data[key]返回数据
- // ace模板文件通过{{.key}}获取数据
- func (c *RealTimeController) Get() {
- userinfo := c.GetSession("user")
- if userinfo == nil {
- c.Ctx.Redirect(302, "/accountlogin")
- return
- }
- //界面模板文件
- c.TplName = "welcome.tpl"
- }
- // 同步数据
- func (c *RealTimeController) Post() {
- body, err := ioutil.ReadAll(c.Ctx.Request.Body)
- if err != nil {
- log.Printf("realtime post err[%v]", err)
- c.Data["json"] = map[string]interface{}{
- "code": "1",
- "msg": "数据为空",
- }
- c.ServeJSON()
- return
- }
- var report []*utils.RTLogStruct
- json.Unmarshal(body, &report)
- for _, v := range report {
- // log.Printf("realtime [%v]", v)
- utils.WriteLog(v)
- }
- c.Data["json"] = map[string]interface{}{
- "code": "0",
- "msg": "上报数据成功",
- }
- c.ServeJSON()
- }
|