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; };