E-commerce API Services - Auto-generated Documentation v0.0.0
E-commerce API Services - Auto-generated Documentation / CustomerAnalyticsZeroExpansionService / CustomerAnalyticsZeroExpansionService
Class: CustomerAnalyticsZeroExpansionService
Defined in: CustomerAnalyticsZeroExpansionService.ts:61
Extends
BaseAnalyticsService
Constructors
Constructor
new CustomerAnalyticsZeroExpansionService():
CustomerAnalyticsZeroExpansionService
Defined in: CustomerAnalyticsZeroExpansionService.ts:67
Returns
CustomerAnalyticsZeroExpansionService
Overrides
BaseAnalyticsService.constructor
Properties
supabase?
protectedoptionalsupabase:SupabaseClient<any,"public",any>
Defined in: base/BaseAnalyticsService.ts:39
Inherited from
BaseAnalyticsService.supabase
Methods
aggregateValues()
protectedaggregateValues(data,field,method):number
Defined in: base/BaseAnalyticsService.ts:174
聚合數值陣列
Parameters
data
any[]
數據陣列
field
string
要聚合的欄位
method
聚合方法
"sum" | "avg" | "count" | "max" | "min"
Returns
number
聚合結果
Inherited from
BaseAnalyticsService.aggregateValues
applyDateFilters()
protectedapplyDateFilters(query,params,dateField):any
Defined in: base/BaseAnalyticsService.ts:89
應用日期篩選到查詢
Parameters
query
any
Supabase 查詢對象
params
DateRangeParams
日期範圍參數
dateField
string = 'created_at'
日期欄位名稱(預設為 created_at)
Returns
any
應用篩選後的查詢
Inherited from
BaseAnalyticsService.applyDateFilters
applyOrdering()
protectedapplyOrdering(query,orderBy?,direction?):any
Defined in: base/BaseAnalyticsService.ts:132
應用排序到查詢
Parameters
query
any
Supabase 查詢對象
orderBy?
string
排序欄位
direction?
排序方向
"asc" | "desc"
Returns
any
應用排序後的查詢
Inherited from
BaseAnalyticsService.applyOrdering
applyPagination()
protectedapplyPagination(query,params):any
Defined in: base/BaseAnalyticsService.ts:115
應用分頁到查詢
Parameters
query
any
Supabase 查詢對象
params
PaginationParams
分頁參數
Returns
any
應用分頁後的查詢
Inherited from
BaseAnalyticsService.applyPagination
calculateConversionRate()
protectedcalculateConversionRate(numerator,denominator):number
Defined in: base/BaseAnalyticsService.ts:205
計算轉換率
Parameters
numerator
number
分子(轉換數量)
denominator
number
分母(總數量)
Returns
number
轉換率百分比
Inherited from
BaseAnalyticsService.calculateConversionRate
calculateCustomerKPIs()
calculateCustomerKPIs(
data):object
Defined in: CustomerAnalyticsZeroExpansionService.ts:165
🚀 整合共用分析工具:計算客戶分析關鍵指標 展示如何整合 AnalyticsAggregator 和 BaseAnalyticsService
Parameters
data
churnRates
number[]
customerValues
number[]
orderCounts
number[]
Returns
object
avgValue
avgValue:
number
customerDistribution
customerDistribution:
object[]
medianValue
medianValue:
number
riskLevel
riskLevel:
"low"|"medium"|"high"
totalValue
totalValue:
number
valueGrowthTrend
valueGrowthTrend:
"increasing"|"stable"|"decreasing"
calculatePeriodComparison()
protectedcalculatePeriodComparison(currentPeriodData,previousPeriodData,valueField):object
Defined in: base/BaseAnalyticsService.ts:148
計算時期比較數據
Parameters
currentPeriodData
any[]
當前時期數據
previousPeriodData
any[]
前一時期數據
valueField
string
要比較的數值欄位
Returns
object
比較結果
change
change:
number
current
current:
number=currentValue
direction
direction:
"stable"|"up"|"down"
growthRate
growthRate:
number
previous
previous:
number=previousValue
Inherited from
BaseAnalyticsService.calculatePeriodComparison
clearCache()
clearCache():
void
Defined in: CustomerAnalyticsZeroExpansionService.ts:156
🚀 清除所有快取 (可用於偵錯或強制重新載入)
Returns
void
createEmptyAnalyticsResult()
protectedcreateEmptyAnalyticsResult<T>(structure):T
Defined in: CustomerAnalyticsZeroExpansionService.ts:272
🚀 創建空的分析結果結構
Type Parameters
T
T
Parameters
structure
T
Returns
T
Overrides
BaseAnalyticsService.createEmptyAnalyticsResult
exportCustomerAnalyticsBasic()
exportCustomerAnalyticsBasic(
params):Promise<ApiResponse<CustomerAnalyticsBasicExportData>>
Defined in: CustomerAnalyticsZeroExpansionService.ts:2170
導出分析數據 - 零擴展版本
Parameters
params
CustomerAnalyticsBasicParams
Returns
Promise<ApiResponse<CustomerAnalyticsBasicExportData>>
formatAnalyticsResponse()
protectedformatAnalyticsResponse<T>(data,metadata?):ApiResponse<T>
Defined in: base/BaseAnalyticsService.ts:71
格式化分析響應
Type Parameters
T
T
Parameters
data
T
響應數據
metadata?
Record<string, any>
元數據(如總數、頁數等)
Returns
ApiResponse<T>
標準化響應格式
Inherited from
BaseAnalyticsService.formatAnalyticsResponse
formatCurrency()
protectedformatCurrency(value,currency):string
Defined in: base/BaseAnalyticsService.ts:282
格式化貨幣
Parameters
value
number
金額
currency
string = 'NT$'
貨幣符號
Returns
string
格式化的貨幣字符串
Inherited from
BaseAnalyticsService.formatCurrency
formatPercentage()
protectedformatPercentage(value,decimals):string
Defined in: base/BaseAnalyticsService.ts:272
格式化百分比
Parameters
value
number
數值
decimals
number = 2
小數位數
Returns
string
格式化的百分比字符串
Inherited from
BaseAnalyticsService.formatPercentage
generatePreviousPeriodRange()
protectedgeneratePreviousPeriodRange(params):DateRangeParams
Defined in: base/BaseAnalyticsService.ts:215
生成前一期間的日期範圍
Parameters
params
DateRangeParams
原始日期參數
Returns
DateRangeParams
前一期間的日期範圍
Inherited from
BaseAnalyticsService.generatePreviousPeriodRange
getCustomerAnalyticsBasic()
getCustomerAnalyticsBasic(
params,onProgress?):Promise<ApiResponse<CustomerAnalyticsBasic>>
Defined in: CustomerAnalyticsZeroExpansionService.ts:357
獲取完整的基礎客戶分析數據
🔄 應用層計算流程:
- 並行獲取原始數據 (customers, orders, rfm, ltv) - 🏆 新增分頁限制
- JavaScript 層進行數據聚合和分析
- 計算行為模式、流失風險、價值成長等指標
⚡ 效能特性 (優化後):
- 適合 < 50K 客戶記錄 (分頁載入減少記憶體使用)
- 預期回應時間:1-2 秒 (從 3-5秒 優化)
- 記憶體使用:低到中等 (預設限制 1000 筆記錄)
- 網路傳輸:減少 70% (欄位篩選 + 分頁)
Parameters
params
CustomerAnalyticsBasicParams
onProgress?
(stage, percentage) => void
Returns
Promise<ApiResponse<CustomerAnalyticsBasic>>
handleError()
protectedhandleError(error,context):ApiResponse<any>
Defined in: base/BaseAnalyticsService.ts:51
統一的錯誤處理方法
Parameters
error
unknown
錯誤對象
context
string = '分析服務錯誤'
錯誤上下文
Returns
ApiResponse<any>
標準化錯誤響應
Inherited from
BaseAnalyticsService.handleError
logPerformanceMetrics()
protectedlogPerformanceMetrics(operation,startTime,metadata?):void
Defined in: base/BaseAnalyticsService.ts:324
記錄效能指標
Parameters
operation
string
操作名稱
startTime
number
開始時間
metadata?
Record<string, any>
額外元數據
Returns
void
Inherited from
BaseAnalyticsService.logPerformanceMetrics
processBatches()
protectedprocessBatches<T,R>(data,batchSize,processor):Promise<R[]>
Defined in: base/BaseAnalyticsService.ts:302
批次處理數據
Type Parameters
T
T
R
R
Parameters
data
T[]
數據陣列
batchSize
number
批次大小
processor
(batch) => Promise<R[]>
處理函數
Returns
Promise<R[]>
處理結果
Inherited from
BaseAnalyticsService.processBatches
sanitizeNumericValue()
protectedsanitizeNumericValue(value,defaultValue):number
Defined in: base/BaseAnalyticsService.ts:261
清理和驗證數值
Parameters
value
any
原始值
defaultValue
number = 0
預設值
Returns
number
清理後的數值
Inherited from
BaseAnalyticsService.sanitizeNumericValue
validateRequiredParams()
protectedvalidateRequiredParams(params,requiredFields):void
Defined in: base/BaseAnalyticsService.ts:242
驗證必要參數
Parameters
params
Record<string, any>
參數對象
requiredFields
string[]
必要欄位陣列
Returns
void
Throws
如果缺少必要參數則拋出錯誤
Inherited from
BaseAnalyticsService.validateRequiredParams