增加打手登录设备管理与三台设备限制

This commit is contained in:
yml2213
2026-08-17 15:26:40 +08:00
parent 8d18daa0fe
commit f938ab0cba
13 changed files with 722 additions and 20 deletions
+34 -2
View File
@@ -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() {