第 3 阶段:租号发布与审核

This commit is contained in:
yml
2026-05-22 15:53:50 +08:00
parent b3205cf2a5
commit 9ac65ffad9
18 changed files with 1130 additions and 10 deletions
+77
View File
@@ -0,0 +1,77 @@
import { apiClient } from './client'
export interface Listing {
id: number
account_id: number
owner_id: number
title: string
description: string
game_name: string
server_region: string
login_platform: string
rank_level: string
haf_coin_amount: number
price_hourly: number
price_daily: number
price_weekly: number
deposit_amount: number
min_rent_hours: number
max_rent_hours: number
status: string
review_status: string
review_reason: string
published_at?: string
created_at: string
updated_at: string
}
export interface ListingPayload {
title: string
description: string
server_region: string
login_platform: string
rank_level: string
haf_coin_amount: number
price_hourly: number
price_daily: number
price_weekly: number
deposit_amount: number
min_rent_hours: number
max_rent_hours: number
}
interface ApiResponse<T> {
code: string
message: string
data: T
}
export async function fetchListings() {
const { data } = await apiClient.get<ApiResponse<{ items: Listing[] }>>('/listings')
return data.data.items
}
export async function fetchListing(id: string | number) {
const { data } = await apiClient.get<ApiResponse<Listing>>(`/listings/${id}`)
return data.data
}
export async function fetchSellerListings() {
const { data } = await apiClient.get<ApiResponse<{ items: Listing[] }>>('/seller/listings')
return data.data.items
}
export async function createListing(payload: ListingPayload) {
const { data } = await apiClient.post<ApiResponse<Listing>>('/listings', payload)
return data.data
}
export async function submitListingReview(id: number) {
const { data } = await apiClient.post<ApiResponse<Listing>>(`/listings/${id}/submit-review`)
return data.data
}
export async function offlineListing(id: number) {
const { data } = await apiClient.delete<ApiResponse<{ offline: boolean }>>(`/listings/${id}`)
return data.data
}