You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.1 KiB
51 lines
1.1 KiB
package http |
|
|
|
import ( |
|
"strings" |
|
|
|
"go-common/app/interface/main/account/model" |
|
"go-common/library/ecode" |
|
bm "go-common/library/net/http/blademaster" |
|
) |
|
|
|
// getChallenge get geetest params gt ,challenge |
|
func getChallenge(c *bm.Context) { |
|
params := new(model.GeeCaptchaRequest) |
|
var ( |
|
mid, ok = c.Get("mid") |
|
mobile = strings.Contains(c.Request.UserAgent(), model.MobileUserAgentFlag) |
|
) |
|
if !ok { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
if mobile { |
|
params.ClientType = model.PlatH5 |
|
} else { |
|
params.ClientType = model.PlatPC |
|
} |
|
params.MID = mid.(int64) |
|
c.JSON(geetestSvr.PreProcess(c, params)) |
|
} |
|
|
|
func geetestValidate(c *bm.Context) { |
|
params := new(model.GeeCheckRequest) |
|
if err := c.Bind(params); err != nil { |
|
return |
|
} |
|
mid, ok := c.Get("mid") |
|
if !ok { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
params.MID = mid.(int64) |
|
if params.MID == 0 { |
|
c.JSON(nil, ecode.RequestErr) |
|
} |
|
if strings.Contains(c.Request.UserAgent(), model.MobileUserAgentFlag) { |
|
params.ClientType = model.PlatH5 |
|
} else { |
|
params.ClientType = model.PlatPC |
|
} |
|
c.JSON(geetestSvr.Validate(c, params), nil) |
|
}
|
|
|