Files
client-web/src/api/auth.ts
T
2026-07-30 17:59:42 +08:00

39 lines
1.2 KiB
TypeScript

import { apiRequest } from '@/api/http'
import type { TokenPair } from '@/api/session'
export interface RegisterMerchantRequest {
username: string
password: string
displayName: string
companyName: string
legalPerson: string
legalPhone: string
contactEmail?: string
countryCode?: string
address?: string
}
export interface RegisterMerchantResult {
accountId: number | string
tenantId: number | string
membershipId: number | string
tenantStatus: 'PROFILE_REQUIRED'
nextStep: string
}
export function loginMerchant(username: string, password: string) {
return apiRequest<TokenPair>({ method: 'POST', url: '/auth/login', data: { username, password } })
}
export function registerMerchant(payload: RegisterMerchantRequest) {
return apiRequest<RegisterMerchantResult>({ method: 'POST', url: '/auth/register', data: payload })
}
export function logoutMerchant(refreshToken: string) {
return apiRequest<void>({ method: 'POST', url: '/auth/logout', data: { refreshToken } })
}
export function changeCurrentPassword(oldPassword: string, newPassword: string) {
return apiRequest<void>({ method: 'PUT', url: '/auth/password', data: { oldPassword, newPassword } })
}