Day32.合并登录功能

1.合并登录功能_学生登录详细代码及执行流程

2.合并登录功能_视图学生登录调用公共登录接口

   公共接口层common_interface.py

'''公共接口'''
import os
from conf import settings
from db import models

# todo 公共登录接口
def login_interface(username, password, user_type):
    # todo 判断用户类型, 执行不同的查询流程
    if user_type == 'admin':
        obj = models.Admin.select(username)

    elif user_type == 'student':
        obj = models.Student.select(username)

    elif user_type == 'teacher':
        obj = models.Teacher.select(username)

    else:
        return False, '登录角色不对,请输入角色'

    # todo 1. 判断用户是否存在
    if obj:
        # todo 2. 若存在,则校验密码
        if password == obj.pwd:
            return True, '登陆成功!'
        else:
            return False, '密码错误!'
        
    else:
        # todo 3. 若不存在,则证明用户不存在并返回给视图层
        return False, '用户名不存在!'

   学生视图层student.py

'''学生视图'''
from lib import common
from interface import student_interface
from lib import common_interface

# todo 全局记录用户登陆状态
student_info = {'user': None}

# todo 学生登录
def login():
    while True:
        student_username = input('请输入用户名:').strip()
        student_password = input('请输入密码:').strip()
        # todo 1.调用学生登录接口
        # flag, msg = student_interface.student_login_interface(
        #     student_username, student_password
        # )
        # todo 从公共接口层中调用登录接口
        flag, msg = common_interface.login_interface(
            student_username, student_password, user_type='student'
        )
        if flag:
            # todo 在全局定义字典student_info, 记录当前用户登录状态,修改其中字典状态
            student_info['user'] = student_username
            print(student_username, msg)
            break

        else:
            print(msg)

 

3.合并登录功能_视图老师登录调用公共登录接口

 

   公共接口层common_interface.py如上,老师视图层teacher.py

'''老师视图'''
from lib import common
from lib import common_interface

# todo 全局记录用户登陆状态
teacher_info = {'user': None}

# todo 老师登录
def login():
    while True:
        teacher_username = input('请输入用户名:').strip()
        teacher_password = input('请输入密码:').strip()
        # todo 从公共接口层中调用登录接口
        flag, msg = common_interface.login_interface(
            teacher_username, teacher_password, user_type='teacher'
        )
        if flag:
            # todo 在全局定义字典teacher_info, 记录当前用户登录状态,修改其中字典状态
            teacher_info['user'] = teacher_username
            print(teacher_username, msg)
            break

        else:
            print(msg)

4.合并登录功能_视图管理员登录调用公共登录接口

    公共接口层common_interface.py如上,管理员视图层admin.py

'''
管理员视图
'''
from interface import admin_interface
from lib import common, common_interface

# todo 全局记录用户登陆状态
admin_info = {'user': None}

# todo 管理员登录
def login():
    while True:
        admin_username = input('请输入用户名:').strip()
        admin_password = input('请输入密码:').strip()
        # # todo 1. 调用管理员登录接口
        # flag, msg = admin_interface.admin_login_interface(
        #     admin_username, admin_password
        # )
        # todo 从公共接口层中调用登录接口
        flag, msg = common_interface.login_interface(
            admin_username, admin_password, user_type='admin'
        )
        if flag:
            # todo 在全局定义字典user_info, 记录当前用户登录状态, 修改其中字典状态
            admin_info['user'] = admin_username
            print(admin_username, msg)
            break
        
        else:
            print(msg)

5.合并登录功能_管理员,学生,老师登录

posted on 2024-07-09 14:56  与太阳肩并肩  阅读(21)  评论(0)    收藏  举报

导航