Files
web/src/actions/resource.ts

72 lines
1.6 KiB
TypeScript
Raw Normal View History

'use server'
import {callByUser} from '@/actions/base'
import {Resource} from '@/lib/models'
2025-04-09 17:17:39 +08:00
import {PageRecord} from '@/lib/api'
async function listResourcePss(props: {
page: number
size: number
resource_no?: string
2025-04-09 17:17:39 +08:00
type?: number
create_after?: Date
create_before?: Date
expire_after?: Date
expire_before?: Date
}) {
return await callByUser<PageRecord<Resource>>('/api/resource/list/short', props)
2025-04-09 17:17:39 +08:00
}
async function allResource(){
return callByUser<Resource[]>('/api/resource/all')
}
type CreateResourceReq = {
type: number
live: number
quota: number
expire: number
daily_limit: number
}
type CreateResourceResp = {
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 {
2025-04-09 17:17:39 +08:00
listResourcePss,
allResource,
prepareResourceByAlipay,
prepareResourceByWechat,
createResourceByBalance,
createResourceByAlipay,
createResourceByWechat,
type CreateResourceReq,
type CreateResourceResp,
}