go 数字图形验证码功能

最近在开发一个项目,需要用到验证码,很久没有用到验证码的项目还不习惯;

在网上参考了一些资料,简单用Go语言开发了一个数字验证码功能;

用到的框架是最近比较火的一款 go-zero 微服务框架;

首先,应用包,我用的是常用的包,验证码用的默认数字图形验证码;

引入包:

github.com/mojocn/base64Captcha

etc  yaml配置文件配置如下:

Captcha:
    KeyLong: 6
    ImgWidth: 240
    ImgHeight: 80

Config 文件验证码结构体:

KeyLong   int64
	ImgWidth  int64
	ImgHeight int64
}


到此,配置完成了,最后直接调用包new一个验证码

// 获取验证码
func (l *GetCaptchaCodeLogic) GetCaptchaCode(in *member.GetCaptchaReq) (*member.GetCaptchaResp, error) {
	// 验证码
	driver := base64Captcha.NewDriverDigit(int(l.svcCtx.Config.Captcha.ImgHeight), int(l.svcCtx.Config.Captcha.ImgWidth), int(l.svcCtx.Config.Captcha.KeyLong), 0.7, 80)
	cp := base64Captcha.NewCaptcha(driver, storeBlog)

	id, b64s, err := cp.Generate()
	fmt.Println(err)
	if err != nil {
		return &member.GetCaptchaResp{
			Code: 500,
			Msg:  "获取验证码失败",
		}, nil
	}
	return &member.GetCaptchaResp{
		Code:      200,
		Msg:       "获取成功",
		CaptchaId: id,
		PicPath:   b64s,
	}, nil
}


用go-zero完成的简单的图形数字验证码功能就OK了。

如果想要了解go-zero的api和protobuf文件,可以点击下面链接进行跳转。

go-zero微服务框架 api 案例

go-zero微服务框架 proto 案例


点赞0
点击评论0
收藏0
浏览 25
 

还没有评论,快来发表第一个评论吧

免责声明:凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,注册用户和一般页面游览者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任(包括侵权责任、合同责任和其它责任)
*尊重作者,转载请注明出处!

创作内容

开启你的爱凌峰创作之旅

发布首篇内容,开通创作中心
快来成为爱凌峰创作者吧~

写文章

板块热门【Golang】