package controllers import ( "fmt" "github.com/astaxie/beego" "strconv" "strings" "token-uri/models" ) type TokenController struct { BaseController } func (c *TokenController) GetTokenUri() { param := c.Ctx.Input.Param(":file") if param == "" { c.ResponseInfo(500, "Param invalid failed", "Param invalid failed") return } split := strings.Split(param, ".") if len(split) == 0 || len(split) > 2 { c.ResponseInfo(500, "Param invalid failed", "Param invalid failed") return } tokenIdStr := split[0] tokenIdInt64, err := strconv.ParseInt(tokenIdStr, 10, 64) if err != nil { c.ResponseInfo(500, "Param invalid failed", "Param invalid failed") return } if len(split) == 2 { suffix := split[1] if suffix != "json" { c.ResponseInfo(500, "Param invalid failed", "Param invalid failed") return } } imageUri := beego.AppConfig.String("imageUri") res := &models.TokenInfoRep{ Id: tokenIdInt64, Name: fmt.Sprintf("LightCycle OG No.%d", tokenIdInt64), ImageUri: imageUri, } c.ResponseInfo(200, "Get token info success", res) }