修复bug
This commit is contained in:
41
api/user.go
41
api/user.go
@@ -35,6 +35,7 @@ func Login(c *gin.Context) {
|
|||||||
//code 1用户名或密码错误
|
//code 1用户名或密码错误
|
||||||
|
|
||||||
err := DB.Take(&user, "username = ?", request.Username).Error
|
err := DB.Take(&user, "username = ?", request.Username).Error
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.JSON(200, gin.H{
|
c.JSON(200, gin.H{
|
||||||
"Error": true,
|
"Error": true,
|
||||||
@@ -193,7 +194,7 @@ func GetInfoByUserId(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
err := DB.Debug().Raw("SELECT username,affiliation,country,team_id FROM user WHERE id = ? LIMIT 1", id).Scan(&info).Error
|
err := DB.Debug().Raw("SELECT username,affiliation,country,team_id,website FROM user WHERE id = ? LIMIT 1", id).Scan(&info).Error
|
||||||
//err := DB.Where("id = ?", id).First(user).Error
|
//err := DB.Where("id = ?", id).First(user).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.JSON(400, gin.H{"code": 400, "msg": "Get info error!"})
|
c.JSON(400, gin.H{"code": 400, "msg": "Get info error!"})
|
||||||
@@ -203,6 +204,44 @@ func GetInfoByUserId(c *gin.Context) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// UpdateUserInfo 更新用户信息
|
||||||
|
func UpdateUserInfo(c *gin.Context) {
|
||||||
|
var user User
|
||||||
|
var request UpdateUserInfoRequest
|
||||||
|
if err := c.ShouldBindJSON(&request); err != nil {
|
||||||
|
c.JSON(400, gin.H{"code": 400, "msg": "Request format wrong!"})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
Link()
|
||||||
|
DB := db.DBsnctf
|
||||||
|
session, err := Store.Get(c.Request, "SNCTFSESSID")
|
||||||
|
if err != nil {
|
||||||
|
c.JSON(200, gin.H{"code": 400, "msg": "Get SNCTFSESSID error"})
|
||||||
|
}
|
||||||
|
user, ok := session.Values["user"].(User)
|
||||||
|
if !ok {
|
||||||
|
c.JSON(200, gin.H{"code": 400, "msg": "No session"})
|
||||||
|
}
|
||||||
|
//获取用户id
|
||||||
|
userid := user.ID
|
||||||
|
//获取传入数据
|
||||||
|
username := request.Name
|
||||||
|
affiliation := request.Affiliation
|
||||||
|
country := request.Country
|
||||||
|
website := request.Website
|
||||||
|
email := request.Email
|
||||||
|
//数据库更新数据
|
||||||
|
err = DB.Model(&user).Where("id = ?", userid).Update("username", username).Update("affiliation", affiliation).Update("country", country).Update("website", website).Update("email", email).Error
|
||||||
|
if err != nil {
|
||||||
|
c.JSON(200, gin.H{"code": 400, "msg": "Update info error!"})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
//更新session
|
||||||
|
session.Values["user"] = user
|
||||||
|
c.JSON(200, gin.H{"code": 200, "msg": "Update info success!"})
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// GetAllUserInfo 获取所有用户信息
|
// GetAllUserInfo 获取所有用户信息
|
||||||
func GetAllUserInfo(c *gin.Context) {
|
func GetAllUserInfo(c *gin.Context) {
|
||||||
var info PublicAllInfoResponse
|
var info PublicAllInfoResponse
|
||||||
|
@@ -35,6 +35,8 @@ func Initrouter() {
|
|||||||
{
|
{
|
||||||
// 获取当前用户信息
|
// 获取当前用户信息
|
||||||
personal.GET("/session", api.Session)
|
personal.GET("/session", api.Session)
|
||||||
|
// 修改当前用户的信息
|
||||||
|
personal.PUT("/userinfo", api.UpdateUserInfo)
|
||||||
// 获取题目分类
|
// 获取题目分类
|
||||||
personal.GET("/category", api.GetCategories)
|
personal.GET("/category", api.GetCategories)
|
||||||
// 获取所有题目信息
|
// 获取所有题目信息
|
||||||
|
@@ -94,6 +94,7 @@ type PublicInfoResponse struct {
|
|||||||
Affiliation string `json:"affiliation"`
|
Affiliation string `json:"affiliation"`
|
||||||
Country string `json:"country"`
|
Country string `json:"country"`
|
||||||
TeamID int `json:"team_id"`
|
TeamID int `json:"team_id"`
|
||||||
|
Website string `json:"website"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// PublicAllInfoResponse 定义返回所有用户公开信息结构体 暂时不显示队伍名称
|
// PublicAllInfoResponse 定义返回所有用户公开信息结构体 暂时不显示队伍名称
|
||||||
@@ -133,3 +134,12 @@ type StudentsOrOthersInfoResponse struct {
|
|||||||
IDOrEmail string `json:"id_email"`
|
IDOrEmail string `json:"id_email"`
|
||||||
QQ string `json:"qq"`
|
QQ string `json:"qq"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// UpdateUserInfoResponse 定义更新用户信息的响应
|
||||||
|
type UpdateUserInfoRequest struct {
|
||||||
|
Name string `json:"name"`
|
||||||
|
Email string `json:"email"`
|
||||||
|
Country string `json:"country"`
|
||||||
|
Website string `json:"website"`
|
||||||
|
Affiliation string `json:"affiliation"`
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user