Service模块
#!/usr/bin/python3# -*- coding: utf-8 -*-from vega.db.user_dao import UserDaoclass UserService(object): __user_dao=UserDao() # 验证用户登录 def login(self, username, password): result=self.__user_dao.login(username,password) return result # 根据用户名搜索角色 def search_user_role(self,username): role=self.__user_dao.search_user_role(username) return role
APP程序的作用
- APP程序用来处理控制台的输入和输出的,因为控制台的操作询问是轮询执行的,所以我们需要在APP中使用死循环
- app.py
#!/usr/bin/python3# -*- coding: utf-8 -*-import osimport sysimport timefrom colorama import Fore,Stylefrom getpass import getpassfrom service.user_service import UserService__user_service=UserService()while True: os.system('cls') # 清理控制台 print(Fore.LIGHTBLUE_EX,"nt=======================") print(Fore.LIGHTBLUE_EX,"nt欢迎使用新闻管理系统") print(Fore.LIGHTBLUE_EX,"nt=======================") print(Fore.LIGHTGREEN_EX,"nt1.登录系统") print(Fore.LIGHTGREEN_EX,"nt2.退出系统") print(Style.RESET_ALL) opt=input("nt输入操作编号:") if opt=="1": username=input("nt用户名:") password=getpass("nt密码:") result=__user_service.login(username,password) # getpass可以隐藏密码 # 登录成功 if result: # 查询角色 role=__user_service.search_user_role(username) os.system("cls") while True: if role=="新闻编辑":print("test") elif role=="管理员":print(Fore.LIGHTGREEN_EX,"nt1.新闻管理")print(Fore.LIGHTGREEN_EX,"nt2.用户管理")print(Fore.LIGHTRED_EX,"ntback.退出登录")print(Fore.LIGHTRED_EX,"ntexit.退出系统")print(Style.RESET_ALL)opt = input("nt输入操作编号:")if opt=='1': while True: os.system("cls") print(Fore.LIGHTGREEN_EX, "nt1.审批新闻") print(Fore.LIGHTGREEN_EX, "nt2.删除新闻") print(Fore.LIGHTRED_EX, "ntback.返回上一层") print(Style.RESET_ALL) opt = input("nt输入操作编号:") # TODO:新闻操作elif opt=="back": breakelif opt=="exit": sys.exit(0) else: print("nt登录失败(3秒自动返回)") time.sleep(3) elif opt=="2": sys.exit(0) # 退出系统