feat(web): 支付记录双 Tab 与平台选用弹层
订阅/充值分形态表单(秒级时间、金额非负、额度换算预览); 选用弹层已登记灰显、每次打开重拉、关弹窗清密码。
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
import type { TopupItem } from "@new-api-key-usage/core";
|
||||
import { adminHttp } from "../http.ts";
|
||||
|
||||
export type TopupBody = {
|
||||
upstream_id?: number | null;
|
||||
amount: number;
|
||||
money: number;
|
||||
trade_no?: string | null;
|
||||
payment_method?: string | null;
|
||||
payment_provider?: string | null;
|
||||
status?: string | null;
|
||||
paid_at: string;
|
||||
remark?: string;
|
||||
};
|
||||
|
||||
export async function fetchTopups(): Promise<TopupItem[]> {
|
||||
const { data } = await adminHttp.get<TopupItem[]>("/topups");
|
||||
return data;
|
||||
}
|
||||
|
||||
export async function createTopup(body: TopupBody): Promise<TopupItem> {
|
||||
const { data } = await adminHttp.post<TopupItem>("/topups", body);
|
||||
return data;
|
||||
}
|
||||
|
||||
export async function updateTopup(
|
||||
id: number,
|
||||
body: TopupBody,
|
||||
): Promise<TopupItem> {
|
||||
const { data } = await adminHttp.put<TopupItem>(`/topups/${id}`, body);
|
||||
return data;
|
||||
}
|
||||
|
||||
export async function deleteTopup(id: number): Promise<void> {
|
||||
await adminHttp.delete(`/topups/${id}`);
|
||||
}
|
||||
Reference in New Issue
Block a user