feat(api): Add CheckoutOrder request and response types, and update user purchase request parameters

This commit is contained in:
web@ppanel
2025-03-14 13:34:36 +07:00
parent d10ecc9fdf
commit dddc21c686
12 changed files with 95 additions and 40 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
// @ts-ignore
// API 更新时间:
// API 唯一标识:
import * as ads from './ads';
+16
View File
@@ -116,6 +116,17 @@ declare namespace API {
ids: number[];
};
type CheckoutOrderRequest = {
orderNo: string;
returnUrl?: string;
};
type CheckoutOrderResponse = {
type: string;
checkout_url?: string;
stripe?: StripePayment;
};
type CloseOrderRequest = {
orderNo: string;
};
@@ -1097,6 +1108,11 @@ declare namespace API {
total: number;
};
type QueryUserAffiliateListRequest = {
page: number;
size: number;
};
type QueryUserAffiliateListResponse = {
list: UserAffiliate[];
total: number;
+1 -1
View File
@@ -1,5 +1,5 @@
// @ts-ignore
// API 更新时间:
// API 唯一标识:
import * as auth from './auth';
+16
View File
@@ -94,6 +94,17 @@ declare namespace API {
enabled: boolean;
};
type CheckoutOrderRequest = {
orderNo: string;
returnUrl?: string;
};
type CheckoutOrderResponse = {
type: string;
checkout_url?: string;
stripe?: StripePayment;
};
type CheckUserParams = {
email: string;
};
@@ -496,6 +507,11 @@ declare namespace API {
total: number;
};
type QueryUserAffiliateListRequest = {
page: number;
size: number;
};
type QueryUserAffiliateListResponse = {
list: UserAffiliate[];
total: number;
+9 -6
View File
@@ -27,7 +27,7 @@ export default function Content({ subscription }: { subscription?: API.Subscribe
subscribe_id: 0,
payment: -1,
coupon: '',
platform: 'email',
auth_type: 'email',
identifier: '',
password: '',
});
@@ -70,12 +70,15 @@ export default function Content({ subscription }: { subscription?: API.Subscribe
startTransition(async () => {
try {
const { data } = await purchase(params);
console.log(data);
const { order_no, check_url, type } = data.data!;
const { order_no } = data.data!;
if (order_no) {
if (type === 'link') {
window.location.href = check_url!;
}
localStorage.setItem(
order_no,
JSON.stringify({
auth_type: params.auth_type,
identifier: params.identifier,
}),
);
router.push(`/purchasing/order?order_no=${order_no}`);
}
} catch (error) {
@@ -37,7 +37,10 @@ export default function Page() {
enabled: enabled,
queryKey: ['queryPurchaseOrder', orderNo],
queryFn: async () => {
const { data } = await queryPurchaseOrder({ order_no: orderNo! });
if (!orderNo) return;
const params = localStorage.getItem(orderNo);
const authParams = params ? JSON.parse(params) : {};
const { data } = await queryPurchaseOrder({ order_no: orderNo!, ...authParams });
if (data?.data?.status !== 1) {
setEnabled(false);
if (data?.data?.token) {
@@ -22,10 +22,11 @@ const PaymentMethods: React.FC<PaymentMethodsProps> = ({ value, onChange, balanc
queryKey: ['getAvailablePaymentMethods', { balance }],
queryFn: async () => {
const { data } = await getAvailablePaymentMethods();
const methods = data.data?.list || [];
if (!value && methods[0]?.id) onChange(methods[0]?.id);
if (balance) return methods;
return methods.filter((item) => item.id !== -1);
const list = data.data?.list || [];
const methods = balance ? list : list.filter((item) => item.id !== -1);
const defaultMethod = methods.find((item) => item.id)?.id;
if (defaultMethod) onChange(defaultMethod);
return methods;
},
});
return (
+1 -1
View File
@@ -1,5 +1,5 @@
// @ts-ignore
// API 更新时间:
// API 唯一标识:
import * as auth from './auth';
+16
View File
@@ -94,6 +94,17 @@ declare namespace API {
enabled: boolean;
};
type CheckoutOrderRequest = {
orderNo: string;
returnUrl?: string;
};
type CheckoutOrderResponse = {
type: string;
checkout_url?: string;
stripe?: StripePayment;
};
type CheckUserParams = {
email: string;
};
@@ -496,6 +507,11 @@ declare namespace API {
total: number;
};
type QueryUserAffiliateListRequest = {
page: number;
size: number;
};
type QueryUserAffiliateListResponse = {
list: UserAffiliate[];
total: number;
+1 -1
View File
@@ -1,5 +1,5 @@
// @ts-ignore
// API 更新时间:
// API 唯一标识:
import * as announcement from './announcement';
+5 -1
View File
@@ -438,8 +438,8 @@ declare namespace API {
};
type PortalPurchaseRequest = {
auth_type: string;
identifier: string;
platform: string;
password?: string;
payment: number;
subscribe_id: number;
@@ -572,10 +572,14 @@ declare namespace API {
};
type QueryPurchaseOrderParams = {
auth_type: string;
identifier: string;
order_no: string;
};
type QueryPurchaseOrderRequest = {
auth_type: string;
identifier: string;
order_no: string;
};