注册与登录bug修复

This commit is contained in:
2025-06-26 21:34:27 +08:00
parent a10173d98a
commit 18c2cb9d4a
5 changed files with 46 additions and 40 deletions
+16 -10
View File
@@ -19,17 +19,19 @@ func V1_user_api(r *gin.RouterGroup) {
//返回前端的数据 //返回前端的数据
//转换传进来的数据 //转换传进来的数据
//转换传进来的数据
var jsonData map[string]interface{} var jsonData Add_user_from
if err := ctx.ShouldBindJSON(&jsonData); err == nil { data, _ := ctx.Get("data")
if err := mapstructure.Decode(data, &jsonData); err == nil {
//转换字段 //转换字段
newUser := models.User{ newUser := models.User{
Name: jsonData["username"].(string), Name: jsonData.Username,
Email: jsonData["useremail"].(string), Email: jsonData.Useremail,
Pass: jsonData["userpass"].(string), // 实际应替换为哈希值 Pass: jsonData.Userpass, // 实际应替换为哈希值
Date: time.Now(), Date: time.Now(),
// Date 字段无需赋值,数据库会自动填充默认值 // Date 字段无需赋值,数据库会自动填充默认值
} }
//fmt.Println(newUser)
//对用户的密码进行哈希替换 //对用户的密码进行哈希替换
newUser.Pass = models.Hash_user_pass(newUser.Pass) newUser.Pass = models.Hash_user_pass(newUser.Pass)
@@ -42,9 +44,13 @@ func V1_user_api(r *gin.RouterGroup) {
Return_json(ctx, "user_name_dup", nil) Return_json(ctx, "user_name_dup", nil)
} else { } else {
//fmt.Println("用户不存在") //fmt.Println("用户不存在")
dd := models.DB.Create(&newUser) // 传入指针 models.DB.Create(&newUser) // 传入指针
fmt.Println(dd)
//创建info //创建info
var user_info models.User_info
user_info.AvatarPath = models.User_configs["def_avatar_path"].(string)
user_info.UserID = newUser.ID
models.DB.Create(&user_info) // 传入指针
Return_json(ctx, "api_ok", nil) Return_json(ctx, "api_ok", nil)
} }
@@ -77,8 +83,8 @@ func V1_user_api(r *gin.RouterGroup) {
user.Name = newUser.Name user.Name = newUser.Name
if models.DB.Where(&user).First(&user).Error == nil { if models.DB.Where(&user).First(&user).Error == nil {
// 有数据 // 有数据
fmt.Println(user) //fmt.Println(user)
fmt.Println(newUser) //fmt.Println(newUser)
if user.Pass == newUser.Pass { if user.Pass == newUser.Pass {
//成功登录 //成功登录
+6
View File
@@ -5,3 +5,9 @@ type Login_from struct {
Username string `json:"username"` Username string `json:"username"`
Password string `json:"password"` Password string `json:"password"`
} }
type Add_user_from struct {
Useremail string `json:"useremail"`
Username string `json:"username"`
Userpass string `json:"userpass"`
}
+1
View File
@@ -65,6 +65,7 @@ function post_json(path, json, callback) {
}) })
.catch((error) => { .catch((error) => {
re_data["statusCode"] = -1; re_data["statusCode"] = -1;
re_data["error"]=error;
callback(re_data); callback(re_data);
}); });
} }
+1 -1
View File
@@ -165,7 +165,7 @@
if (c.statusCode == 200) { if (c.statusCode == 200) {
if (c.data.err_code == 0) { if (c.data.err_code == 0) {
//save_json("cookie", c.data.return.cookie) //save_json("cookie", c.data.return.cookie)
banner_alert('success', "登录成功",9500) banner_alert('success', "登录成功",950)
save_json("user_info", c.data.return.user_info) save_json("user_info", c.data.return.user_info)
setTimeout(() => { setTimeout(() => {
location.href = '/' location.href = '/'
+19 -26
View File
@@ -218,39 +218,32 @@
if (from_data_check) { if (from_data_check) {
//console.log("ok"); //console.log("ok");
const url = '/api/v1/user/add';
const sumt_data = { post_json("/user/add", {
data: {
username: username_dom.value, username: username_dom.value,
useremail: email_dom.value, useremail: email_dom.value,
userpass: password_dom.value userpass: password_dom.value
}, }, (c) => {
if (c.statusCode == 200) {
}; switch (c.data.err_code) {
try { case 0:
const response = axios.post(url, sumt_data, { banner_alert('success', "注册成功", 950)
headers: { setTimeout(() => {
'Content-Type': 'application/json' location.href = '/sign-in'
}, 1000);
break;
case 1:
banner_alert('warning', "用户名已存在", 1000)
break;
} }
}).then(response => {
console.log('提交成功:', response.data); // 正确打印服务器数据
if (response.data.err_code == 1) {
username_dom.classList.add("is-invalid");
document.getElementById("name_input_err").innerHTML = "用户名已存在";
} else if (response.data.err_code == 0) {
const myModal = new bootstrap.Modal('#modal-success');
myModal.show();
}
});
} catch (error) {
if (error.response) {
// 服务器返回了错误状态码(如 4xx, 5xx)
console.error('服务器错误:', error.response.data);
} else { } else {
console.error('请求未完成:', error.message); banner_alert('danger', "网络连接错误:" + c.error, 10000)
} }
} })
//console.log(sumt_data);
} }
}); });