先上流程图,还得27寸4K显示器,画图各种爽:
ReadMe:
运行程序前的提示: 1.抱歉,你得装prettytable模块...... 2.还得抱歉,如果shell中运行,最好把字体调得小点,表格比较长......蛋疼 为什么写两个版本: 武sir这期的作业不是很难,但有一个需求的逻辑个人感觉不是很合理:普通用户可以选择管理员操作的选项。 当然银角的目的是为了我们把装饰器运用到实际程序中。 一般页面展示中,管理员操作选项对于普通用户会做两种处理: 1、将选项灰色显示或者不能点击 2、普通用户登录后不显示管理员操作选项,如果管理员登录后则显示 出于以上原因,我写了两个版本。 所以写代码注释时,我只写了第一个版本的,即crm.py 两个版本区别: 第一个版本crm.py 基本是按武sir的需求写的,略有不同的是,我把登陆和注册作为入口 第二个版本crm_v2.py 是在第一个版本基础上稍作修改,只是判断登录用户的是否为管理员,如果管理员登录则比普通用户多显示管理操作选项 文件说明: crm.py:第一个版本,管理员以及普通用户操作均显示在主菜单 crm_v2.py:第二个版本,主菜单根据登录用户的角色判断是否显示管理员操作的选项 user_info:用户信息,以管道符隔开:账号|密码|邮箱|电话|用户角色 测试账号: 可以自己注册,也可以使用现成的。 管理员:admin/admin alex/3714 普通用户:chengchen/123 cc/123 操作流程: 登录/注册---->用户操作主菜单(普通用户操作【查看账户信息,修改帐户信息】,管理员操作【搜索,遍历用户,提升权限,重置密码】) 功能: 1.程序入口为登录、注册页面,用户可选择对应操作 2.登录时添加了随机验证码的功能 3.登录后显示操作主菜单,普通用户可查看本帐户信息,也可修改帐户信息 4.管理员操作权限做了限制,如果普通用户选择会提示用户权限不足 5.管理员可对所有用户进行搜索、遍历所有用户、提升权限、重置所有用户密码、增加删除用户等操作 6.管理员提升用户权限时,会对账号角色进行判断,如果已为管理员,会提示 7.用户做修改操作时,避免了多个用户账号前几个字母相同时出现的用户越权现象:比如管理员为chengchen,普通用户为chengc 8.显示用户信息时,对密码加密显示,并且查找时,对密码字段不进行查找