411 lines
12 KiB
TypeScript
411 lines
12 KiB
TypeScript
import { apiGet, apiPost } from '@/lib/http'
|
|
import type {
|
|
AdminAgisoMessagingDefaults,
|
|
AdminAgisoObservedShopItem,
|
|
AdminAgisoShopConfigItem,
|
|
AdminCloudtentaclesLoginTestResult,
|
|
AdminCloudtentaclesPersistedSession,
|
|
AdminCloudtentaclesSkuListResult,
|
|
AdminCloudtentaclesSendSmsResult,
|
|
AdminCloudtentaclesSourceConfig,
|
|
AdminCloudtentaclesValidateSessionResult,
|
|
AdminFulfillmentBindingConfigItem,
|
|
AdminFulfillmentLookupResult,
|
|
AdminKhhaoLoginTestResult,
|
|
AdminKhhaoOrderQueryResult,
|
|
AdminKhhaoOrderSyncResult,
|
|
AdminKhhaoSourceConfig,
|
|
AdminKhhaoSyncState,
|
|
AdminNinetyoneOrderActionResult,
|
|
AdminNinetyoneOrderListResult,
|
|
AdminKuaishouCloudFulfillmentConfig,
|
|
AdminKuaishouEticketConsumeResult,
|
|
AdminKuaishouEticketDetailResult,
|
|
AdminKuaishouEticketShopInfoResult,
|
|
AdminKuaishouEticketSourceConfig,
|
|
AdminObservedProductItem,
|
|
} from '@/types/admin'
|
|
|
|
export function fetchAdminAgisoShopConfigs() {
|
|
return apiGet<{
|
|
filePath: string
|
|
defaults: AdminAgisoMessagingDefaults
|
|
shops: AdminAgisoShopConfigItem[]
|
|
observedShops: AdminAgisoObservedShopItem[]
|
|
}>('/api/v1/admin/platform-config/agiso-shops')
|
|
}
|
|
|
|
export function saveAdminAgisoShopConfigs(payload: {
|
|
defaults: AdminAgisoMessagingDefaults
|
|
shops: Array<Record<string, unknown>>
|
|
}) {
|
|
return apiPost<{
|
|
filePath: string
|
|
defaults: AdminAgisoMessagingDefaults
|
|
shops: AdminAgisoShopConfigItem[]
|
|
}>('/api/v1/admin/platform-config/agiso-shops', payload)
|
|
}
|
|
|
|
export function fetchAdminKhhaoSourceConfig() {
|
|
return apiGet<{
|
|
filePath: string
|
|
source: AdminKhhaoSourceConfig
|
|
stateFilePath: string
|
|
syncState: AdminKhhaoSyncState
|
|
}>('/api/v1/admin/platform-config/khhao-source')
|
|
}
|
|
|
|
export function saveAdminKhhaoSourceConfig(payload: AdminKhhaoSourceConfig) {
|
|
return apiPost<{
|
|
filePath: string
|
|
source: AdminKhhaoSourceConfig
|
|
stateFilePath: string
|
|
syncState: AdminKhhaoSyncState
|
|
}>('/api/v1/admin/platform-config/khhao-source', payload as unknown as Record<string, unknown>)
|
|
}
|
|
|
|
export function testAdminKhhaoLogin(payload: {
|
|
baseUrl?: string
|
|
username: string
|
|
password: string
|
|
maxCaptchaAttempts?: number
|
|
includeImageBase64?: boolean
|
|
}) {
|
|
return apiPost<AdminKhhaoLoginTestResult>('/api/v1/admin/platform-config/khhao/test-login', payload)
|
|
}
|
|
|
|
export function queryAdminKhhaoOrders(payload: {
|
|
baseUrl?: string
|
|
username: string
|
|
password: string
|
|
page?: number
|
|
limit?: number
|
|
maxCaptchaAttempts?: number
|
|
}) {
|
|
return apiPost<AdminKhhaoOrderQueryResult>('/api/v1/admin/platform-config/khhao/query-orders', payload)
|
|
}
|
|
|
|
export function syncAdminKhhaoOrders(payload: {
|
|
baseUrl?: string
|
|
username: string
|
|
password: string
|
|
page?: number
|
|
limit?: number
|
|
maxCaptchaAttempts?: number
|
|
}) {
|
|
return apiPost<AdminKhhaoOrderSyncResult>('/api/v1/admin/platform-config/khhao/sync-orders', payload)
|
|
}
|
|
|
|
export function fetchAdminNinetyoneOrders(params: {
|
|
page?: number
|
|
pageSize?: number
|
|
status?: string
|
|
} = {}) {
|
|
const searchParams = new URLSearchParams()
|
|
if (params.page) {
|
|
searchParams.set('page', String(params.page))
|
|
}
|
|
if (params.pageSize) {
|
|
searchParams.set('pageSize', String(params.pageSize))
|
|
}
|
|
if (params.status) {
|
|
searchParams.set('status', params.status)
|
|
}
|
|
const queryString = searchParams.toString()
|
|
return apiGet<AdminNinetyoneOrderListResult>(
|
|
`/api/v1/admin/platform-config/ninetyone/orders${queryString ? `?${queryString}` : ''}`,
|
|
)
|
|
}
|
|
|
|
export function retryAdminNinetyoneOrder(orderId: number | string) {
|
|
return apiPost<AdminNinetyoneOrderActionResult>(
|
|
`/api/v1/admin/platform-config/ninetyone/orders/${orderId}/retry`,
|
|
{},
|
|
)
|
|
}
|
|
|
|
export function failAdminNinetyoneOrder(orderId: number | string, payload: { reason?: string }) {
|
|
return apiPost<AdminNinetyoneOrderActionResult>(
|
|
`/api/v1/admin/platform-config/ninetyone/orders/${orderId}/fail`,
|
|
payload,
|
|
)
|
|
}
|
|
|
|
export function fetchAdminKuaishouEticketSourceConfig() {
|
|
return apiGet<{
|
|
filePath: string
|
|
source: AdminKuaishouEticketSourceConfig
|
|
}>('/api/v1/admin/platform-config/kuaishou-eticket-source')
|
|
}
|
|
|
|
export function saveAdminKuaishouEticketSourceConfig(payload: AdminKuaishouEticketSourceConfig) {
|
|
return apiPost<{
|
|
filePath: string
|
|
source: AdminKuaishouEticketSourceConfig
|
|
}>('/api/v1/admin/platform-config/kuaishou-eticket-source', payload as unknown as Record<string, unknown>)
|
|
}
|
|
|
|
export function queryAdminKuaishouEticketDetail(payload: {
|
|
baseUrl?: string
|
|
shopId?: string
|
|
cookie?: string
|
|
eTicketId: string
|
|
}) {
|
|
return apiPost<AdminKuaishouEticketDetailResult>('/api/v1/admin/platform-config/kuaishou-eticket/query-detail', payload)
|
|
}
|
|
|
|
export function queryAdminKuaishouEticketShopInfo(payload: {
|
|
baseUrl?: string
|
|
shopId?: string
|
|
cookie?: string
|
|
}) {
|
|
return apiPost<AdminKuaishouEticketShopInfoResult>('/api/v1/admin/platform-config/kuaishou-eticket/query-shop-info', payload)
|
|
}
|
|
|
|
export function consumeAdminKuaishouEticket(payload: {
|
|
baseUrl?: string
|
|
shopId?: string
|
|
cookie?: string
|
|
eTicketId: string
|
|
oid?: string
|
|
formToken?: string
|
|
num?: number
|
|
storeId?: string
|
|
}) {
|
|
return apiPost<AdminKuaishouEticketConsumeResult>('/api/v1/admin/platform-config/kuaishou-eticket/consume', payload)
|
|
}
|
|
|
|
export function fetchAdminCloudtentaclesSourceConfig() {
|
|
return apiGet<{
|
|
filePath: string
|
|
sessionFilePath: string
|
|
source: AdminCloudtentaclesSourceConfig
|
|
session: AdminCloudtentaclesPersistedSession
|
|
}>('/api/v1/admin/platform-config/cloudtentacles-source')
|
|
}
|
|
|
|
export function saveAdminCloudtentaclesSourceConfig(payload: AdminCloudtentaclesSourceConfig) {
|
|
return apiPost<{
|
|
filePath: string
|
|
sessionFilePath: string
|
|
source: AdminCloudtentaclesSourceConfig
|
|
session: AdminCloudtentaclesPersistedSession
|
|
}>('/api/v1/admin/platform-config/cloudtentacles-source', payload as unknown as Record<string, unknown>)
|
|
}
|
|
|
|
export function sendAdminCloudtentaclesSmsCode(payload: {
|
|
baseUrl?: string
|
|
username?: string
|
|
phone?: string
|
|
deviceId?: string
|
|
deviceType?: number
|
|
}) {
|
|
return apiPost<AdminCloudtentaclesSendSmsResult>('/api/v1/admin/platform-config/cloudtentacles/send-sms-code', payload)
|
|
}
|
|
|
|
export function testAdminCloudtentaclesLogin(payload: {
|
|
baseUrl?: string
|
|
username?: string
|
|
password?: string
|
|
phone?: string
|
|
code?: string
|
|
deviceId?: string
|
|
deviceType?: number
|
|
}) {
|
|
return apiPost<AdminCloudtentaclesLoginTestResult>('/api/v1/admin/platform-config/cloudtentacles/test-login', payload)
|
|
}
|
|
|
|
export function validateAdminCloudtentaclesSession(payload: {
|
|
baseUrl?: string
|
|
token?: string
|
|
deviceId?: string
|
|
deviceType?: number
|
|
}) {
|
|
return apiPost<AdminCloudtentaclesValidateSessionResult>('/api/v1/admin/platform-config/cloudtentacles/validate-session', payload)
|
|
}
|
|
|
|
export function fetchAdminCloudtentaclesAsset(payload: {
|
|
baseUrl?: string
|
|
token?: string
|
|
deviceId?: string
|
|
deviceType?: number
|
|
}) {
|
|
return apiPost<Record<string, unknown>>('/api/v1/admin/platform-config/cloudtentacles/asset', payload)
|
|
}
|
|
|
|
export function fetchAdminCloudtentaclesCategories(payload: {
|
|
baseUrl?: string
|
|
token?: string
|
|
deviceId?: string
|
|
deviceType?: number
|
|
}) {
|
|
return apiPost<Record<string, unknown>>('/api/v1/admin/platform-config/cloudtentacles/categories', payload)
|
|
}
|
|
|
|
export function fetchAdminCloudtentaclesSkuList(payload: {
|
|
baseUrl?: string
|
|
token?: string
|
|
deviceId?: string
|
|
deviceType?: number
|
|
}) {
|
|
return apiPost<AdminCloudtentaclesSkuListResult>('/api/v1/admin/platform-config/cloudtentacles/sku/list', payload)
|
|
}
|
|
|
|
export function buyAdminCloudtentaclesSku(payload: {
|
|
baseUrl?: string
|
|
token?: string
|
|
deviceId?: string
|
|
deviceType?: number
|
|
id?: number
|
|
count?: number
|
|
}) {
|
|
return apiPost<Record<string, unknown>>('/api/v1/admin/platform-config/cloudtentacles/sku/buy', payload)
|
|
}
|
|
|
|
export function useAdminCloudtentaclesSku(payload: {
|
|
baseUrl?: string
|
|
token?: string
|
|
deviceId?: string
|
|
deviceType?: number
|
|
id?: number
|
|
virtualNumberId?: number
|
|
phone?: string
|
|
}) {
|
|
return apiPost<Record<string, unknown>>('/api/v1/admin/platform-config/cloudtentacles/sku/use', payload)
|
|
}
|
|
|
|
export function fetchAdminCloudtentaclesKnapsack(payload: {
|
|
baseUrl?: string
|
|
token?: string
|
|
deviceId?: string
|
|
deviceType?: number
|
|
}) {
|
|
return apiPost<Record<string, unknown>>('/api/v1/admin/platform-config/cloudtentacles/knapsack', payload)
|
|
}
|
|
|
|
export function fetchAdminCloudtentaclesVnList(payload: {
|
|
baseUrl?: string
|
|
token?: string
|
|
deviceId?: string
|
|
deviceType?: number
|
|
key?: string
|
|
}) {
|
|
return apiPost<Record<string, unknown>>('/api/v1/admin/platform-config/cloudtentacles/vn/list', payload)
|
|
}
|
|
|
|
export function appointAdminCloudtentaclesVn(payload: {
|
|
baseUrl?: string
|
|
token?: string
|
|
deviceId?: string
|
|
deviceType?: number
|
|
key?: string
|
|
}) {
|
|
return apiPost<Record<string, unknown>>('/api/v1/admin/platform-config/cloudtentacles/vn/appoint', payload)
|
|
}
|
|
|
|
export function generateAdminCloudtentaclesVnLoginCode(payload: {
|
|
baseUrl?: string
|
|
token?: string
|
|
deviceId?: string
|
|
deviceType?: number
|
|
key?: string
|
|
id?: number
|
|
}) {
|
|
return apiPost<Record<string, unknown>>('/api/v1/admin/platform-config/cloudtentacles/vn/generate-login-code', payload)
|
|
}
|
|
|
|
export function fetchAdminCloudtentaclesVnCode(payload: {
|
|
baseUrl?: string
|
|
token?: string
|
|
deviceId?: string
|
|
deviceType?: number
|
|
key?: string
|
|
phone?: string
|
|
}) {
|
|
return apiPost<Record<string, unknown>>('/api/v1/admin/platform-config/cloudtentacles/vn/fetch-code', payload)
|
|
}
|
|
|
|
export function verifyAdminCloudtentaclesVnCode(payload: {
|
|
baseUrl?: string
|
|
token?: string
|
|
deviceId?: string
|
|
deviceType?: number
|
|
key?: string
|
|
id?: number
|
|
code?: string
|
|
}) {
|
|
return apiPost<Record<string, unknown>>('/api/v1/admin/platform-config/cloudtentacles/vn/verify-code', payload)
|
|
}
|
|
|
|
export function fetchAdminCloudtentaclesBindUrl(payload: {
|
|
baseUrl?: string
|
|
token?: string
|
|
deviceId?: string
|
|
deviceType?: number
|
|
key?: string
|
|
id?: number
|
|
}) {
|
|
return apiPost<Record<string, unknown>>('/api/v1/admin/platform-config/cloudtentacles/vn/bind-url', payload)
|
|
}
|
|
|
|
export function backAdminCloudtentaclesVn(payload: {
|
|
baseUrl?: string
|
|
token?: string
|
|
deviceId?: string
|
|
deviceType?: number
|
|
key?: string
|
|
id?: number
|
|
}) {
|
|
return apiPost<Record<string, unknown>>('/api/v1/admin/platform-config/cloudtentacles/vn/back', payload)
|
|
}
|
|
|
|
export function runAdminCloudtentaclesFullFlow(payload: {
|
|
baseUrl?: string
|
|
token?: string
|
|
deviceId?: string
|
|
deviceType?: number
|
|
skuId?: number
|
|
skuCount?: number
|
|
vnKey?: string
|
|
}) {
|
|
return apiPost<Record<string, unknown>>('/api/v1/admin/platform-config/cloudtentacles/debug/full-flow', payload)
|
|
}
|
|
|
|
export function fetchAdminFulfillmentBindingConfigs() {
|
|
return apiGet<{
|
|
filePath: string
|
|
bindings: AdminFulfillmentBindingConfigItem[]
|
|
observedProducts: AdminObservedProductItem[]
|
|
}>('/api/v1/admin/platform-config/fulfillment-bindings')
|
|
}
|
|
|
|
export function lookupAdminFulfillmentBindingOrder(payload: {
|
|
provider?: string
|
|
platform?: string
|
|
shopId: string
|
|
platformOrderId: string
|
|
}) {
|
|
return apiPost<AdminFulfillmentLookupResult>('/api/v1/admin/platform-config/fulfillment-bindings/lookup-order', payload)
|
|
}
|
|
|
|
export function saveAdminFulfillmentBindingConfigs(payload: { bindings: Array<Record<string, unknown>> }) {
|
|
return apiPost<{
|
|
filePath: string
|
|
bindings: AdminFulfillmentBindingConfigItem[]
|
|
}>('/api/v1/admin/platform-config/fulfillment-bindings', payload)
|
|
}
|
|
|
|
export function fetchAdminKuaishouCloudFulfillmentConfig() {
|
|
return apiGet<{
|
|
filePath: string
|
|
source: AdminKuaishouCloudFulfillmentConfig
|
|
}>('/api/v1/admin/platform-config/kuaishou-cloud-fulfillment')
|
|
}
|
|
|
|
export function saveAdminKuaishouCloudFulfillmentConfig(payload: AdminKuaishouCloudFulfillmentConfig) {
|
|
return apiPost<{
|
|
filePath: string
|
|
source: AdminKuaishouCloudFulfillmentConfig
|
|
}>('/api/v1/admin/platform-config/kuaishou-cloud-fulfillment', payload as unknown as Record<string, unknown>)
|
|
}
|