增加打手登录设备管理与三台设备限制
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { apiGet, apiPost } from '@/lib/http'
|
||||
import { apiDelete, apiGet, apiPost } from '@/lib/http'
|
||||
import type {
|
||||
CollectLookupResponse,
|
||||
UploadedFile,
|
||||
@@ -12,9 +12,11 @@ import type {
|
||||
WorkerLoginResponse,
|
||||
WorkerOrderOverviewResponse,
|
||||
WorkerProfileResponse,
|
||||
WorkerSessionDevice,
|
||||
WorkerUser,
|
||||
WorkerWalletLedger,
|
||||
} from '@/types/worker-platform'
|
||||
import { getWorkerDeviceId } from '@/utils/worker-auth'
|
||||
|
||||
export function sendWorkerSmsCode(payload: { phone: string }) {
|
||||
return apiPost<{ sent: boolean; expiresInSeconds: number; provider: string }>(
|
||||
@@ -37,7 +39,37 @@ export function registerWorker(payload: {
|
||||
}
|
||||
|
||||
export function loginWorker(payload: { username: string; password: string }) {
|
||||
return apiPost<WorkerLoginResponse>('/api/v1/worker/auth/login', payload)
|
||||
const userAgent = navigator.userAgent
|
||||
const isMobile = /Android|iPhone|iPad|iPod|Mobile/i.test(userAgent)
|
||||
return apiPost<WorkerLoginResponse>('/api/v1/worker/auth/login', {
|
||||
...payload,
|
||||
deviceId: getWorkerDeviceId(),
|
||||
deviceType: isMobile ? 'mobile' : 'pc',
|
||||
deviceName: isMobile ? '手机浏览器' : 'PC 浏览器',
|
||||
})
|
||||
}
|
||||
|
||||
export function fetchWorkerSessions() {
|
||||
return apiGet<{ maxDevices: number; items: WorkerSessionDevice[] }>('/api/v1/worker/auth/devices')
|
||||
}
|
||||
|
||||
export function deleteWorkerSession(sessionId: string) {
|
||||
return apiDelete<{ deleted: boolean }>(`/api/v1/worker/auth/devices/${sessionId}`)
|
||||
}
|
||||
|
||||
export function manageWorkerSessions(payload: { username: string; password: string }) {
|
||||
return apiPost<{ maxDevices: number; items: WorkerSessionDevice[] }>(
|
||||
'/api/v1/worker/auth/devices/manage/list',
|
||||
payload,
|
||||
)
|
||||
}
|
||||
|
||||
export function deleteWorkerSessionWithCredentials(payload: {
|
||||
username: string
|
||||
password: string
|
||||
sessionId: string
|
||||
}) {
|
||||
return apiPost<{ deleted: boolean }>('/api/v1/worker/auth/devices/manage/delete', payload)
|
||||
}
|
||||
|
||||
export function fetchWorkerSession() {
|
||||
|
||||
Reference in New Issue
Block a user