2025-07-04 19:07:35 +08:00

38 lines
1012 B
Python

from flask import Blueprint, render_template, session, redirect, url_for, flash
from app.models.user import User
user_bp = Blueprint('user', __name__, url_prefix='/user')
def login_required(f):
"""登录验证装饰器"""
def decorated_function(*args, **kwargs):
if 'user_id' not in session:
flash('请先登录', 'warning')
return redirect(url_for('auth.login'))
return f(*args, **kwargs)
decorated_function.__name__ = f.__name__
return decorated_function
@user_bp.route('/profile')
@login_required
def profile():
"""用户个人中心"""
user = User.query.get(session['user_id'])
if not user:
session.clear()
flash('用户不存在,请重新登录', 'error')
return redirect(url_for('auth.login'))
return render_template('user/profile.html', user=user)
@user_bp.route('/orders')
@login_required
def orders():
"""用户订单 - 重定向到订单列表"""
return redirect(url_for('order.list'))