From f5e4386ba3bb4a03ab6d74f2f317178a38f9040e Mon Sep 17 00:00:00 2001 From: wangsiyuan <2392948297@qq.com> Date: Mon, 25 Dec 2023 16:43:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20views.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views.py | 48 +++++++++++++++++++++++++++++++----------------- 1 file changed, 31 insertions(+), 17 deletions(-) diff --git a/app/views.py b/app/views.py index 4f08f4f..2ab199d 100644 --- a/app/views.py +++ b/app/views.py @@ -1,9 +1,16 @@ from flask import Flask, request, redirect, url_for, render_template, session, jsonify +from db.connection import MySQLPool from config import SECRET_KEY +from db.database_manager import DatabaseManager +from models.User import User app = Flask(__name__) app.secret_key = SECRET_KEY # 从配置文件设置 +# 一个全局MySQLPool对象,用于管理数据库连接 +mysql_pool = MySQLPool() + + @app.route('/') def index(): # 如果用户已登录,则重定向到主页;否则,重定向到登录页面 @@ -11,42 +18,53 @@ def index(): return redirect(url_for('home')) else: return render_template('login.html') + + @app.route('/register', methods=['GET', 'POST']) def register(): if request.method == 'POST': - # 解析JSON数据而不是表单数据 data = request.get_json() - nick_name = data['nickname'] - print(nick_name) - # 处理注册逻辑... - return jsonify({"success": True, "message": "注册成功"}) # 返回JSON响应 + # print(data) + user = User( + nickname=data.get('nickname'), + phone_number=data.get('cellphone'), # 确保JSON中的键和这里匹配 + password=data.get('password'), + identity=data.get('identity'), + is_active=True # 或者根据你的逻辑设置 + ) + db_manager = DatabaseManager() + if not db_manager.user_exists(user.phone_number): + db_manager.insert_user(user) + return jsonify({"success": True, "message": "注册成功"}) + else: + return jsonify({"success": False, "message": "用户已存在"}) else: return render_template('register.html') - @app.route('/login', methods=['GET', 'POST']) def login(): if request.method == 'GET': return render_template('login.html') else: - username = request.form['username'] + phone_number = request.form['username'] password = request.form['password'] - print(username, password) + db_manager = DatabaseManager() # 验证用户名和密码... - if valid_login(username, password): + if db_manager.valid_login(phone_number, password): # 登录成功 - session['username'] = username + session['username'] = phone_number return jsonify(success=True, message="登录成功") else: # 登录失败 return jsonify(success=False, message="无效的用户名或密码") - @app.route('/forget', methods=['GET', 'POST']) def forget_page(): return render_template('forget.html') + + @app.route('/home') def home(): if 'username' in session: @@ -54,6 +72,7 @@ def home(): else: return redirect("login") + @app.route('/logout') def logout(): # 清除session中的所有信息 @@ -62,10 +81,5 @@ def logout(): return redirect('/login') -def valid_login(username, password): - # 这里应该是验证用户名和密码的逻辑,比如查询数据库等等 - # 假设用户名是admin且密码是secret - return username == '1' and password == '1' - if __name__ == '__main__': - app.run(debug = True) + app.run(debug=True)