将返回的type增加了成功和未成功的区分
This commit is contained in:
parent
4b358aa58e
commit
794941982d
18
CS3.1.py
18
CS3.1.py
@ -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:
|
||||
|
Loading…
x
Reference in New Issue
Block a user