2025-03-21 11:05:42 +08:00

35 lines
912 B
Go

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})
}