套餐查询提供状态筛选字段;实名认证回调结果提供页面

This commit is contained in:
2026-03-13 17:03:32 +08:00
parent 3dc9bc5b1d
commit efce18e6f5
7 changed files with 169 additions and 10 deletions

View File

@@ -101,6 +101,18 @@ func Identify(c *fiber.Ctx) error {
// endregion
type idenResultData struct {
Success bool
Message string
}
func renderIdenResult(c *fiber.Ctx, success bool, message string) error {
return c.Render("views/iden-result", idenResultData{
Success: success,
Message: message,
})
}
// IdentifyCallbackNew 更新用户实名认证状态
func IdentifyCallbackNew(c *fiber.Ctx) error {
@@ -110,18 +122,17 @@ func IdentifyCallbackNew(c *fiber.Ctx) error {
Success bool `json:"success" validate:"required"`
})
if err := c.QueryParser(req); err != nil {
return core.NewBizErr("解析请求参数失败", err)
return renderIdenResult(c, false, "解析请求参数失败")
}
// 获取 token
infoStr, err := g.Redis.GetDel(c.Context(), idenKey(req.Id)).Bytes()
if err != nil {
return core.NewBizErr("实名认证状态已失效", err)
return renderIdenResult(c, false, "实名认证状态已失效,请重新发起认证")
}
info := idenInfo{}
err = json.Unmarshal(infoStr, &info)
if err != nil {
return core.NewServErr("解析实名认证信息失败", err)
if err = json.Unmarshal(infoStr, &info); err != nil {
return renderIdenResult(c, false, "解析实名认证信息失败,请重新发起认证")
}
// 获取认证结果
@@ -131,13 +142,13 @@ func IdentifyCallbackNew(c *fiber.Ctx) error {
info.Token,
))
if err != nil {
return core.NewServErr("获取实名认证结果失败", err)
return renderIdenResult(c, false, "获取实名认证结果失败,请重新发起认证")
}
if resp.Error.Code != 0 {
return core.NewServErr(fmt.Sprintf("获取实名认证结果失败: %s", resp.Error.Message))
return renderIdenResult(c, false, fmt.Sprintf("获取实名认证结果失败%s", resp.Error.Message))
}
if resp.Result.H5Result != "ok" || resp.Result.SmResult != "ok" || resp.Result.RxResult != "ok" {
return core.NewBizErr(fmt.Sprintf("实名认证失败: %s", resp.Result.Desc))
return renderIdenResult(c, false, fmt.Sprintf("实名认证未通过:%s", resp.Result.Desc))
}
// 更新用户实名认证状态
@@ -150,11 +161,11 @@ func IdentifyCallbackNew(c *fiber.Ctx) error {
q.User.IDToken.Value(info.Token),
)
if err != nil {
return core.NewServErr("更新用户实名信息失败", err)
return renderIdenResult(c, false, "保存实名认证信息失败,请联系客服处理")
}
// 返回结果页面
return c.SendString("🎉认证成功!现在可以安全关闭这个页面")
return renderIdenResult(c, true, "实名认证成功,请在扫码页面点击按钮完成认证")
}
func idenKey(id string) string {