44 lines
948 B
Go
44 lines
948 B
Go
|
package api
|
||
|
|
||
|
import (
|
||
|
"git.echol.cn/loser/logger/log"
|
||
|
"github.com/gin-gonic/gin"
|
||
|
"miniapp/global"
|
||
|
"miniapp/model/app"
|
||
|
"miniapp/model/common/response"
|
||
|
"strconv"
|
||
|
)
|
||
|
|
||
|
func GetUser(ctx *gin.Context, u *app.User, dontResponse, dontCheck bool) {
|
||
|
userId := ctx.Request.Header.Get("userId")
|
||
|
if userId == "" {
|
||
|
if !dontResponse {
|
||
|
ctx.Abort()
|
||
|
response.FailWithMessage("未授权操作", ctx)
|
||
|
}
|
||
|
return
|
||
|
}
|
||
|
id, _ := strconv.Atoi(userId)
|
||
|
u.ID = uint(id)
|
||
|
|
||
|
// 查询
|
||
|
err := global.GVA_DB.Take(&u).Error
|
||
|
if err != nil {
|
||
|
log.Errorf("获取用户信息失败:%s", err.Error())
|
||
|
ctx.Abort()
|
||
|
if !dontResponse {
|
||
|
response.FailWithMessage("用户状态异常", ctx)
|
||
|
}
|
||
|
return
|
||
|
}
|
||
|
// 需要跳过微信绑定检验
|
||
|
if !dontCheck {
|
||
|
// 检查微信绑定
|
||
|
if u.WechatOpenId == nil || *u.WechatOpenId == "" {
|
||
|
log.Errorf("%v 未绑定微信", u.Nickname)
|
||
|
response.FailWithMessage("请先绑定微信", ctx)
|
||
|
ctx.Abort()
|
||
|
}
|
||
|
}
|
||
|
}
|