81 lines
2.0 KiB
Python

from flask import Flask, redirect, url_for, session, render_template, request, g
from flask_httpauth import HTTPTokenAuth
from flask_cors import CORS
from func.config import db, SECRET_KEY, slideshow_images
import pymysql
import func.login
import func.signup
import func.modify
import func.index
app = Flask(__name__)
app.config["SECRET_KEY"] = SECRET_KEY
app.config["JSON_AS_ASCII"] = False
app.config['SESSION_COOKIE_HTTPONLY'] = True
app.config['SESSION_COOKIE_SECURE'] = False
app.config['SESSION_COOKIE_SAMESITE'] = 'Lax'
CORS(app, supports_credentials=True)
auth = HTTPTokenAuth(scheme='Bearer')
@app.before_request
def before_request():
g.user = None
g.name = None
if 'user_id' in session:
conn = pymysql.connect(**db)
cursor = conn.cursor(pymysql.cursors.DictCursor)
args = (session.get('user_id'),)
verify_sql = "SELECT Phone_number, Username FROM Users WHERE Phone_number = %s;"
cursor.execute(verify_sql, args)
res = cursor.fetchone()
if not res:
g.user = None
g.name = None
else:
g.user = res['Phone_number']
g.name = res['Username']
@app.route("/")
def home():
return redirect(url_for('index'))
@app.route("/index", methods=['GET', 'POST'])
def index():
return func.index.index()
@app.route("/login", methods=['GET', 'POST'])
def login():
return func.login.login()
@app.route('/logout')
def logout():
return func.index.logout()
@app.route("/signup", methods=['GET', 'POST'])
def signup():
return func.signup.signup()
@app.route("/modify", methods=['GET', 'POST'])
def modify():
if request.method == 'GET':
if not g.user:
return redirect(url_for("login"))
return func.modify.modify()
@app.route("/search", methods=['GET'])
def search():
# 处理搜索逻辑
return "搜索结果"
@app.route("/orders", methods=['GET', 'POST'])
def orders():
return "我的订单"
if __name__ == "__main__":
app.run(
host="0.0.0.0",
port=5000,
debug=True
)