会话数据
要配置后端 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
}
复杂类型
除了使用简单类型(如 string
、number
或 boolean
)之外,您还可以配置更复杂的类型,例如子对象或数组。
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
的返回值。