|
4 days ago | |
---|---|---|
PPT信息2 | 4 days ago | |
README.md | 4 days ago | |
books.csv | 1 month ago | |
borrowedbooks.csv | 1 month ago | |
calculate.py | 4 days ago | |
test.1.html | 4 days ago | |
ui.py | 4 days ago | |
users.csv | 1 month ago | |
给PPT留一些信息 | 4 days ago | |
说明3.26.txt | 1 month ago |
README.md
''' 以下为主要需要涵盖的版块
1图书类型管理:实现对图书分类的灵活定义与调整,便于图书资源的分类存储与检索。这可以通过数据库表中的字段来实现,例如在book表中添加type字段。 2图书信息管理:包括图书的录入、编辑、删除及详细信息展示,确保图书信息的准确无误。这通常涉及对book表的增删改查操作。 3图书借阅与归还功能:支持用户在线申请借阅、查看借阅记录及归还图书,简化借阅流程,提高借阅效率。这可以通过创建borrow表来记录借书人ID、书名、作者和借书时间。 4用户账户管理:包括用户注册、登录、信息修改及权限分配,保障系统安全与用户隐私。可以使用user表来存储用户ID、密码和角色信息,角色可以是0(读者)或1(管理员)。 5通知公告发布:用于发布图书馆的最新动态、活动信息及借阅规则等,增强与用户的沟通互动。
另外,我们还需要一个图形交互界面,这样显得比较专业
special 1.使用自定义对象:图书,用户 2.尝试连接数据库PostgreSQL 16.1(通过Navicat管理)来管理数据 ''' 3.24: 做出以下调整: 1,不用navicat,就用csv文件,能做出东西就行,1个学分不值得拼命 2,还是需要一个图形界面,这个是加分项 3,增删改查都要全面 4,用户只可以查,管理员可以增删改,这些建立在登录模块的基础上 5,还有一个核心功能就是记录用户的借书记录:书目,时间,应还时间 ''' 3.25 管理员2: 1.关于图形界面:tkinter库内容简单无需下载 2.关于管理权限:将权限单独存为一个元组,需要删改增需要最高权限管理员来做,此模块应有:1.校验用户名密码2.录入用户的基本信息,如姓名、联系方式、借阅证号等,记录用户的借阅历史,包括借阅时间、归还时间、借阅图书等。3.管理权限并根据权限进入不同交互界面的主要功能 3.关于图书管理:此模块应具有:1.查找图书提供多种检索方式,如按书名、作者、ISBN号、分类等查询图书信息。2.归还图书:处理用户的借阅和归还请求,更新图书的库存状态,对逾期未还的图书进行提醒,并计算罚款金额,允许用户预约已借出的图书,当图书归还时通知用户3.图书分类管理:对图书进行分类管理,如文学、科技、历史等,便于用户按类别查找图书。 以上为一个图书管理系统的主干,以下为附加内容: 1.安全性考虑 2.通过用户借阅图书推测出用户喜好并推荐图书 3.统计每种图书的借阅数量供下次买书参考 4.是否需要对用户等级进行分类,比如借数超过50本还书时间限制延长一个周
3.26管理员1: 1.具体的文件实施形式已用csv建立 2.归还时间实现方法: 只记录借书日期,读取当前日期,而后进行计算 3.搜索:isbn只支持精确搜索,书名应支持模糊搜索,我们可以尝试把在那个成语的模糊查询功能做到书名搜索里 4.如果有条件,再做一个分类筛选功能
3.27管理员1: 1.生成了一些books数据 2.实现了了基础UI与底层计算的接入 3.目前UI界面太丑,太简陋 4.底层计算目前只实现了ISBN精确查询,需要扩充的内容很多
4.10管理员1: 考虑到下周没什么时间,而这个作业18号就截止了 所以事情还是很紧急的 PPT汇报具体要求什么的4.11课上问问,同时也可以尝试能不能延期 现在急需将其完善,可以在功能上进一步简化,而图形界面能看即可,确保能交差 如果可以延期就再美化,不能就能交差即可
def start(self): """处理查询按钮点击事件""" isbn = self.entry00.get().strip() if not isbn: self.result_text.config(state=tk.NORMAL) self.result_text.delete(1.0, tk.END) self.result_text.insert(tk.END, "请输入ISBN编号") self.result_text.config(state=tk.DISABLED) return
# 禁用按钮防止重复点击
self.query_button.config(state=tk.DISABLED, text="查询中...")
self.root.update() # 强制更新界面
try:
result = query_isbn(isbn)
self.result_text.config(state=tk.NORMAL)
self.result_text.delete(1.0, tk.END)
if isinstance(result, dict):
formatted_result = "\n".join(f"{k}: {v}" for k, v in result.items())
self.result_text.insert(tk.END, formatted_result)
elif isinstance(result, list):
# 修改为与模糊搜索相同的输出格式
formatted_results = "\n\n".join(
"\n".join(f"{k}: {v}" for k, v in book.items())
for book in result
)
self.result_text.insert(tk.END, formatted_results)
else:
self.result_text.insert(tk.END, result)
self.result_text.config(state=tk.DISABLED)
except Exception as e:
self.result_text.config(state=tk.NORMAL)
self.result_text.delete(1.0, tk.END)
self.result_text.insert(tk.END, f"查询出错: {str(e)}")
self.result_text.config(state=tk.DISABLED)
finally:
# 恢复按钮状态
self.query_button.config(state=tk.NORMAL, text="查询")