跳转到内容

会话数据

要配置后端 API 返回的类型,您可以在 nuxt.config.ts 中定义一个额外的对象,概述您的会话数据对象的类型。

ts
export default defineNuxtConfig({
  auth: {
    provider: {
      type: 'local',
      session: {
        dataType: {
          id: 'string | number',
          firstName: 'string',
          lastName: 'string',
        },
      },
    }
  }
})

在上面的示例中,NuxtAuth 将从配置中正确推断类型并返回

ts
interface SessionData {
  id: string | number
  firstName: string
  lastName: string
}

复杂类型

除了使用简单类型(如 stringnumberboolean)之外,您还可以配置更复杂的类型,例如子对象或数组。

ts
export default defineNuxtConfig({
  auth: {
    provider: {
      type: 'local',
      session: {
        dataType: {
          id: 'string | number',
          firstName: 'string',
          lastName: 'string',
          subscriptions: '{ id: number, active: boolean }[]'
        },
      }
    }
  }
})

上面的示例将为您的会话生成以下类型

ts
interface SessionConfig {
  id: string | number
  firstName: string
  lastName: string
  subscriptions: { id: number, status: boolean }[]
}

这允许您将类型正确匹配到 getSession 的返回值。

在 MIT 许可证下发布。