更新 views.py

master
wangsiyuan 2023-12-25 20:40:39 +08:00
parent 8cda76cc65
commit 1511faecde
1 changed files with 27 additions and 13 deletions

View File

@ -50,13 +50,20 @@ def login():
phone_number = request.form['username'] phone_number = request.form['username']
password = request.form['password'] password = request.form['password']
db_manager = DatabaseManager() db_manager = DatabaseManager()
# 验证用户名和密码...
if db_manager.valid_login(phone_number, password): result = db_manager.valid_login(phone_number, password) # 获取验证结果
# 确保用户已验证且活跃(未被禁用)
if result['valid'] and result['status'] == 1:
# 登录成功 # 登录成功
session['username'] = phone_number session['username'] = phone_number
session['role'] = result['identity'] # 设置用户角色
return jsonify(success=True, message="登录成功") return jsonify(success=True, message="登录成功")
elif not result['status']:
# 用户被禁用的情况
return jsonify(success=False, message="账户已被禁用")
else: else:
# 登录失败 # 其他登录失败情况
return jsonify(success=False, message="无效的用户名或密码") return jsonify(success=False, message="无效的用户名或密码")
@ -76,22 +83,29 @@ def home():
@app.route('/logout') @app.route('/logout')
def logout(): def logout():
# 清除session中的所有信息 # 清除session中的所有信息
session.clear() session.pop('username', None) # 从会话中移除用户
# 返回一个响应,或者重定向到登录页面 # 返回一个响应,或者重定向到登录页面
return redirect('/login') return redirect('/login')
@app.route('/api/menu') @app.route('/api/menu')
def get_menu(): def get_menu():
# 根据用户角色或其他逻辑获取菜单项 db_manager = DatabaseManager()
menu_items = [
{"name": "课程信息", "link": "#"}, # 从session中获取用户角色
{"name": "课程签到", "link": "#"}, if 'role' in session:
{"name": "公告信息", "link": "#"}, role = session['role']
{"name": "签到提醒", "link": "#"}, menu_items = db_manager.get_meun(role)
# ... 其他菜单项
] # 转换菜单项为期望的格式并返回
return jsonify(menu_items) print(menu_items)
formatted_menu_items = [{"name": item['menu_name']} for item in menu_items]
return jsonify(formatted_menu_items)
# 如果没有角色信息可能用户未登录或session过期
return jsonify([]), 401 # 未授权状态码
if __name__ == '__main__': if __name__ == '__main__':