Files
gitlab-instance-0a899031_d2…/lib/types.ts
2026-03-25 16:14:50 -05:00

24 lines
625 B
TypeScript

/** 与 Electron `remote:get-bind-payload` 输出一致,供扫码导入 */
export type BindPayload = {
v: 1
baseUrl: string
port: number
token?: string
}
export function parseBindPayload(raw: string): BindPayload | null {
try {
const j = JSON.parse(raw) as Record<string, unknown>
if (j.v !== 1) return null
if (typeof j.baseUrl !== 'string') return null
return {
v: 1,
baseUrl: String(j.baseUrl).replace(/\/$/, ''),
port: typeof j.port === 'number' ? j.port : Number(j.port) || 8001,
token: j.token == null ? '' : String(j.token),
}
} catch {
return null
}
}