{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "LoginDomain",
  "description": "登录域对象",
  "type": "object",
  "properties": {
    "user": {
      "description": "用户信息",
      "example": null
    },
    "userInfo": {
      "description": "用户详细信息",
      "example": null
    },
    "roles": {
      "type": "array",
      "description": "用户角色列表",
      "items": {},
      "example": []
    },
    "permissions": {
      "type": "array",
      "description": "用户权限列表",
      "items": {},
      "example": []
    },
    "menus": {
      "type": "array",
      "description": "用户菜单列表",
      "items": {},
      "example": []
    },
    "token": {
      "type": "string",
      "description": "JWT令牌",
      "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
    },
    "tokenExpireTime": {
      "type": "string",
      "format": "date-time",
      "description": "令牌过期时间",
      "example": "2025-10-06T16:00:00Z"
    },
    "loginTime": {
      "type": "string",
      "format": "date-time",
      "description": "登录时间",
      "example": "2025-10-05T16:00:00Z"
    },
    "ipAddress": {
      "type": "string",
      "format": "ipv4",
      "description": "登录IP地址",
      "example": "192.168.1.100"
    },
    "loginType": {
      "type": "string",
      "description": "登录类型",
      "enum": ["email", "username", "phone", "wechat"],
      "example": "username"
    }
  },
  "required": ["token", "loginTime", "loginType"]
}
