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 )