29 lines
837 B
Go
29 lines
837 B
Go
package common
|
|
|
|
import (
|
|
v1 "management/internal/erpserver/service/v1"
|
|
|
|
"github.com/mojocn/base64Captcha"
|
|
)
|
|
|
|
type captchaService struct{}
|
|
|
|
func NewCaptchaService() v1.CaptchaService {
|
|
return &captchaService{}
|
|
}
|
|
|
|
var captchaStore = base64Captcha.DefaultMemStore
|
|
|
|
func (b *captchaService) Generate(height int, width int, length int, maxSkew float64, dotCount int) (id, b64s, answer string, err error) {
|
|
driver := base64Captcha.NewDriverDigit(height, width, length, maxSkew, dotCount)
|
|
// driver := base64Captcha.NewDriverString(config.File.Captcha.ImgHeight,
|
|
// config.File.Captcha.ImgWidth,
|
|
// 6, 1, keyLong, source, nil, nil, nil)
|
|
cp := base64Captcha.NewCaptcha(driver, captchaStore)
|
|
return cp.Generate()
|
|
}
|
|
|
|
func (b *captchaService) Verify(id, answer string, clear bool) bool {
|
|
return captchaStore.Verify(id, answer, clear)
|
|
}
|