feat(chat): 新增主站二维码池管理页
This commit is contained in:
@@ -115,6 +115,11 @@ import type {
|
||||
AdminChatMessage,
|
||||
AdminChatMessagePage,
|
||||
AdminChatPage,
|
||||
AdminQrCode,
|
||||
AdminQrCodePage,
|
||||
AdminQrCodePayload,
|
||||
AdminQrCodeStats,
|
||||
AdminQrCodeUpdatePayload,
|
||||
ManualDisbursementPayload,
|
||||
OperatingExpensePage,
|
||||
OperatingExpensePayload,
|
||||
@@ -1640,5 +1645,64 @@ export async function fetchAdminChatSupportAdmins() {
|
||||
return data.data ?? []
|
||||
}
|
||||
|
||||
export async function fetchAdminQrCodes(query: {
|
||||
status?: string
|
||||
keyword?: string
|
||||
wecom_renamed?: string
|
||||
bound?: string
|
||||
expire_status?: string
|
||||
page?: number
|
||||
limit?: number
|
||||
}) {
|
||||
const { data } = await adminClient.get<{ data: Partial<AdminQrCodePage> }>(
|
||||
'/admin/chats/qrcodes',
|
||||
{ params: compactParams(query) }
|
||||
)
|
||||
return {
|
||||
items: data.data.items ?? [],
|
||||
total: data.data.total ?? 0,
|
||||
page: data.data.page ?? query.page ?? 1,
|
||||
page_size: data.data.page_size ?? query.limit ?? 20,
|
||||
}
|
||||
}
|
||||
|
||||
export async function fetchAdminQrCodeStats() {
|
||||
const { data } = await adminClient.get<{ data: AdminQrCodeStats }>('/admin/chats/qrcodes/stats')
|
||||
return data.data
|
||||
}
|
||||
|
||||
export async function createAdminQrCode(payload: AdminQrCodePayload) {
|
||||
const { data } = await adminClient.post<{ data: AdminQrCode }>('/admin/chats/qrcodes', payload)
|
||||
return data.data
|
||||
}
|
||||
|
||||
export async function batchCreateAdminQrCodes(items: AdminQrCodePayload[]) {
|
||||
const { data } = await adminClient.post<{ data: AdminQrCode[] }>(
|
||||
'/admin/chats/qrcodes/batch',
|
||||
{ items }
|
||||
)
|
||||
return data.data ?? []
|
||||
}
|
||||
|
||||
export async function batchDeleteAdminQrCodes(ids: number[]) {
|
||||
const { data } = await adminClient.post<{ data: { deleted: number } }>(
|
||||
'/admin/chats/qrcodes/batch-delete',
|
||||
{ ids }
|
||||
)
|
||||
return data.data.deleted ?? 0
|
||||
}
|
||||
|
||||
export async function updateAdminQrCode(id: number, payload: AdminQrCodeUpdatePayload) {
|
||||
const { data } = await adminClient.patch<{ data: AdminQrCode }>(
|
||||
`/admin/chats/qrcodes/${id}`,
|
||||
payload
|
||||
)
|
||||
return data.data
|
||||
}
|
||||
|
||||
export async function deleteAdminQrCode(id: number) {
|
||||
await adminClient.delete(`/admin/chats/qrcodes/${id}`)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user