from flask import Flask, redirect, url_for, session, g from flask_httpauth import HTTPTokenAuth from flask_cors import CORS from func.config import db, SECRET_KEY import pymysql import func.login import func.signup import func.modify import func.index import func.search import func.book import func.pay_confirm import func.cancel_order import func.order import func.order_list 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 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 = session.get('user_id') 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(): return func.modify.modify() @app.route("/search", methods=['GET']) def search(): return func.search.search() @app.route("/book", methods=['GET', 'POST']) def book(): return func.book.book() @app.route("/order", methods=['GET']) def order(): return func.order.order() @app.route('/cancel_order', methods=['POST']) def cancel_order(): return func.cancel_order.cancel_order() @app.route('/pay_confirm', methods=['POST']) def pay_confirm(): return func.pay_confirm.pay_confirm() @app.route("/order_list", methods=['GET', 'POST']) def order_list(): return func.order_list.order_list() if __name__ == "__main__": app.run( host="0.0.0.0", port=8888, debug=True )