修复bug
This commit is contained in:
@@ -26,6 +26,10 @@ test('supports tenant profile updates and authenticated qualification downloads'
|
||||
assert.match(source, /apiBlobRequest\(\{ method: 'GET', url \}\)/)
|
||||
assert.match(source, /url\.startsWith\('\/merchant\/v1\/files\/qualifications\/'\)/)
|
||||
assert.match(storeSource, /await updateTenantProfile/)
|
||||
assert.match(source, /url: '\/merchant\/v1\/iam\/tenant\/qualifications\/submit-review'/)
|
||||
assert.match(source, /data\.append\('qualificationType', qualificationType\)/)
|
||||
assert.match(source, /'SUPERSEDED'/)
|
||||
assert.match(storeSource, /normalizeQualificationStatus\(item\.status\)/)
|
||||
})
|
||||
|
||||
test('uses membershipId and full replacement arrays in authorization writes', () => {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { apiBlobRequest, apiRequest } from '@/api/http'
|
||||
import type { MerchantTenantStatus } from '../contracts'
|
||||
export type QualificationStatus = 'PENDING' | 'APPROVED' | 'REJECTED'
|
||||
export type QualificationStatus = 'PENDING' | 'APPROVED' | 'REJECTED' | 'SUPERSEDED'
|
||||
export type MerchantQualificationType = 'BUSINESS_LICENSE' | 'LEGAL_PERSON_ID' | 'FREIGHT_FORWARDER_CERTIFICATE' | 'BANK_ACCOUNT_LICENSE'
|
||||
|
||||
export interface MerchantTenantProfile {
|
||||
id: number | string
|
||||
@@ -25,7 +26,7 @@ export interface UpdateMerchantTenantProfileRequest {
|
||||
export interface MerchantQualification {
|
||||
id: number | string
|
||||
tenantId: number | string
|
||||
qualificationType: 'BUSINESS_LICENSE'
|
||||
qualificationType: MerchantQualificationType
|
||||
certificateNo: string | null
|
||||
documentUrl: string
|
||||
status: QualificationStatus
|
||||
@@ -48,8 +49,8 @@ export interface MerchantPermissionResource {
|
||||
|
||||
export interface QualificationUploadResult {
|
||||
qualificationId: number | string
|
||||
reviewId: number | string
|
||||
tenantStatus: 'PENDING'
|
||||
reviewId: number | string | null
|
||||
tenantStatus: MerchantTenantStatus
|
||||
documentUrl: string
|
||||
}
|
||||
|
||||
@@ -142,13 +143,24 @@ export function updateMerchantPersonalProfile(payload: Pick<MerchantPersonalProf
|
||||
return apiRequest<MerchantPersonalProfile>({ method: 'PUT', url: '/merchant/v1/iam/profile', data: payload })
|
||||
}
|
||||
|
||||
export function uploadBusinessLicense(file: File, certificateNo?: string) {
|
||||
export function uploadMerchantQualification(
|
||||
file: File,
|
||||
qualificationType: MerchantQualificationType,
|
||||
certificateNo?: string,
|
||||
replace = false,
|
||||
) {
|
||||
const data = new FormData()
|
||||
data.append('file', file)
|
||||
data.append('qualificationType', qualificationType)
|
||||
if (certificateNo) data.append('certificateNo', certificateNo)
|
||||
data.append('replace', String(replace))
|
||||
return apiRequest<QualificationUploadResult>({ method: 'POST', url: '/merchant/v1/files/qualifications', data })
|
||||
}
|
||||
|
||||
export function submitTenantQualificationReview() {
|
||||
return apiRequest<MerchantTenantProfile>({ method: 'POST', url: '/merchant/v1/iam/tenant/qualifications/submit-review' })
|
||||
}
|
||||
|
||||
export function downloadQualificationImage(documentUrl: string) {
|
||||
const url = documentUrl.startsWith('/api/') ? documentUrl.slice(4) : documentUrl
|
||||
if (!url.startsWith('/merchant/v1/files/qualifications/')) throw new Error('资质文件地址无效')
|
||||
|
||||
Reference in New Issue
Block a user