Files
rootandClaude Opus 5 8679200f41 Initial commit
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 13:57:10 +08:00

60 lines
1.6 KiB
Go

package certificateser
import (
"91porn-server/common"
"91porn-server/common/log"
"91porn-server/common/stderr"
"91porn-server/common/ysqr"
"91porn-server/models/v/usermod"
"91porn-server/web/middleware/authweb"
"github.com/gin-gonic/gin"
)
// QrCode doc
// @Summary 二维码
// @Description 二维码
// @Tags 凭证
// @Accept mpfd,json
// @Produce json,html
// @Param token formData string true "令牌"
// @Success 200 {string} json "{"msg": "操作成功", "content": "", user:{}}"
// @Failure 400 {string} json "{"msg": "操作失败"}"
// @Router /ext/certificate/qr [post]
func QrCode(c *gin.Context) {
var args struct {
Token string `form:"token" json:"token" binding:"required"` //token
}
if err := c.ShouldBind(&args); err != nil {
common.ServeJSON(c, stderr.ErrParamError, "certificateser QrCode arg error "+err.Error())
return
}
claims, err := authweb.ParseWebClaims(args.Token)
if err != nil {
log.Error("activity InvitInfo ParseWebClaims error", log.Any("token", args.Token), log.E(err))
common.ServeJSON(c, stderr.InvalidToken, "")
return
}
user, _ := usermod.FindUserByUID(claims.UID)
if user == nil {
common.ServeJSON(c, stderr.AdminIsNotExist, "")
return
}
content := ysqr.Content{
UID: user.UID,
T: ysqr.Login,
LoginClaims: ysqr.LoginClaims{
DevID: user.DevID,
},
}
u := gin.H{
"uid": user.UID,
"name": user.Name,
"portrait": user.Portrait,
}
common.ServeJSON(c, stderr.Success, gin.H{
"content": content.String(authweb.GetTokenSecret()),
"user": u,
})
}