package common import ( "net/http" "management/internal/config" captchaservice "management/internal/service/captcha" "management/internal/tpl" ) type CaptchaResponse struct { CaptchaID string `json:"captcha_id"` PicPath string `json:"pic_path"` CaptchaLength int `json:"captcha_length"` OpenCaptcha int `json:"open_captcha"` } func Captcha(w http.ResponseWriter, r *http.Request) { keyLong := config.File.Captcha.KeyLong oc := config.File.Captcha.OpenCaptcha id, b64s, _, err := captchaservice.Generate(config.File.Captcha.ImgHeight, config.File.Captcha.ImgWidth, keyLong, 0.7, 80) if err != nil { tpl.JSON(w, tpl.Response{Success: false, Message: "获取验证码失败"}) return } rsp := CaptchaResponse{ CaptchaID: id, PicPath: b64s, CaptchaLength: keyLong, OpenCaptcha: oc, } tpl.JSON(w, tpl.Response{Success: true, Message: "ok", Data: rsp}) }