# views.py
from django.http import JsonResponse
from django.contrib.auth.decorators import login_required
from django.views.decorators.http import require_http_methods


@require_http_methods(["GET"])
def api_auth_status(request):
    """
    获取当前用户认证状态的API接口
    """
    if request.user.is_authenticated:
        # 用户已登录，返回用户信息
        # 注意：这里需要根据你的用户模型返回昵称或用户名
        user = request.user
        # 假设你有一个获取显示名称的方法或属性，例如 user.profile.nickname
        # 这里先用 username 代替
        display_name = getattr(user, 'nickname', user.username)  # 请根据你的模型调整
        return JsonResponse({
            'isAuthenticated': True,
            'user': {
                'username': user.username,
                'displayName': display_name,  # 用于界面显示的名称
            }
        })
    else:
        # 用户未登录
        return JsonResponse({'isAuthenticated': False, 'user': None})


@login_required
@require_http_methods(["POST"])
def api_logout(request):
    """
    用户退出登录的API接口
    """
    from django.contrib.auth import logout
    logout(request)
    return JsonResponse({'success': True, 'message': '退出成功'})
