feat: align with upstream 1.5.9.9
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
import { checkQqCookie } from '~~/server/utils/qq_music_sdk'
|
||||
|
||||
// 校验 QQ 音乐登录 Cookie 是否有效;无效时前端据此清理本地登录态
|
||||
export default defineEventHandler(async (event) => {
|
||||
const body = await readBody(event)
|
||||
const cookie = String(body?.cookie || '').trim()
|
||||
|
||||
if (!cookie) {
|
||||
throw createError({ statusCode: 400, message: '缺少 cookie 参数' })
|
||||
}
|
||||
|
||||
try {
|
||||
const result = await checkQqCookie({ cookie })
|
||||
|
||||
return {
|
||||
success: true,
|
||||
data: {
|
||||
valid: result.valid,
|
||||
isVip: result.isVip,
|
||||
signals: result.signals,
|
||||
user: result.profile
|
||||
? {
|
||||
userId: result.profile.userId,
|
||||
id: result.profile.userId,
|
||||
nickname: result.profile.nickname,
|
||||
userName: result.profile.nickname,
|
||||
avatarUrl: result.profile.avatarUrl
|
||||
}
|
||||
: undefined,
|
||||
authDiagnostic: result.authDiagnostic
|
||||
}
|
||||
}
|
||||
} catch (error: any) {
|
||||
// 网络等异常不属于「登录失效」,向上抛错让前端保留本地状态
|
||||
console.warn('[qq/check-cookie] 校验 QQ 登录态失败:', error?.message || error)
|
||||
throw createError({
|
||||
statusCode: 502,
|
||||
message: error?.message || '校验 QQ 登录状态失败'
|
||||
})
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user