| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- package auth
- import (
- "github.com/gin-gonic/gin"
- v1 "github.com/runningwater/gohub/app/http/controllers/api/v1"
- "github.com/runningwater/gohub/app/requests"
- "github.com/runningwater/gohub/pkg/captcha"
- "github.com/runningwater/gohub/pkg/logger"
- "github.com/runningwater/gohub/pkg/response"
- "github.com/runningwater/gohub/pkg/verifycode"
- )
- type VerifyCodeController struct {
- v1.BaseApiController
- }
- // ShowCaptcha 显示图片验证码
- func (vc *VerifyCodeController) ShowCaptcha(c *gin.Context) {
- // 生成验证码
- id, b64s, answer, err := captcha.NewCaptcha().GenerateCaptcha()
- logger.LogIf(err)
- logger.DebugString("captchaController", "captcha id: ", id)
- logger.DebugString("captchaController", "captcha answer: ", answer)
- response.JSON(c, gin.H{
- "captcha_id": id,
- "captcha_image": b64s,
- })
- }
- // SendUsingPhone 发送手机验证码
- func (vc *VerifyCodeController) SendUsingPhone(c *gin.Context) {
- // 1. 验证表单
- request := requests.VerifyCodeRequest{}
- if ok := requests.Validate(c, &request, requests.VerifyCodePhone); !ok {
- return
- }
- // 2. 发送手机验证码
- if ok := verifycode.NewVerifyCode().SendSMS(request.Phone); !ok {
- response.Abort500(c, "发送短信失败~~")
- } else {
- response.Success(c)
- }
- response.Success(c)
- }
- // SendUsingEmail 发送邮箱验证码
- func (vc *VerifyCodeController) SendUsingEmail(c *gin.Context) {
- // 1. 验证表单
- request := requests.VerifyCodeEmailRequest{}
- if ok := requests.Validate(c, &request, requests.VerifyCodeEmail); !ok {
- return
- }
- // 2. 发送邮箱验证码
- if err := verifycode.NewVerifyCode().SendEmail(request.Email); err != nil {
- response.Abort500(c, "发送邮件失败~~")
- } else {
- response.Success(c)
- }
- }
|