视图层
主要是放一些主要功能,展示给用户看的,收集用户输入数据
接口层
被视图层调用,处理具体的业务逻辑
数据层
被接口层调用,对数据做增删改查的操作
start启动文件
import os
import sys
base_dir = os.path.dirname(os.path.dirname(__file__))
sys.path.append(base_dir)
if __name__ == '__main__':
from core import src
src.run()
注册功能
1.获取用户名和密码
2.再次获取密码进行比较
3.两次密码一致调用注册接口
4.校验用户名已存在
# (调用第三次层 用户保存 读取函数)
save() select()
5.密码加密处理 加密功能放在公共功能下common
6.构造用户字典
7.save()保存数据 日志记录
8.用户注册成功 保存返回数据
登录功能
1.获取用户相关数据
2.直接调用用户登录接口 login_interface
3.先查询是否有当前用户名对应的数据值
4.如果用户名正确 比对加密密码
5.正确登录 错误返回 都返回两个值
查看余额
1.全局用户字典是否登录
2.装饰器套用
3.直接调用查看账户余额的接口
4.查询当前登录用户的字典数据
5.从字典中获取余额信息并返回给第一层
6.日志记录```
# 提现功能
```python
1. 获取用户的想要提现的具体现金
2. 判断用户输入的是否是整数或者小数
# 代码异常处理
3.将用户输入的转float 通过捕获异常 如果报错提示不是数字 没报错往下运行
由于判断是不是数字有许多功能会用到 可以封装成函数放入common中
4.调用银行接口完成提现操作
5.1 第二层中掉用select()传入用户名 随后获取到用户字典
5.2 获取用户余额并判断是否满足登录提现要求 收取手续费
5.3 添加流水信息
5.4 保存提现之后的用户数据
充值功能
1.直接获取用户想要充值的钱数
2.直接调用银行充值接口 并调用公共功能判断金额数字是否符合要求
3.获取用户字典数据
4.直接添加余额
5.添加流水记录
6.保存用户数据
7.日志记录
转账功能
1.获取想要转账的用户名
2.获取想要转账的金额
3.直接调用转账的接口
4.1 先校验目标用户是否存在
4.2 再校验用户数的金额是否是整数或者小数
5 获取当前登录用户的数据(也就是转账者的数据)
6.判断 转账者的余额是否充足
7. 记录加钱 扣钱的流水
8.记录转账之后的两个账户的数据
9.日志记录
10.返回数据
查看流水
1.直接调用查看的流水接口即可
2.获取用户名对应的用户字典
for 循环打印
3.日志记录
4.返回数据
添加购物车
直接调用购物车接口
# 1.获取商品信息(目前是写死的 后期可以动态获取)
# 2.循环打印商品信息供用户选择
# 3.获取用户输入的商品编号
# 4.判断编号是否是纯数字
# 5.判断数字是否超出范围
# 6.根据商品编号获取商品信息
# 7.获取想要购买的商品个数
# 8.构造临时小字典存储商品信息
# 9.写入临时小字典中
'''10.添加结束标志 用于保存购物车数据'''
# 11.获取当前登录用户的字典数据
# 12.保存购物车数据
查看购物车
1.直接调用查看购物车接口
# 1.获取当前登录用户的字典数据
# 2.获取当前用户购物车数据
# 3.1 如果购物车有数据
# 3.2 如果没有
2.日志记录
结算购物车
1.直接调用结算购物车接口文件
2.获取当前登录用户的字典数据
3.获取当前用户车数据以及余额
4.统计购物车商品总价
5.比较余额是否充足
6.清空购物车
7.流水记录
8.日志记录
9.保存新数据
10.返回数据值