三层架构
一 用户视图层
用于与用户交互的,可以接受用户的输入,打印接口返回的数据。
import json
import os
from conf import settings
from interface import user_interface
from lib import common
from interface import shop_interface
from interface import bank_interface
Login_user=None
def register():
while True:
username=input('请输入用户名称:').strip()
passwoed=input('请输入用户密码:').strip()
r_passwoed=input('请输入用户密码:').strip()
if passwoed == r_passwoed:
print('恭喜您,注册成功!')
flag,msg=user_interface.register_interface(username,passwoed)
if flag:
print(msg)
break
else:
print(msg)
二 逻辑接口层
接受 用户视图层 传递过来的参数,根据逻辑判断调用数据层加以处理,
并返回一个结果给 用户视图层。
from db import db_handler
from lib import common
def register_interface(username,password,balance=15000):
user_dic=db_handler.select(username)
if user_dic:
return False,'用户名存在!'
password=common.pwd5(password)
user_dic = {
'username': username,
'password': password,
'balance': balance,
'flow': [],
'shop_car': {},
'locked': False
}
db_handler.save(user_dic)
return True,f'{username}注册成功!'
三 数据处理层
接受接口层传递过来的参数,做数据的
- 保存数据
- 查看数据
- 更新数据
- 删除数据
import json
import os
from conf import settings
def select(username):
user_path = os.path.join(settings.USER_DATA_PATH, f'{username}.json')
if os.path.exists(user_path):
with open(user_path, mode='rt', encoding='utf-8')as f:
user_dict=json.load(f)
return user_dict
def save(user_dic):
username=user_dic.get('username')
user_path = os.path.join(
settings.USER_DATA_PATH, f'{username}.json'
)
with open(user_path, 'w', encoding='utf-8') as f:
json.dump(user_dic, f, ensure_ascii=False)