更新用户数据

This commit is contained in:
2025-11-26 21:15:29 +08:00
parent 76e1fc5894
commit a188dd3734
12 changed files with 1852 additions and 704 deletions
+2 -2
View File
@@ -7,7 +7,7 @@
"userNameNoFund":-41,
"userPassIncorrect":-42,
"userCookieError":-44,
"userCookieNotFund":-45,
"userCookieExpired":-46
"userCookieNotFund":-44,
"userCookieExpired":-44
}
+148 -38
View File
@@ -65,6 +65,51 @@ type From_user_login struct {
Remember bool `json:"remember"`
}
type From_user_updateinfo struct {
Username string `json:"username"`
Remark string `json:"remark"`
Birthday string `json:"birthday"`
}
func AuthenticationAuthority(ctx *gin.Context) (bool, models.TabUser_, map[string]interface{}) {
var user models.TabUser_
data, cookieval := SeparateData(ctx)
//fmt.Println("cookieis" + cookieval)
if cookieval != "" {
cookie := models.TabCookie_{
Value: cookieval,
}
if models.DB.Where(&cookie).First(&cookie).Error == nil {
//找到cookie,验证cookie有效性,以及更新cookie
if models.CheckCookiesAndUpdate(&cookie) {
//cookie有效
//载入user
user := models.TabUser_{
ID: cookie.UserID,
}
models.DB.Where(&user).First(&user)
return true, user, data
} else {
ReturnJson(ctx, "userCookieExpired", nil)
return false, user, nil
}
} else {
ReturnJson(ctx, "userCookieNotFund", nil)
return false, user, nil
}
} else {
ReturnJson(ctx, "userCookieError", nil)
return false, user, nil
}
//return false, user
}
func ApiUser(r *gin.RouterGroup) {
r.GET("/test", func(ctx *gin.Context) {
@@ -73,55 +118,120 @@ func ApiUser(r *gin.RouterGroup) {
r.POST("/test", func(ctx *gin.Context) {
ReturnJson(ctx, "apiOK", nil)
})
//通过cookie获取用户info
r.POST("/getinfo", func(ctx *gin.Context) {
_, cookieval := SeparateData(ctx)
//fmt.Println("cookieis" + cookieval)
if cookieval != "" {
cookie := models.TabCookie_{
Value: cookieval,
}
if models.DB.Where(&cookie).First(&cookie).Error == nil {
//找到cookie,验证cookie有效性,以及更新cookie
if models.CheckCookiesAndUpdate(&cookie) {
//cookie有效
//返回最新cookie
redata := map[string]interface{}{
"cookie": cookie,
}
//载入用户info
userInfo := models.TabFileInfo_{
UserID: cookie.UserID,
}
if models.DB.Where(&userInfo).First(&userInfo).Error == nil {
redata["userInfo"] = userInfo
//更新用户info
r.POST("/updateInfo", func(ctx *gin.Context) {
isAuth, user, data := AuthenticationAuthority(ctx)
if isAuth {
var jsonData From_user_updateinfo
if err := mapstructure.Decode(data, &jsonData); err == nil {
// fmt.Println("updateinfo data is", jsonData)
// fmt.Println(user)
t, err := time.Parse("2006-01-02", jsonData.Birthday)
if err == nil {
var userinfo models.TabUserInfo_
userinfo.UserID = user.ID
var userinfoupdate models.TabUserInfo_
userinfoupdate.UserID = user.ID
userinfoupdate.CreatedAt = time.Now()
userinfoupdate.Username = jsonData.Username
userinfoupdate.Birthdate = t
userinfoupdate.FirstName = jsonData.Remark
//先查找是否有记录
if models.DB.Where(&userinfo).First(&userinfo).Error == nil {
//有记录,更新
models.DB.Model(&userinfo).Updates(&userinfoupdate)
} else {
redata["userInfo"] = nil
//无记录,创建
models.DB.Create(&userinfoupdate) // 传入指针
}
//载入user
user := models.TabUser_{
ID: cookie.UserID,
}
models.DB.Where(&user).First(&user)
user.Pass = ""
user.Salt = ""
redata["user"] = user
ReturnJson(ctx, "apiOK", redata)
ReturnJson(ctx, "apiOK", nil)
} else {
ReturnJson(ctx, "userCookieExpired", nil)
ReturnJson(ctx, "jsonErr", nil)
}
} else {
ReturnJson(ctx, "userCookieNotFund", nil)
ReturnJson(ctx, "jsonErr", nil)
}
}
})
//通过cookie获取用户info
r.POST("/getinfo", func(ctx *gin.Context) {
isAuth, user, _ := AuthenticationAuthority(ctx)
if isAuth {
//载入用户info
var userinfo models.TabUserInfo_
userinfo.UserID = user.ID
//fmt.Println(userInfo)
var redata map[string]interface{} = make(map[string]interface{})
if models.DB.Where(&userinfo).First(&userinfo).Error == nil {
redata["userInfo"] = userinfo
} else {
redata["userInfo"] = nil
}
} else {
ReturnJson(ctx, "userCookieError", nil)
user.Pass = ""
user.Salt = ""
redata["user"] = user
ReturnJson(ctx, "apiOK", redata)
}
// _, cookieval := SeparateData(ctx)
// //fmt.Println("cookieis" + cookieval)
// if cookieval != "" {
// cookie := models.TabCookie_{
// Value: cookieval,
// }
// if models.DB.Where(&cookie).First(&cookie).Error == nil {
// //找到cookie,验证cookie有效性,以及更新cookie
// if models.CheckCookiesAndUpdate(&cookie) {
// //cookie有效
// //返回最新cookie
// redata := map[string]interface{}{
// "cookie": cookie,
// }
// //载入用户info
// userInfo := models.TabFileInfo_{
// UserID: cookie.UserID,
// }
// if models.DB.Where(&userInfo).First(&userInfo).Error == nil {
// redata["userInfo"] = userInfo
// } else {
// redata["userInfo"] = nil
// }
// //载入user
// user := models.TabUser_{
// ID: cookie.UserID,
// }
// models.DB.Where(&user).First(&user)
// user.Pass = ""
// user.Salt = ""
// redata["user"] = user
// ReturnJson(ctx, "apiOK", redata)
// } else {
// ReturnJson(ctx, "userCookieExpired", nil)
// }
// } else {
// ReturnJson(ctx, "userCookieNotFund", nil)
// }
// } else {
// ReturnJson(ctx, "userCookieError", nil)
// }
})
//用户登陆