增加前端格式检查配置

This commit is contained in:
yml2213
2026-06-08 06:40:33 +08:00
parent 79ea3a476c
commit 500f511185
150 changed files with 7254 additions and 4013 deletions
+41 -12
View File
@@ -91,19 +91,28 @@ export async function fetchListings(query: PublicListingQuery = {}) {
export async function fetchListingsPage(query: PublicListingQuery = {}) {
const params = Object.fromEntries(
Object.entries(query).filter(([, value]) => value !== '' && value !== undefined && value !== null)
Object.entries(query).filter(
([, value]) => value !== '' && value !== undefined && value !== null
)
)
const { data } = await apiClient.get<ApiResponse<Partial<PublicListingPage>>>('/listings', { params })
const { data } = await apiClient.get<ApiResponse<Partial<PublicListingPage>>>('/listings', {
params,
})
return normalizePublicListingPage(data.data, query)
}
function normalizePublicListingPage(data: Partial<PublicListingPage>, query: PublicListingQuery): PublicListingPage {
function normalizePublicListingPage(
data: Partial<PublicListingPage>,
query: PublicListingQuery
): PublicListingPage {
const items = Array.isArray(data.items) ? data.items : []
return {
items,
total: Number.isFinite(Number(data.total)) ? Number(data.total) : items.length,
page: Number.isFinite(Number(data.page)) ? Number(data.page) : Number(query.page || 1),
page_size: Number.isFinite(Number(data.page_size)) ? Number(data.page_size) : Number(query.page_size || items.length || 20),
page_size: Number.isFinite(Number(data.page_size))
? Number(data.page_size)
: Number(query.page_size || items.length || 20),
zone_counts: data.zone_counts && typeof data.zone_counts === 'object' ? data.zone_counts : {},
}
}
@@ -155,18 +164,25 @@ export interface AdminListingPage {
}
export async function fetchAdminListings(query: AdminListingQuery = {}) {
const params = Object.fromEntries(Object.entries(query).filter(([, value]) => value !== '' && value !== undefined))
const params = Object.fromEntries(
Object.entries(query).filter(([, value]) => value !== '' && value !== undefined)
)
const { data } = await apiClient.get<ApiResponse<AdminListingPage>>('/admin/listings', { params })
return normalizeAdminListingPage(data.data, query)
}
function normalizeAdminListingPage(data: Partial<AdminListingPage>, query: AdminListingQuery): AdminListingPage {
function normalizeAdminListingPage(
data: Partial<AdminListingPage>,
query: AdminListingQuery
): AdminListingPage {
const items = Array.isArray(data.items) ? data.items : []
return {
items,
total: Number.isFinite(Number(data.total)) ? Number(data.total) : items.length,
page: Number.isFinite(Number(data.page)) ? Number(data.page) : Number(query.page || 1),
page_size: Number.isFinite(Number(data.page_size)) ? Number(data.page_size) : Number(query.page_size || items.length || 10),
page_size: Number.isFinite(Number(data.page_size))
? Number(data.page_size)
: Number(query.page_size || items.length || 10),
}
}
@@ -176,12 +192,17 @@ export async function fetchAdminListing(id: string | number) {
}
export async function adminOfflineListing(id: number, reason: string) {
const { data } = await apiClient.post<ApiResponse<Listing>>(`/admin/listings/${id}/offline`, { reason })
const { data } = await apiClient.post<ApiResponse<Listing>>(`/admin/listings/${id}/offline`, {
reason,
})
return data.data
}
export async function adminMarkListingAbnormal(id: number, reason: string) {
const { data } = await apiClient.post<ApiResponse<Listing>>(`/admin/listings/${id}/mark-abnormal`, { reason })
const { data } = await apiClient.post<ApiResponse<Listing>>(
`/admin/listings/${id}/mark-abnormal`,
{ reason }
)
return data.data
}
@@ -196,12 +217,20 @@ export interface AdminListingPriceAdjustPayload {
reason?: string
}
export async function adjustListingReviewPrice(id: number, payload: AdminListingPriceAdjustPayload) {
const { data } = await apiClient.post<ApiResponse<Listing>>(`/admin/listings/${id}/adjust-price`, payload)
export async function adjustListingReviewPrice(
id: number,
payload: AdminListingPriceAdjustPayload
) {
const { data } = await apiClient.post<ApiResponse<Listing>>(
`/admin/listings/${id}/adjust-price`,
payload
)
return data.data
}
export async function rejectListing(id: number, reason: string) {
const { data } = await apiClient.post<ApiResponse<Listing>>(`/admin/listings/${id}/reject`, { reason })
const { data } = await apiClient.post<ApiResponse<Listing>>(`/admin/listings/${id}/reject`, {
reason,
})
return data.data
}