perf: 支持约课以及消息推送能力
This commit is contained in:
@@ -19,3 +19,6 @@ export const DATE_SELECTOR_DAYS = 7
|
||||
|
||||
/** 星期映射 */
|
||||
export const WEEKDAY_LABELS = ['', '周一', '周二', '周三', '周四', '周五', '周六', '周日'] as const
|
||||
|
||||
/** 微信订阅消息请求结果 */
|
||||
export const SUBSCRIPTION_MESSAGE_REQUEST_RESULTS = ['accept', 'reject', 'ban', 'filter'] as const
|
||||
|
||||
@@ -58,3 +58,9 @@ export enum FlashSaleOrderStatus {
|
||||
PAID = 'PAID',
|
||||
EXPIRED = 'EXPIRED',
|
||||
}
|
||||
|
||||
// ===== Subscribe Message =====
|
||||
export enum SubscriptionMessageScene {
|
||||
ORDER_PAID = 'ORDER_PAID',
|
||||
BOOKING_CREATED = 'BOOKING_CREATED',
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ export {
|
||||
OrderStatus,
|
||||
FlashSaleStatus,
|
||||
FlashSaleOrderStatus,
|
||||
SubscriptionMessageScene,
|
||||
} from './enums'
|
||||
|
||||
// Constants
|
||||
@@ -19,6 +20,7 @@ export {
|
||||
TIME_PERIODS,
|
||||
DATE_SELECTOR_DAYS,
|
||||
WEEKDAY_LABELS,
|
||||
SUBSCRIPTION_MESSAGE_REQUEST_RESULTS,
|
||||
} from './constants'
|
||||
|
||||
// Types
|
||||
@@ -63,6 +65,12 @@ export type {
|
||||
CreateFlashSaleDto,
|
||||
UpdateFlashSaleDto,
|
||||
FlashSalePurchaseResponse,
|
||||
SubscriptionMessageRequestResult,
|
||||
SubscriptionMessageRequestItem,
|
||||
SubscriptionMessageTemplate,
|
||||
SubscriptionMessageTemplateConfig,
|
||||
ReportSubscriptionMessageRequestDto,
|
||||
SubscriptionMessageConsentSummary,
|
||||
} from './types/index'
|
||||
|
||||
export { FlashSalePhase } from './types/index'
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
export type { User, UserProfileResponse, UpdateProfileDto, UserStatsResponse } from './user'
|
||||
export type {
|
||||
SubscriptionMessageRequestResult,
|
||||
SubscriptionMessageRequestItem,
|
||||
SubscriptionMessageTemplate,
|
||||
SubscriptionMessageTemplateConfig,
|
||||
ReportSubscriptionMessageRequestDto,
|
||||
SubscriptionMessageConsentSummary,
|
||||
} from './subscription'
|
||||
export type { CardType, CreateCardTypeDto, UpdateCardTypeDto } from './card-type'
|
||||
export type { Membership, MembershipWithCardType } from './membership'
|
||||
export type { WeekTemplate, WeekTemplateInput } from './week-template'
|
||||
|
||||
41
packages/shared/src/types/subscription.ts
Normal file
41
packages/shared/src/types/subscription.ts
Normal file
@@ -0,0 +1,41 @@
|
||||
import { SubscriptionMessageScene } from '../enums'
|
||||
import type { SUBSCRIPTION_MESSAGE_REQUEST_RESULTS } from '../constants'
|
||||
|
||||
export type SubscriptionMessageRequestResult = typeof SUBSCRIPTION_MESSAGE_REQUEST_RESULTS[number]
|
||||
|
||||
export interface SubscriptionMessageRequestItem {
|
||||
readonly templateId: string
|
||||
readonly scene: SubscriptionMessageScene
|
||||
readonly result: SubscriptionMessageRequestResult
|
||||
}
|
||||
|
||||
export interface SubscriptionMessageTemplate {
|
||||
readonly templateId: string
|
||||
readonly scene: SubscriptionMessageScene
|
||||
readonly description: string
|
||||
}
|
||||
|
||||
export interface SubscriptionMessageTemplateConfig {
|
||||
readonly templates: SubscriptionMessageTemplate[]
|
||||
}
|
||||
|
||||
export interface ReportSubscriptionMessageRequestDto {
|
||||
readonly requests: SubscriptionMessageRequestItem[]
|
||||
}
|
||||
|
||||
export interface SubscriptionMessageConsentSummary {
|
||||
readonly userId: string
|
||||
readonly templateId: string
|
||||
readonly scene: SubscriptionMessageScene
|
||||
readonly totalRequestCount: number
|
||||
readonly acceptCount: number
|
||||
readonly rejectCount: number
|
||||
readonly banCount: number
|
||||
readonly filterCount: number
|
||||
readonly sentCount: number
|
||||
readonly lastResult: SubscriptionMessageRequestResult
|
||||
readonly lastRequestedAt: string
|
||||
readonly lastSentAt: string | null
|
||||
readonly createdAt: string
|
||||
readonly updatedAt: string
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
import { UserRole } from '../enums'
|
||||
import type { SubscriptionMessageTemplateConfig } from './subscription'
|
||||
|
||||
export interface User {
|
||||
readonly id: string
|
||||
@@ -19,6 +20,7 @@ export interface UserProfileResponse {
|
||||
readonly avatarUrl: string | null
|
||||
readonly role: UserRole
|
||||
readonly activeMembershipCount: number
|
||||
readonly subscriptionMessageTemplates: SubscriptionMessageTemplateConfig
|
||||
readonly createdAt: string
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user