2026-04-21 22:07:29 +08:00
|
|
|
import client from './client'
|
|
|
|
|
|
|
|
|
|
export interface TenantItem {
|
|
|
|
|
id: string
|
|
|
|
|
username: string
|
|
|
|
|
nickname: string
|
|
|
|
|
email: string
|
|
|
|
|
phone?: string
|
|
|
|
|
type: 'MAIN' | 'SUB'
|
|
|
|
|
status: 'ACTIVE' | 'DISABLED' | 'PENDING_EMAIL'
|
|
|
|
|
parentId?: string
|
|
|
|
|
createdAt: string
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface TenantPage {
|
|
|
|
|
content: TenantItem[]
|
|
|
|
|
total: number
|
|
|
|
|
totalPages: number
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface Statistics {
|
|
|
|
|
totalTenants: number
|
|
|
|
|
todayNew: number
|
|
|
|
|
activeApps: number
|
|
|
|
|
onlineUsers: number
|
|
|
|
|
}
|
|
|
|
|
|
2026-04-25 06:40:46 +08:00
|
|
|
export interface ServiceRequest {
|
|
|
|
|
id: string
|
|
|
|
|
appId: string
|
|
|
|
|
platform: string
|
|
|
|
|
serviceType: string
|
|
|
|
|
status: 'PENDING' | 'APPROVED' | 'REJECTED'
|
|
|
|
|
applyReason?: string
|
|
|
|
|
reviewNote?: string
|
|
|
|
|
createdAt: string
|
|
|
|
|
reviewedAt?: string
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface ServiceRequestPage {
|
|
|
|
|
content: ServiceRequest[]
|
|
|
|
|
total: number
|
|
|
|
|
totalPages: number
|
|
|
|
|
}
|
|
|
|
|
|
2026-04-21 22:07:29 +08:00
|
|
|
export const opsApi = {
|
|
|
|
|
listTenants: (keyword = '', page = 0, size = 20) =>
|
|
|
|
|
client.get<{ data: TenantPage }>('/ops/tenants', { params: { keyword, page, size } }),
|
|
|
|
|
|
|
|
|
|
toggleStatus: (id: string) =>
|
|
|
|
|
client.post(`/ops/tenants/${id}/toggle-status`),
|
|
|
|
|
|
|
|
|
|
statistics: () =>
|
|
|
|
|
client.get<{ data: Statistics }>('/ops/statistics'),
|
2026-04-25 06:40:46 +08:00
|
|
|
|
|
|
|
|
listServiceRequests: (status = '', page = 0, size = 20) =>
|
|
|
|
|
client.get<{ data: ServiceRequestPage }>('/ops/service-requests', { params: { status, page, size } }),
|
|
|
|
|
|
|
|
|
|
approveRequest: (requestId: string, reviewNote = '') =>
|
|
|
|
|
client.post<{ data: ServiceRequest }>(`/ops/service-requests/${requestId}/approve`, { reviewNote }),
|
|
|
|
|
|
|
|
|
|
rejectRequest: (requestId: string, reviewNote = '') =>
|
|
|
|
|
client.post<{ data: ServiceRequest }>(`/ops/service-requests/${requestId}/reject`, { reviewNote }),
|
2026-04-21 22:07:29 +08:00
|
|
|
}
|