feat: 支持分享邀请好友功能
This commit is contained in:
@@ -59,6 +59,13 @@ export enum FlashSaleOrderStatus {
|
||||
EXPIRED = 'EXPIRED',
|
||||
}
|
||||
|
||||
// ===== Invite =====
|
||||
export enum InviteReferralStatus {
|
||||
REGISTERED = 'REGISTERED',
|
||||
TRIAL_PURCHASED = 'TRIAL_PURCHASED',
|
||||
QUALIFIED = 'QUALIFIED',
|
||||
}
|
||||
|
||||
// ===== Subscribe Message =====
|
||||
export enum SubscriptionMessageScene {
|
||||
ORDER_PAID = 'ORDER_PAID',
|
||||
|
||||
@@ -9,6 +9,7 @@ export {
|
||||
OrderStatus,
|
||||
FlashSaleStatus,
|
||||
FlashSaleOrderStatus,
|
||||
InviteReferralStatus,
|
||||
SubscriptionMessageScene,
|
||||
} from './enums'
|
||||
|
||||
@@ -72,6 +73,9 @@ export type {
|
||||
CreateFlashSaleDto,
|
||||
UpdateFlashSaleDto,
|
||||
FlashSalePurchaseResponse,
|
||||
InviteActivityReferral,
|
||||
InviteRewardGrantRecord,
|
||||
InviteActivitySummary,
|
||||
SubscriptionMessageRequestResult,
|
||||
SubscriptionMessageRequestItem,
|
||||
SubscriptionMessageTemplate,
|
||||
|
||||
@@ -30,4 +30,9 @@ export type {
|
||||
UpdateFlashSaleDto,
|
||||
FlashSalePurchaseResponse,
|
||||
} from './flash-sale'
|
||||
export type {
|
||||
InviteActivityReferral,
|
||||
InviteRewardGrantRecord,
|
||||
InviteActivitySummary,
|
||||
} from './invite'
|
||||
export { FlashSalePhase } from './flash-sale'
|
||||
|
||||
36
packages/shared/src/types/invite.ts
Normal file
36
packages/shared/src/types/invite.ts
Normal file
@@ -0,0 +1,36 @@
|
||||
import { InviteReferralStatus } from '../enums'
|
||||
|
||||
export interface InviteActivityReferral {
|
||||
readonly id: string
|
||||
readonly inviteeId: string
|
||||
readonly inviteeNickname: string
|
||||
readonly inviteeAvatarUrl: string | null
|
||||
readonly status: InviteReferralStatus
|
||||
readonly invitedAt: string
|
||||
readonly trialPurchasedAt: string | null
|
||||
readonly qualifiedAt: string | null
|
||||
}
|
||||
|
||||
export interface InviteRewardGrantRecord {
|
||||
readonly id: string
|
||||
readonly membershipId: string | null
|
||||
readonly qualifiedReferralCount: number
|
||||
readonly rewardTimes: number
|
||||
readonly grantedAt: string
|
||||
}
|
||||
|
||||
export interface InviteActivitySummary {
|
||||
readonly inviterId: string
|
||||
readonly canInvite: boolean
|
||||
readonly sharePath: string
|
||||
readonly rewardRuleInvitesRequired: number
|
||||
readonly rewardRuleTimes: number
|
||||
readonly qualifiedInviteCount: number
|
||||
readonly rewardedTimes: number
|
||||
readonly pendingRewardGrantCount: number
|
||||
readonly pendingInviteCount: number
|
||||
readonly currentCycleQualifiedCount: number
|
||||
readonly nextRewardRemainingCount: number
|
||||
readonly referrals: readonly InviteActivityReferral[]
|
||||
readonly rewardGrants: readonly InviteRewardGrantRecord[]
|
||||
}
|
||||
@@ -26,6 +26,7 @@ export interface OrderWithDetails extends Order {
|
||||
|
||||
export interface CreateOrderDto {
|
||||
readonly cardTypeId: string
|
||||
readonly inviterId?: string
|
||||
}
|
||||
|
||||
export interface PaymentParams {
|
||||
|
||||
@@ -20,6 +20,7 @@ export interface UserProfileResponse {
|
||||
readonly avatarUrl: string | null
|
||||
readonly role: UserRole
|
||||
readonly activeMembershipCount: number
|
||||
readonly inviteShareEligible: boolean
|
||||
readonly adminBookingSubscriptionCount: number
|
||||
readonly subscriptionMessageTemplates: SubscriptionMessageTemplateConfig
|
||||
readonly createdAt: string
|
||||
|
||||
Reference in New Issue
Block a user