第一次上传

This commit is contained in:
xxk
2026-06-11 10:31:24 +08:00
commit cfef094568
1523 changed files with 210650 additions and 0 deletions
+685
View File
@@ -0,0 +1,685 @@
import { del, get, post, postForm, put } from '@/api/http'
export interface LoginPayload {
loginType?: string
account?: string
username?: string
mobile?: string
email?: string
password?: string
code?: string
}
export interface RegisterPayload {
registerType?: string
username?: string
password?: string
mobile?: string
email?: string
code?: string
nickname?: string
inviteCode?: string
}
export interface TokenPair {
accessToken: string
refreshToken?: string
expiresIn?: number
}
export interface CurrentMember {
userId?: number
id?: number
username?: string
nickname?: string
mobile?: string
email?: string
avatar?: string
inviteCode?: string
agentLevel?: number
commissionRate?: number
inviteCount?: number
verifyStatus?: number
}
export interface FileInfo {
name?: string
url?: string
}
export interface MemberVerifyFieldPolicy {
code?: string
label?: string
type?: 'TEXT' | 'IMAGE' | 'IMAGE_LIST' | string
enabled?: boolean
required?: boolean
readonly?: boolean
source?: string
maxCount?: number
sort?: number
placeholder?: string
}
export interface MemberVerifyPolicy {
enabled?: boolean
forceRequired?: boolean
forceScenes?: string[]
fields?: MemberVerifyFieldPolicy[]
}
export interface MemberVerifyCurrent {
memberUserId?: number
status?: number
verifyEnabled?: boolean
forceRequired?: boolean
forceScenes?: string[]
currentRecordId?: number
verifyNo?: string
mobile?: string
realName?: string
idCardNo?: string
idCardFrontUrl?: string
idCardBackUrl?: string
supportDocs?: string[]
submitRemark?: string
auditRemark?: string
submitTime?: string
auditTime?: string
verifiedTime?: string
policy?: MemberVerifyPolicy
}
export interface MemberVerifySubmitPayload {
realName?: string
idCardNo?: string
idCardFrontUrl?: string
idCardBackUrl?: string
supportDocs?: string[]
submitRemark?: string
}
export interface MemberAuthPublicConfig {
registerMethods?: string[]
loginMethods?: string[]
mobileVerificationEnabled?: boolean
emailVerificationEnabled?: boolean
}
export interface MemberSiteConfig {
siteName?: string
siteFaviconUrl?: string
siteLogoUrl?: string
customerServiceType?: 'QR_CODE' | 'URL'
customerServiceQrUrl?: string
customerServiceUrl?: string
homeFooterContent?: string
}
export interface CaptchaInfo {
captchaId?: string
captchaBase64?: string
}
export interface DurationOption {
durationDays?: number
durationUnit?: string
durationValue?: number
displayName?: string
multiplier?: number
}
export interface StaticRegion {
regionId?: number
regionCode?: string
regionName?: string
regionNameZh?: string
countryCode?: string
countryName?: string
basePrice?: number
iconUrl?: string
}
export interface QiYunNodeOption {
qiyunAreaId?: string
qiyunAreaName?: string
qiyunNodeId?: string
qiyunNodeName?: string
qiyunIsp?: string
basePrice?: number
priceType?: string
availableQuantity?: number
}
export interface StaticPackage {
productId?: number
productCode?: string
productName?: string
currency?: string
qiyunProductType?: string
upstreamProviderId?: number
qiyunProjectRequired?: boolean
defaultNodePrice?: number
durations?: DurationOption[]
regions?: StaticRegion[]
}
export interface PackageCatalog {
staticPackages?: StaticPackage[]
dynamicPackages?: unknown[]
durations?: unknown[]
}
export interface StaticPurchasePayload {
productId?: number
durationDays?: number
durationUnit?: string
durationValue?: number
purposeWeb?: string
qiyunPid?: string
qiyunProjectName?: string
qiyunAreaId?: string
qiyunAreaName?: string
qiyunNodeId?: string
qiyunNodeName?: string
qiyunIsp?: string
proxyAccountMode?: 'RANDOM' | 'CUSTOM'
proxyUsername?: string
proxyPassword?: string
proxyPortMode?: 'RANDOM' | 'CUSTOM'
proxyPort?: string
quantity?: number
items: Array<{
regionId?: number
qiyunAreaId?: string
qiyunAreaName?: string
qiyunNodeId?: string
qiyunNodeName?: string
qiyunIsp?: string
quantity?: number
}>
}
export interface OrderSubmit {
orderNo?: string
orderStatus?: string
payStatus?: string
openStatus?: string
saleAmount?: number
payAmount?: number
currency?: string
message?: string
}
export interface BatchOrderSubmit {
orderCount?: number
totalSaleAmount?: number
orders?: OrderSubmit[]
}
export interface PageResult<T> {
list: T[]
total: number
}
export interface WalletOverview {
balance?: number
frozenBalance?: number
totalRechargeAmount?: number
totalConsumeAmount?: number
totalRefundAmount?: number
}
export interface WalletFlow {
id?: number
flowNo?: string
userId?: number
memberUserId?: number
bizType?: string
changeType?: 'IN' | 'OUT' | string
changeAmount?: number
beforeBalance?: number
afterBalance?: number
relatedOrderNo?: string
remark?: string
operateBy?: number
createTime?: string
}
export interface WalletRechargePromotionRule {
rechargeAmount?: number
giftAmount?: number
}
export interface WalletRechargePromotionConfig {
enabled?: boolean
title?: string
minRechargeAmount?: number
quickAmounts?: number[]
rules?: WalletRechargePromotionRule[]
}
export interface WalletRechargePayload {
amount: number
paymentType: string
clientType?: string
returnUrl?: string
remark?: string
}
export interface WalletRechargeSubmit {
id?: number
rechargeNo?: string
payOrderNo?: string
payStatus?: string
paymentType?: string
paymentCompleted?: boolean
payAction?: string
payData?: string
payMessage?: string
gatewayOrderNo?: string
amount?: number
giftAmount?: number
creditedAmount?: number
promotionApplied?: boolean
promotionRuleDescription?: string
currency?: string
payableAmount?: number
payableCurrency?: string
exchangeRate?: number
exchangeRateFactor?: number
exchangeRateApplied?: number
exchangeRateSource?: string
}
export interface WalletRechargeOrder {
id?: number
rechargeNo?: string
payOrderNo?: string
memberUserId?: number
paymentType?: string
payStatus?: string
channelOrderNo?: string
clientType?: string
returnUrl?: string
amount?: number
giftAmount?: number
creditedAmount?: number
promotionRuleSnapshot?: string
currency?: string
paidTime?: string
remark?: string
createTime?: string
updateTime?: string
}
export interface DistributionAccount {
id?: number
userId?: number
memberUserId?: number
availableBalance?: number
frozenBalance?: number
totalEarnedAmount?: number
totalRevokedAmount?: number
totalTransferAmount?: number
totalWithdrawAmount?: number
withdrawThreshold?: number
withdrawFeeRate?: number
status?: number
createTime?: string
updateTime?: string
}
export interface DistributionCommission {
id?: number
orderNo?: string
levelNo?: number
rate?: number
baseAmount?: number
commissionAmount?: number
commissionStatus?: string
confirmTime?: string
invalidTime?: string
createTime?: string
remark?: string
}
export interface NoticeItem {
id?: number
title?: string
publishStatus?: number
type?: number
publisherName?: string
level?: string
publishTime?: string
isRead?: number
targetType?: number
createTime?: string
revokeTime?: string
}
export interface NoticeDetail extends NoticeItem {
content?: string
}
export interface OpenApiApplyCurrent {
id?: number
applyNo?: string
memberUserId?: number
status?: number
contactName?: string
contactMobile?: string
contactEmail?: string
companyName?: string
purpose?: string
scenarioDescription?: string
allowIpList?: string
submitRemark?: string
auditRemark?: string
submitTime?: string
auditTime?: string
openApiAppId?: number
}
export interface OpenApiApplyPayload {
contactName: string
contactMobile?: string
contactEmail?: string
companyName?: string
purpose: string
scenarioDescription: string
allowIpList?: string
submitRemark?: string
}
export interface OpenApiCredential {
id?: number
appId?: string
appName?: string
appSecret?: string
status?: number
allowIpList?: string
callbackUrl?: string
callbackSecret?: string
lastAuthTime?: string
lastAuthIp?: string
}
export interface OpenApiCallbackConfig {
openApiAppId?: number
callbackUrl?: string
callbackSecret?: string
}
export interface OpenApiAccount {
id?: number
openApiAppId?: number
memberUserId?: number
balance?: number
frozenBalance?: number
totalRechargeAmount?: number
totalConsumeAmount?: number
totalRefundAmount?: number
status?: number
createTime?: string
updateTime?: string
}
export interface OpenApiRechargePayload {
amount: number
paymentType: string
clientType?: string
returnUrl?: string
remark?: string
}
export interface OpenApiRechargeSubmit {
id?: number
rechargeNo?: string
payOrderNo?: string
payStatus?: string
paymentType?: string
paymentCompleted?: boolean
amount?: number
giftAmount?: number
creditedAmount?: number
currency?: string
payAction?: string
payData?: string
payMessage?: string
gatewayOrderNo?: string
payableAmount?: number
payableCurrency?: string
exchangeRate?: number
}
export interface OpenApiAccountFlow {
id?: number
flowNo?: string
bizType?: string
changeType?: string
changeAmount?: number
beforeBalance?: number
afterBalance?: number
relatedOrderNo?: string
remark?: string
createTime?: string
}
export interface OpenApiRechargeOrder {
id?: number
rechargeNo?: string
payOrderNo?: string
paymentType?: string
payStatus?: string
amount?: number
giftAmount?: number
creditedAmount?: number
currency?: string
paidTime?: string
remark?: string
createTime?: string
}
export interface OpenApiCallbackLog {
id?: number
orderNo?: string
callbackUrl?: string
eventType?: string
responseStatus?: number
deliveryStatus?: string
errorMessage?: string
attemptNo?: number
triggerTime?: string
finishTime?: string
createTime?: string
}
export const MemberAPI = {
authConfig() {
return get<MemberAuthPublicConfig>('/api/v1/member/auth/config')
},
siteConfig() {
return get<MemberSiteConfig>('/api/v1/member/site-config')
},
captcha(scene: 'LOGIN' | 'REGISTER') {
return get<CaptchaInfo>('/api/v1/member/auth/captcha', { params: { scene } })
},
sendMobileCode(params: {
mobile: string
scene: 'LOGIN' | 'REGISTER'
captchaId: string
captchaCode: string
}) {
return post<void>('/api/v1/member/auth/mobile/code', undefined, { params })
},
sendEmailCode(params: {
email: string
scene: 'LOGIN' | 'REGISTER'
captchaId: string
captchaCode: string
}) {
return post<void>('/api/v1/member/auth/email/code', undefined, { params })
},
login(data: LoginPayload) {
return post<TokenPair>('/api/v1/member/auth/login', data)
},
register(data: RegisterPayload) {
return post<TokenPair>('/api/v1/member/auth/register', data)
},
me() {
return get<CurrentMember>('/api/v1/member/auth/me')
},
logout() {
return del<void>('/api/v1/member/auth/logout')
},
publicCatalog() {
return get<PackageCatalog>('/api/v1/public/package-center/catalog')
},
memberCatalog() {
return get<PackageCatalog>('/api/v1/member/package-center/catalog')
},
qiyunProjects(productId: number) {
return get<Array<{ id?: string; value?: string; extra?: Record<string, unknown> }>>(
'/api/v1/member/package-center/qiyun/projects',
{ params: { productId } },
)
},
qiyunAreas(productId: number, pid?: string) {
return get<Array<{ id?: string; value?: string; extra?: Record<string, unknown> }>>(
'/api/v1/member/package-center/qiyun/areas',
{ params: { productId, pid } },
)
},
staticInventories(
productId: number,
params?: { purposeWeb?: string; qiyunPid?: string; qiyunAreaId?: string },
) {
return get<QiYunNodeOption[]>('/api/v1/member/package-center/static-inventory', {
params: { productId, ...params },
})
},
purchaseStaticPackage(data: StaticPurchasePayload) {
return post<BatchOrderSubmit>('/api/v1/member/package-center/static-orders', data)
},
payOrder(orderNo: string, data?: { paymentType?: string }) {
return post<OrderSubmit>(`/api/v1/member/orders/${orderNo}/pay`, data)
},
wallet() {
return get<WalletOverview>('/api/v1/member/wallet')
},
walletFlows(params?: Record<string, unknown>) {
return get<PageResult<WalletFlow>>('/api/v1/member/wallet/flows', {
params: params as Record<string, string | number | boolean | null | undefined>,
})
},
walletRechargePromotionConfig() {
return get<WalletRechargePromotionConfig>('/api/v1/member/wallet/recharges/promotion-config')
},
previewWalletRecharge(data: WalletRechargePayload) {
return post<WalletRechargeSubmit>('/api/v1/member/wallet/recharges/preview', data)
},
createWalletRecharge(data: WalletRechargePayload) {
return post<WalletRechargeSubmit>('/api/v1/member/wallet/recharges', data)
},
walletRechargeOrders(params?: Record<string, unknown>) {
return get<PageResult<WalletRechargeOrder>>('/api/v1/member/wallet/recharges', {
params: params as Record<string, string | number | boolean | null | undefined>,
})
},
walletRechargeDetail(rechargeNo: string) {
return get<WalletRechargeOrder>(`/api/v1/member/wallet/recharges/${rechargeNo}`)
},
retryWalletRechargePaymentStatus(rechargeNo: string) {
return post<WalletRechargeSubmit>(`/api/v1/member/wallet/recharges/${rechargeNo}/retry-payment-status`)
},
distributionAccount() {
return get<DistributionAccount>('/api/v1/member/distribution/account')
},
distributionCommissions(params?: Record<string, unknown>) {
return get<PageResult<DistributionCommission>>('/api/v1/member/distribution/commissions', {
params: params as Record<string, string | number | boolean | null | undefined>,
})
},
orders(params?: Record<string, unknown>) {
return get<PageResult<unknown>>('/api/v1/member/orders', {
params: params as Record<string, string | number | boolean | null | undefined>,
})
},
staticAssets(params?: Record<string, unknown>) {
return get<PageResult<unknown>>('/api/v1/member/static-assets', {
params: params as Record<string, string | number | boolean | null | undefined>,
})
},
dynamicChannels(params?: Record<string, unknown>) {
return get<PageResult<unknown>>('/api/v1/member/dynamic-channels', {
params: params as Record<string, string | number | boolean | null | undefined>,
})
},
verifyCurrent() {
return get<MemberVerifyCurrent>('/api/v1/member/verify/current')
},
verifyPolicy() {
return get<MemberVerifyPolicy>('/api/v1/member/verify/policy')
},
submitVerify(data: MemberVerifySubmitPayload) {
return post<void>('/api/v1/member/verify/submit', data)
},
uploadFile(file: File) {
const formData = new FormData()
formData.append('file', file)
return postForm<FileInfo>('/api/v1/files', formData)
},
openApiCurrent() {
return get<OpenApiApplyCurrent | null>('/api/v1/member/open-api/current')
},
openApiCredential() {
return get<OpenApiCredential | null>('/api/v1/member/open-api/credential')
},
submitOpenApiApply(data: OpenApiApplyPayload) {
return post<void>('/api/v1/member/open-api/submit', data)
},
openApiCallbackConfig() {
return get<OpenApiCallbackConfig>('/api/v1/member/open-api/callback-config')
},
updateOpenApiCallbackConfig(data: { callbackUrl?: string; callbackSecret?: string }) {
return put<OpenApiCallbackConfig>('/api/v1/member/open-api/callback-config', data)
},
openApiCallbackLogs(params?: Record<string, unknown>) {
return get<PageResult<OpenApiCallbackLog>>('/api/v1/member/open-api/callback-logs', {
params: params as Record<string, string | number | boolean | null | undefined>,
})
},
retryOpenApiCallback(id: number) {
return post<void>(`/api/v1/member/open-api/callback-logs/${id}/retry`)
},
openApiAccount() {
return get<OpenApiAccount>('/api/v1/member/open-api/account')
},
openApiAccountFlows(params?: Record<string, unknown>) {
return get<PageResult<OpenApiAccountFlow>>('/api/v1/member/open-api/account/flows', {
params: params as Record<string, string | number | boolean | null | undefined>,
})
},
previewOpenApiRecharge(data: OpenApiRechargePayload) {
return post<OpenApiRechargeSubmit>('/api/v1/member/open-api/account/recharges/preview', data)
},
createOpenApiRecharge(data: OpenApiRechargePayload) {
return post<OpenApiRechargeSubmit>('/api/v1/member/open-api/account/recharges', data)
},
openApiRechargeOrders(params?: Record<string, unknown>) {
return get<PageResult<OpenApiRechargeOrder>>('/api/v1/member/open-api/account/recharges', {
params: params as Record<string, string | number | boolean | null | undefined>,
})
},
updateProfile(data: unknown) {
return put<CurrentMember>('/api/v1/member/profile', data)
},
notices(params?: Record<string, unknown>) {
return get<PageResult<NoticeItem>>('/api/v1/member/notices', {
params: params as Record<string, string | number | boolean | null | undefined>,
})
},
noticeDetail(id: number) {
return get<NoticeDetail>(`/api/v1/member/notices/${id}/detail`)
},
}