将返回的type增加了成功和未成功的区分

This commit is contained in:
DZY 2025-06-02 15:49:44 +08:00
parent 4b358aa58e
commit 794941982d

View File

@ -48,15 +48,15 @@ def register_user(usr, pwd):
csr2.execute('SELECT * FROM users WHERE name = ?', (usr,))
result = csr2.fetchone()
if result is not None:
return {"success": False, "message": "Username already exists"}
return {"type": "register_0", "success": False, "message": "Username already exists"}
else:
try:
cursor = conn.cursor()
cursor.execute("INSERT INTO users (name, passwd) VALUES (?, ?)", (usr, pwd))
conn.commit()
return {"success": True, "message": "User registered successfully"}
return {"type": "register_1", "success": True, "message": "User registered successfully"}
except sqlite3.Error as e:
return {"success": False, "message": str(e)}
return {"type": "register_0", "success": False, "message": str(e)}
finally:
conn.close()
@ -83,14 +83,18 @@ def handle_socket_message(data, addr, conn):
action = data.get('type')
if action == 'register':
result = register_user(data.get('username'), data.get('password'))
return {"type": "register","status": "success" if result['success'] else "error", "message": result['message']}
if result['success']:
return {"type": "register_1","status": "success", "message": result['message']}
else:
return {"type": "register_0","status": "error", "message": result['message']}
elif action == 'login':
if isuserxist(data['username']):
if ispsswdright(data['username'], data['password']):
active_users[addr[0]] = data['username']
chat_connections.append(conn)
return {"type": "login", "status": "success", "message": "Login successful"}
return {"type": "login", "status": "error", "message": "Invalid credentials"}
return {"type": "login_1", "status": "success", "message": "Login successful"}
return {"type": "login_0", "status": "error", "message": "Invalid credentials"}
elif action == 'chat':
if addr[0] in active_users:
message = {
@ -125,7 +129,7 @@ def run_socket_server():
conn.sendall(json.dumps(response).encode())
except json.JSONDecodeError:
conn.sendall(json.dumps(
{"status": "error", "message": "Invalid JSON"}
{"type": "register_0", "status": "error", "message": "Invalid JSON"}
).encode())
except ConnectionResetError:
if addr[0] in active_users: