Python全系列 教程
3567个小节阅读:5929.3k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
xxxxxxxxxx
# service.py
from tools import DBUtil
class MusicService:
def __init__(self):
self.user = None
def login(self,uname:str,passwd:str) -> bool:
'''
登录功能
:param uname: 用户名
:param passwd: 密码
:return: 登录成功返回True,失败返回False
'''
# 编写sql
sql = 'select id,uname from t_user where uname=%s and passwd=%s'
# 创建工具对象
db = DBUtil()
# 执行sql
user = db.query_one(sql,uname,passwd)
# 判断是否登录成功, 判断user是否有值,有值返回True,否则返回False
if user:
# print('登录成功')
# 记录用户的信息
self.user = user
return True
else:
# print('登录失败')
return False
def add_music(self,files:tuple[str]) -> None:
'''
增加音乐功能
:param files: 音乐文件路径,默认是多个,里面的元素是字符串
:return: None
'''
# 编写sql
insert_music_sql = 'insert into t_music (name,path) values (%s,%s)'
# 遍历数据
for f in files:
print(f)
# 根据路径名称获取音乐名
name = f[f.rfind('/')+1:f.rfind('.')]
# 创建工具对象
db = DBUtil()
# 执行sql
mid = db.execute_dml_back_id(insert_music_sql,name,f)
# 编写用户和音乐关系的sql
insert_play_music_sql = 'insert into t_play_list (u_id,m_id) values (%s,%s)'
# 创建工具对象
db = DBUtil()
# 执行sql
db.execute_dml(insert_play_music_sql,self.user[0],mid)
xxxxxxxxxx
# tools.py
def execute_dml_back_id(self,sql,*args):
'''
可以执行dml语句,用于数据的增加
'''
try:
# 执行SQL
self.cursor.execute(sql,args)
# 获取添加的id
id = self.con.insert_id()
# 提交事务
self.con.commit()
# 返回id
return id
except Exception as e:
print(e)
if self.con:
self.con.rollback()
finally:
self.close()
xxxxxxxxxx
# ui.py
def import_music(self, event):
print('导入音乐')
# 弹出文件选择框
filenames = askopenfilenames(filetype=[('mp3','.mp3'),('flac','.flac')])
# 调用增加音乐功能
ms.add_music(filenames)