60 lines
1.6 KiB
Go
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,
|
|
})
|
|
}
|