diff --git a/CHANGELOG.md b/CHANGELOG.md
index c8be978..97dac0d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,48 +1,44 @@
+
# Changelog
# [1.0.0-beta.28](https://github.com/perfect-panel/ppanel-web/compare/v1.0.0-beta.27...v1.0.0-beta.28) (2025-03-13)
-
### ✨ Features
-* **input**: Add minimum value constraint and enhance number handling in EnhancedInput ([94822d9](https://github.com/perfect-panel/ppanel-web/commit/94822d9))
+- **input**: Add minimum value constraint and enhance number handling in EnhancedInput ([94822d9](https://github.com/perfect-panel/ppanel-web/commit/94822d9))
# [1.0.0-beta.27](https://github.com/perfect-panel/ppanel-web/compare/v1.0.0-beta.26...v1.0.0-beta.27) (2025-03-13)
-
### ♻ Code Refactoring
-* **payment**: Reconstruct the payment page ([7109472](https://github.com/perfect-panel/ppanel-web/commit/7109472))
-* Enhance user navigation dropdown ui and styling ([d2732e6](https://github.com/perfect-panel/ppanel-web/commit/d2732e6))
-
+- **payment**: Reconstruct the payment page ([7109472](https://github.com/perfect-panel/ppanel-web/commit/7109472))
+- Enhance user navigation dropdown ui and styling ([d2732e6](https://github.com/perfect-panel/ppanel-web/commit/d2732e6))
### ✨ Features
-* **cdn**: Add CDN URL configuration and update related references ([0c90733](https://github.com/perfect-panel/ppanel-web/commit/0c90733))
-* **payment**: Add bank card payment ([7fa3a57](https://github.com/perfect-panel/ppanel-web/commit/7fa3a57))
-* **subscription**: Improve layout and organization of subscription detail tabs ([e4630f8](https://github.com/perfect-panel/ppanel-web/commit/e4630f8))
-* **subscription**: Refactor subscription handling and update imports for better organization ([2215c7f](https://github.com/perfect-panel/ppanel-web/commit/2215c7f))
-
+- **cdn**: Add CDN URL configuration and update related references ([0c90733](https://github.com/perfect-panel/ppanel-web/commit/0c90733))
+- **payment**: Add bank card payment ([7fa3a57](https://github.com/perfect-panel/ppanel-web/commit/7fa3a57))
+- **subscription**: Improve layout and organization of subscription detail tabs ([e4630f8](https://github.com/perfect-panel/ppanel-web/commit/e4630f8))
+- **subscription**: Refactor subscription handling and update imports for better organization ([2215c7f](https://github.com/perfect-panel/ppanel-web/commit/2215c7f))
### 🎫 Chores
-* **merge**: Bump version to 1.0.0-beta.26 and update changelog ([3222016](https://github.com/perfect-panel/ppanel-web/commit/3222016))
-
+- **merge**: Bump version to 1.0.0-beta.26 and update changelog ([3222016](https://github.com/perfect-panel/ppanel-web/commit/3222016))
### 🐛 Bug Fixes
-* **affiliate**: Update user identifier ([35f92c9](https://github.com/perfect-panel/ppanel-web/commit/35f92c9))
-* **changelog**: Update change log style ([cfa3fc0](https://github.com/perfect-panel/ppanel-web/commit/cfa3fc0))
-* **payment**: Add notification URL field to payment management interface ([5c710e1](https://github.com/perfect-panel/ppanel-web/commit/5c710e1))
-* **payment**: Fix payment related type definitions and update payment method references ([c3138a8](https://github.com/perfect-panel/ppanel-web/commit/c3138a8))
-* **payment**: Refactor purchaseCheckout usage and remove redundant code ([a5e2079](https://github.com/perfect-panel/ppanel-web/commit/a5e2079))
-* **payment**: Update checkout type from 'link' to 'url' for consistency ([136a1ab](https://github.com/perfect-panel/ppanel-web/commit/136a1ab))
-* **payment**: Update payment information ([70d6a38](https://github.com/perfect-panel/ppanel-web/commit/70d6a38))
-* **payment**: Update payment method update logic to include row data ([6752420](https://github.com/perfect-panel/ppanel-web/commit/6752420))
-* **purchasing**: Update payment type to lowercase and add optional chaining for discounts ([c06ea49](https://github.com/perfect-panel/ppanel-web/commit/c06ea49))
-* **ui**: Improve dashboard layout and enhance button functionality; open checkout URLs in a new tab ([fc0da76](https://github.com/perfect-panel/ppanel-web/commit/fc0da76))
-* **ui**: Multiple display bugs ([f5d8fd3](https://github.com/perfect-panel/ppanel-web/commit/f5d8fd3))
+- **affiliate**: Update user identifier ([35f92c9](https://github.com/perfect-panel/ppanel-web/commit/35f92c9))
+- **changelog**: Update change log style ([cfa3fc0](https://github.com/perfect-panel/ppanel-web/commit/cfa3fc0))
+- **payment**: Add notification URL field to payment management interface ([5c710e1](https://github.com/perfect-panel/ppanel-web/commit/5c710e1))
+- **payment**: Fix payment related type definitions and update payment method references ([c3138a8](https://github.com/perfect-panel/ppanel-web/commit/c3138a8))
+- **payment**: Refactor purchaseCheckout usage and remove redundant code ([a5e2079](https://github.com/perfect-panel/ppanel-web/commit/a5e2079))
+- **payment**: Update checkout type from 'link' to 'url' for consistency ([136a1ab](https://github.com/perfect-panel/ppanel-web/commit/136a1ab))
+- **payment**: Update payment information ([70d6a38](https://github.com/perfect-panel/ppanel-web/commit/70d6a38))
+- **payment**: Update payment method update logic to include row data ([6752420](https://github.com/perfect-panel/ppanel-web/commit/6752420))
+- **purchasing**: Update payment type to lowercase and add optional chaining for discounts ([c06ea49](https://github.com/perfect-panel/ppanel-web/commit/c06ea49))
+- **ui**: Improve dashboard layout and enhance button functionality; open checkout URLs in a new tab ([fc0da76](https://github.com/perfect-panel/ppanel-web/commit/fc0da76))
+- **ui**: Multiple display bugs ([f5d8fd3](https://github.com/perfect-panel/ppanel-web/commit/f5d8fd3))
diff --git a/apps/admin/services/admin/index.ts b/apps/admin/services/admin/index.ts
index f9e3438..37cdd29 100644
--- a/apps/admin/services/admin/index.ts
+++ b/apps/admin/services/admin/index.ts
@@ -1,5 +1,5 @@
// @ts-ignore
-
+
// API 更新时间:
// API 唯一标识:
import * as ads from './ads';
diff --git a/apps/admin/services/admin/typings.d.ts b/apps/admin/services/admin/typings.d.ts
index 286059b..d03073d 100644
--- a/apps/admin/services/admin/typings.d.ts
+++ b/apps/admin/services/admin/typings.d.ts
@@ -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;
diff --git a/apps/admin/services/common/index.ts b/apps/admin/services/common/index.ts
index 73b3bda..61ba129 100644
--- a/apps/admin/services/common/index.ts
+++ b/apps/admin/services/common/index.ts
@@ -1,5 +1,5 @@
// @ts-ignore
-
+
// API 更新时间:
// API 唯一标识:
import * as auth from './auth';
diff --git a/apps/admin/services/common/typings.d.ts b/apps/admin/services/common/typings.d.ts
index 9b3c09c..1958585 100644
--- a/apps/admin/services/common/typings.d.ts
+++ b/apps/admin/services/common/typings.d.ts
@@ -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;
diff --git a/apps/user/app/(main)/purchasing/content.tsx b/apps/user/app/(main)/purchasing/content.tsx
index 2f1ca78..ea865e5 100644
--- a/apps/user/app/(main)/purchasing/content.tsx
+++ b/apps/user/app/(main)/purchasing/content.tsx
@@ -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) {
diff --git a/apps/user/app/(main)/purchasing/order/page.tsx b/apps/user/app/(main)/purchasing/order/page.tsx
index 50cd4bc..4b01cd4 100644
--- a/apps/user/app/(main)/purchasing/order/page.tsx
+++ b/apps/user/app/(main)/purchasing/order/page.tsx
@@ -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) {
diff --git a/apps/user/components/subscribe/payment-methods.tsx b/apps/user/components/subscribe/payment-methods.tsx
index b2a5c25..840a846 100644
--- a/apps/user/components/subscribe/payment-methods.tsx
+++ b/apps/user/components/subscribe/payment-methods.tsx
@@ -22,10 +22,11 @@ const PaymentMethods: React.FC = ({ 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 (
diff --git a/apps/user/services/common/index.ts b/apps/user/services/common/index.ts
index 73b3bda..61ba129 100644
--- a/apps/user/services/common/index.ts
+++ b/apps/user/services/common/index.ts
@@ -1,5 +1,5 @@
// @ts-ignore
-
+
// API 更新时间:
// API 唯一标识:
import * as auth from './auth';
diff --git a/apps/user/services/common/typings.d.ts b/apps/user/services/common/typings.d.ts
index 9b3c09c..1958585 100644
--- a/apps/user/services/common/typings.d.ts
+++ b/apps/user/services/common/typings.d.ts
@@ -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;
diff --git a/apps/user/services/user/index.ts b/apps/user/services/user/index.ts
index f988131..12fe8d0 100644
--- a/apps/user/services/user/index.ts
+++ b/apps/user/services/user/index.ts
@@ -1,5 +1,5 @@
// @ts-ignore
-
+
// API 更新时间:
// API 唯一标识:
import * as announcement from './announcement';
diff --git a/apps/user/services/user/typings.d.ts b/apps/user/services/user/typings.d.ts
index 93a654e..fa7095a 100644
--- a/apps/user/services/user/typings.d.ts
+++ b/apps/user/services/user/typings.d.ts
@@ -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;
};