feat: registration gravity from DB config instead of hardcoded
- Add registrationGravity to pricing config (default 50, adjustable via admin) - Inject PricingService into UserService, read config for all 4 registration paths - Expose registrationGravity in /member/plans response for frontend - Login page fetches dynamic value from API, replaces hardcoded '50' - Update user.vue gravity card copy
This commit is contained in:
@@ -10,6 +10,8 @@ export interface GravityRates {
|
||||
}
|
||||
|
||||
interface PricingConfig {
|
||||
/** 新用户注册赠送引力值 */
|
||||
registrationGravity: number
|
||||
interview: { pricePerSession: number; creditsPerPurchase: number }
|
||||
resumeOptimize: { freeLimit: number; pricePerOptimize: number; creditsPerPurchase: number }
|
||||
resumeDownload: { pricePerDownload: number; creditsPerPurchase: number }
|
||||
@@ -21,6 +23,7 @@ interface PricingConfig {
|
||||
}
|
||||
|
||||
const DEFAULT_PRICING: PricingConfig = {
|
||||
registrationGravity: 50,
|
||||
interview: { pricePerSession: 600, creditsPerPurchase: 1 },
|
||||
resumeOptimize: { freeLimit: 3, pricePerOptimize: 400, creditsPerPurchase: 1 },
|
||||
resumeDownload: { pricePerDownload: 200, creditsPerPurchase: 1 },
|
||||
@@ -62,6 +65,7 @@ export class PricingService {
|
||||
|
||||
private mergeDefaults(value: any): PricingConfig {
|
||||
return {
|
||||
registrationGravity: value?.registrationGravity ?? DEFAULT_PRICING.registrationGravity,
|
||||
interview: { ...DEFAULT_PRICING.interview, ...value?.interview },
|
||||
resumeOptimize: { ...DEFAULT_PRICING.resumeOptimize, ...value?.resumeOptimize },
|
||||
resumeDownload: { ...DEFAULT_PRICING.resumeDownload, ...value?.resumeDownload },
|
||||
|
||||
Reference in New Issue
Block a user