mirror of https://github.com/allinssl/allinssl
36 lines
783 B
Go
36 lines
783 B
Go
package public
|
|
|
|
import (
|
|
"github.com/mojocn/base64Captcha"
|
|
"image/color"
|
|
)
|
|
|
|
var codeDefaultDriver = base64Captcha.NewDriverString(
|
|
1000,
|
|
1200,
|
|
0,
|
|
base64Captcha.OptionShowSlimeLine,
|
|
4,
|
|
"23456789abcdefghjkmnpqrstuvwxyz",
|
|
&color.RGBA{
|
|
R: 225,
|
|
G: 225,
|
|
B: 200,
|
|
A: 255,
|
|
},
|
|
nil,
|
|
[]string{"wqy-microhei.ttc", "RitaSmith.ttf"},
|
|
)
|
|
|
|
// GenerateCode 生成图形化字符串验证码
|
|
func GenerateCode() (string, string, string, error) {
|
|
// 生成默认数字的driver
|
|
codeId, content, _ := codeDefaultDriver.GenerateIdQuestionAnswer() // 生成验证码和随机id
|
|
item, err := codeDefaultDriver.DrawCaptcha(content) // 生成验证码图片
|
|
if err != nil {
|
|
return "", "", "", err
|
|
}
|
|
b64s := item.EncodeB64string()
|
|
return codeId, b64s, content, nil
|
|
}
|