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