更新 views.py
parent
bb53d199bd
commit
f5e4386ba3
48
app/views.py
48
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)
|
||||
|
|
|
|||
Reference in New Issue