重构项目结构,将数据层集中在 lib 包中;resource 类型更新,支持多个子套餐类型分别表示;新增长效套餐的购买流程,以及已购查询功能
This commit is contained in:
@@ -2,9 +2,9 @@
|
||||
|
||||
import {callByUser} from '@/actions/base'
|
||||
import {Resource} from '@/lib/models'
|
||||
import {PageRecord} from '@/lib/api'
|
||||
import {ExtraReq, PageRecord} from '@/lib/api'
|
||||
|
||||
async function listResourcePss(props: {
|
||||
export async function listResourceShort(props: {
|
||||
page: number
|
||||
size: number
|
||||
resource_no?: string
|
||||
@@ -14,58 +14,72 @@ async function listResourcePss(props: {
|
||||
expire_after?: Date
|
||||
expire_before?: Date
|
||||
}) {
|
||||
return await callByUser<PageRecord<Resource>>('/api/resource/list/short', props)
|
||||
return await callByUser<PageRecord<Resource<1>>>('/api/resource/list/short', props)
|
||||
}
|
||||
|
||||
async function allResource(){
|
||||
return callByUser<Resource[]>('/api/resource/all')
|
||||
export async function listResourceLong(props: {
|
||||
page: number
|
||||
size: number
|
||||
resource_no?: string
|
||||
type?: number
|
||||
create_after?: Date
|
||||
create_before?: Date
|
||||
expire_after?: Date
|
||||
expire_before?: Date
|
||||
}) {
|
||||
return await callByUser<PageRecord<Resource<2>>>('/api/resource/list/long', props)
|
||||
}
|
||||
|
||||
type CreateResourceReq = {
|
||||
export async function allResource() {
|
||||
return callByUser<Resource<1 | 2>[]>('/api/resource/all')
|
||||
}
|
||||
|
||||
export async function createResource(props: {
|
||||
type: number
|
||||
live: number
|
||||
quota: number
|
||||
expire: number
|
||||
daily_limit: number
|
||||
short?: {
|
||||
live: number
|
||||
mode: number
|
||||
quota: number
|
||||
expire: number
|
||||
daily_limit: number
|
||||
}
|
||||
long?: {
|
||||
live: number
|
||||
mode: number
|
||||
quota: number
|
||||
expire: number
|
||||
daily_limit: number
|
||||
}
|
||||
}) {
|
||||
return await callByUser('/api/resource/create', props)
|
||||
}
|
||||
|
||||
type CreateResourceResp = {
|
||||
export async function prepareResource(props: {
|
||||
method: number
|
||||
type: number
|
||||
short?: {
|
||||
live: number
|
||||
mode: number
|
||||
quota: number
|
||||
expire: number
|
||||
daily_limit: number
|
||||
}
|
||||
long?: {
|
||||
live: number
|
||||
mode: number
|
||||
quota: number
|
||||
expire: number
|
||||
daily_limit: number
|
||||
}
|
||||
}) {
|
||||
return await callByUser<{
|
||||
trade_no: string
|
||||
pay_url: string
|
||||
}>('/api/resource/create/prepare', props)
|
||||
}
|
||||
|
||||
export async function completeResource(props: {
|
||||
trade_no: string
|
||||
pay_url: string
|
||||
}
|
||||
|
||||
async function createResourceByBalance(props: CreateResourceReq) {
|
||||
return await callByUser('/api/resource/create/balance', props)
|
||||
}
|
||||
|
||||
async function prepareResourceByAlipay(props: CreateResourceReq) {
|
||||
return await callByUser<CreateResourceResp>('/api/resource/prepare/alipay', props)
|
||||
}
|
||||
|
||||
async function prepareResourceByWechat(props: CreateResourceReq) {
|
||||
return await callByUser<CreateResourceResp>('/api/resource/prepare/wechat', props)
|
||||
}
|
||||
|
||||
type PaidResourceReq = {
|
||||
trade_no: string
|
||||
}
|
||||
|
||||
async function createResourceByAlipay(props: PaidResourceReq) {
|
||||
return await callByUser('/api/resource/create/alipay', props)
|
||||
}
|
||||
|
||||
async function createResourceByWechat(props: PaidResourceReq) {
|
||||
return await callByUser('/api/resource/create/wechat', props)
|
||||
}
|
||||
|
||||
export {
|
||||
listResourcePss,
|
||||
allResource,
|
||||
prepareResourceByAlipay,
|
||||
prepareResourceByWechat,
|
||||
createResourceByBalance,
|
||||
createResourceByAlipay,
|
||||
createResourceByWechat,
|
||||
type CreateResourceReq,
|
||||
type CreateResourceResp,
|
||||
}) {
|
||||
return await callByUser('/api/resource/create/complete', props)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user