feat: 完成后台联调与通用列表组件

This commit is contained in:
2026-08-01 12:17:33 +08:00
parent b53fe81999
commit 29dbae573f
50 changed files with 3394 additions and 580 deletions
+94 -1
View File
@@ -11,7 +11,8 @@ export interface PlatformPermissionResource {
routePath: string | null
httpMethod: string | null
sortNo: number
status: 'ACTIVE' | 'INACTIVE'
status: 'ACTIVE' | 'DISABLED' | 'INACTIVE'
builtIn?: boolean
}
export interface EnterpriseReview {
@@ -33,6 +34,35 @@ export interface EnterpriseReview {
[key: string]: unknown
}
export type PlatformTenantStatus = 'PENDING' | 'ACTIVE' | 'REJECTED' | 'INACTIVE' | string
export interface PlatformTenantResource {
id: number | string
tenantCode: string
tenantName: string
status: PlatformTenantStatus
legalName: string | null
unifiedSocialCreditCode: string | null
contactName: string | null
contactPhone: string | null
contactEmail: string | null
}
export interface PlatformTenantPage {
records: PlatformTenantResource[]
page: number
size: number
total: number
pages: number
}
export interface PlatformTenantQuery {
page: number
size: number
keyword?: string
status?: PlatformTenantStatus
}
export interface PlatformTenantQualification {
id: number | string
tenantId: number | string
@@ -76,12 +106,22 @@ export interface CreatePlatformPermissionRequest {
sortNo: number
}
export interface UpdatePlatformPermissionRequest {
name: string
parentId: number | string | null
routePath: string | null
httpMethod: string | null
sortNo: number
}
export interface PlatformInternalUser {
membershipId: number | string
userId: number | string
authUserId: number | string
username: string
displayName: string
phone: string | null
email: string | null
memberType: string
memberNo: string | null
status: 'ACTIVE' | 'DISABLED' | string
@@ -94,6 +134,16 @@ export interface CreatePlatformInternalUserRequest {
displayName: string
phone: string
email: string
memberNo?: string
roleIds?: Array<number | string>
}
export interface UpdatePlatformInternalUserRequest {
displayName: string
phone: string
email: string
memberNo: string
roleIds: Array<number | string>
}
async function getData<T>(path: string): Promise<T> {
@@ -128,6 +178,21 @@ export function listEnterpriseReviews() {
return getData<EnterpriseReview[]>('/platform/v1/iam/reviews')
}
export async function listPlatformTenants(query: PlatformTenantQuery) {
const response = await http.get<ApiEnvelope<PlatformTenantPage>, ApiEnvelope<PlatformTenantPage>>(
'/platform/v1/iam/tenants',
{
params: {
page: query.page,
size: query.size,
...(query.keyword ? { keyword: query.keyword } : {}),
...(query.status ? { status: query.status } : {}),
},
},
)
return unwrapApiResponse(response)
}
export function listTenantQualifications(tenantId: number | string) {
return getData<PlatformTenantQualification[]>(`/platform/v1/iam/tenants/${tenantId}/qualifications`)
}
@@ -183,6 +248,18 @@ export function createPlatformPermission(payload: CreatePlatformPermissionReques
return postData<PlatformPermissionResource>('/platform/v1/iam/permissions', payload)
}
export function updatePlatformPermission(permissionId: number | string, payload: UpdatePlatformPermissionRequest) {
return putData<PlatformPermissionResource>(`/platform/v1/iam/permissions/${permissionId}`, payload)
}
export function changePlatformPermissionStatus(permissionId: number | string, status: 'ACTIVE' | 'DISABLED') {
return putData<PlatformPermissionResource>(`/platform/v1/iam/permissions/${permissionId}/status`, { status })
}
export function deletePlatformPermission(permissionId: number | string) {
return deleteData<void>(`/platform/v1/iam/permissions/${permissionId}`)
}
export function listPlatformInternalUsers() {
return getData<PlatformInternalUser[]>('/platform/v1/iam/internal-users')
}
@@ -191,6 +268,22 @@ export function createPlatformInternalUser(payload: CreatePlatformInternalUserRe
return postData<PlatformInternalUser>('/platform/v1/iam/internal-users', payload)
}
export function updatePlatformInternalUser(membershipId: number | string, payload: UpdatePlatformInternalUserRequest) {
return putData<PlatformInternalUser>(`/platform/v1/iam/internal-users/${membershipId}`, payload)
}
export function changePlatformInternalUserStatus(membershipId: number | string, status: 'ACTIVE' | 'DISABLED') {
return putData<PlatformInternalUser>(`/platform/v1/iam/internal-users/${membershipId}/status`, { status })
}
export function resetPlatformInternalUserPassword(membershipId: number | string, newPassword: string) {
return putData<void>(`/platform/v1/iam/internal-users/${membershipId}/password`, { newPassword })
}
export function assignPlatformInternalUserRoles(membershipId: number | string, roleIds: Array<number | string>) {
return putData<PlatformInternalUser>(`/platform/v1/iam/internal-users/${membershipId}/roles`, { roleIds })
}
export function approveEnterpriseReview(reviewId: number, comment: string) {
return postData<unknown>(`/platform/v1/iam/reviews/${reviewId}/approve`, { comment })
}