# 1.项目框架搭建
空函数 功能字典 循环动态匹配
# 2.项目注册功能
1.获取用户名和密码 并且针对密码需要二次确认
2.用户数据需要注册(保存到一个固定的位置)
获取执行文件所在的项目目录路径(根目录 bin目录)
自动拼接存储用户数据的db目录路径(是否存在并动态创建)
3.拼接用户文件的绝对路径
判断绝对路径是否存在
如果存在表示用户已注册
如果不存在则使用json模块序列化
# 3.项目登录功能
1.获取用户名和密码
2.根据用户名获取文件路径 判断是否存在
3.如果存在则获取用户字典数据 判断密码是否正确
4.由于项目中一些功能需要登录的用户才可以执行 所以要保存登录状态
# 4.项目校验用户是否登录装饰器
1.无参装饰器模板
def login_auth(func_name):
def inner(*args, **kwargs):
res = func_name(*args, **kwargs)
return res
return inner
2.全局变量存储登录用户相关的信息
# 5.项目添加购物车功能
1.获取商品信息并循环展示给用户选择
2.用户选择对应编号的商品
商品编号校验问题(小校验)
3.综合考虑 针对购物车数据的保存 在添加购物车功能结束一次保存
在循环展示商品之前 创建一个临时购物车字典
4.临时购物车添加键值对数据
注意字典中可能已经存在一些数据 不能替换保存
如果商品已经存在则修改商品个数
如果商品不存在则新增键值对
5.退出购物车程序之前需要一次性修改当前登录用户购物车数据
注意用户购物车字典中可能也已经存在一些数据 不能替换保存
如果商品已经存在则修改商品个数
如果商品不存在则新增键值对
# 6.项目结算购物车功能
1.根据全局变量获取当前登录用户文件路径
2.读取登录用户的购物车数据
3.循环遍历购物车数据并计算总额
4.判断总额是否超出用户余额
5.如果没有超出 则完成扣款 清空购物车 并保存