package controller import ( "github.com/gin-gonic/gin" "knowledge/api/requests" "knowledge/api/responses" "knowledge/extend/aliyun" "knowledge/global" "knowledge/utils" ) type Public struct{} // GetCaptcha 获取验证码 func (b *Public) GetCaptcha(c *gin.Context) { id, b64s, err := utils.GenerateCaptcha() if err != nil { responses.FailWithMessage("验证码获取失败", c) } responses.OkWithData(gin.H{ "id": id, "b64s": b64s, }, c) } // GetOssSign 获取oss签名 func (b *Public) GetOssSign(c *gin.Context) { publicRequest := requests.PublicRequest{} req := publicRequest.GetOssSign if err := c.ShouldBind(&req); err != nil { responses.FailWithMessage(err.Error(), c) return } // 参数验证 if err := global.Validate.Struct(req); err != nil { responses.FailWithMessage(utils.Translate(err), c) return } // 获取oss签名 dir := "question/" // 生成签名 ossSign, err := aliyun.GetOssSign(dir) if err != nil { responses.FailWithMessage("获取签名失败", c) return } responses.OkWithData(ossSign, c) }