package controllers import ( "strings" "github.com/astaxie/beego" "github.com/astaxie/beego/logs" "goftp/service" ) type IpController struct { beego.Controller } type IpPort struct { Ret string `json:"ret"` Ip string `json:"ip"` Data []string `json:"data"` } // @Title GetIp // @Description 获取 发起http请求客户端 的公网ip // @router /getIp [get] func (c *IpController) GetIp() { req := c.Ctx.Request ddr := req.RemoteAddr // "IP:port" "192.168.1.150:8889" logs.Debug(ddr) ipPort := new(IpPort) ips := strings.Split(ddr, ":") if len(ips) > 0 { ipPort.Ip = ips[0] } ipPort.Data = make([]string, 0) ipPort.Ret = "ok" c.Data["json"] = ipPort logs.Debug(*ipPort) c.ServeJSON() } // @Title GetHomeIp // @Description 上传文件 // @Param id query int true "根据cm_ip表的id 查询公网ip" // @router /getHomeIp [get] func (c *IpController) GetHomeIp() { id := c.Ctx.Input.Query("id") if id == "" { id = "1" } ip := service.GetIpById(id) ipPort := new(IpPort) ipPort.Data = make([]string, 0) ipPort.Ret = "ok" ipPort.Ip = ip c.Data["json"] = ipPort logs.Debug(*ipPort) c.ServeJSON() }