thief_music_api/service/userservice.py
Joe 60ba47ac32
All checks were successful
continuous-integration/drone/push Build is passing
新增登陆,注册
2023-08-04 19:27:30 +08:00

65 lines
1.8 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import csv
def register(username, password):
# 读取现有的用户信息
existing_users = read_users()
# 检查用户名是否已存在
if username in existing_users:
return False, "Username already exists."
# 添加新用户信息
new_user = {"username": username, "password": password}
existing_users[username] = new_user
# 将用户信息保存到CSV文件
save_users(existing_users)
return True, "Registration successful."
def login(username, password):
# 读取用户信息
existing_users = read_users()
# 验证用户名和密码
user = existing_users.get(username)
if user and user["password"] == password:
return True, "Login successful."
return False, "Invalid credentials."
def read_users():
# 从CSV文件中读取用户信息
users = {}
try:
with open("data/users.csv", "r", newline="") as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
users[row["username"]] = {"username": row["username"], "password": row["password"]}
except FileNotFoundError:
pass # 如果文件不存在,说明还没有注册用户,返回一个空字典
return users
def save_users(users):
# 将用户信息保存到CSV文件
with open("data/users.csv", "w", newline="") as csvfile:
fieldnames = ["username", "password"]
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for user in users.values():
writer.writerow(user)
# 测试注册功能
# register("user1", "password1")
# register("user2", "password2")
# 测试登录功能
# login_success, message = login("user1", "password1")
# print(message) # 输出Login successful.
#
# login_success, message = login("user3", "password3")
# print(message) # 输出Invalid credentials.