Files
jiapuapp/services/api/vip-service.js
T

51 lines
1.4 KiB
JavaScript

import { hasRemoteConfig } from '@/utils/runtime-config.js'
import {
normalizeVipCapability,
normalizeVipOrders,
normalizeVipPackages
} from './vip-contract.js'
import {
createRequestError,
requestStrict
} from './request-client.js'
const requireRemoteVip = (label) => {
if (hasRemoteConfig()) return
throw createRequestError(`${label}读取需要真实服务,当前本地预览不会伪造结果`, 'REMOTE_READ_REQUIRED')
}
export const vipApi = {
async getVipCapability(requestOptions = {}) {
requireRemoteVip('VIP 购买能力')
const capability = await requestStrict({
url: '/genealogy/app/vip/capability',
method: 'GET'
}, {
requestController: requestOptions.requestController ?? null
})
return normalizeVipCapability(capability)
},
async getVipPackages(requestOptions = {}) {
requireRemoteVip('VIP 套餐')
const packages = await requestStrict({
url: '/genealogy/app/vip/packages',
method: 'GET'
}, {
requestController: requestOptions.requestController ?? null
})
return normalizeVipPackages(packages)
},
async getVipOrders(requestOptions = {}) {
requireRemoteVip('VIP 订单')
const orders = await requestStrict({
url: '/genealogy/app/vip/orders',
method: 'GET'
}, {
requestController: requestOptions.requestController ?? null
})
return normalizeVipOrders(orders)
}
}