Skip to content

generateFakeBankCard

生成一份包含银行卡号、品牌、主题色和有效期等信息的演示资料,可直接传给 renderBankCard 渲染。

函数签名

typescript
function generateFakeBankCard(
  options?: GenerateFakeBankCardOptions
): GeneratedBankCardProfile

interface GenerateFakeBankCardOptions {
  bankName?: string
  holderName?: string
  brand?: BankCardBrand
  cardType?: BankCardProductTier
  cardNumber?: string
  theme?: BankCardThemeKey
  validYears?: number
}

interface GeneratedBankCardProfile {
  bankName: string
  bankShortName: string
  cardBrand: BankCardBrand
  cardType: BankCardProductTier
  holderName: string
  cardNumber: string
  formattedNumber: string
  issuerCode: string
  validFrom: string
  validThru: string
  tagline: string
  background: BankCardTheme
  chipStyle: BankCardChipStyle
  contactless: boolean
}

参数

参数名类型必填说明
bankNamestring指定银行名称;默认从内置列表随机挑选
holderNamestring自定义持卡人姓名;默认生成随机中文姓名
brandBankCardBrand卡组织(UnionPay/VISA/Mastercard/JCB/AMEX)
cardTypeBankCardProductTier卡等级(经典卡、金卡、白金卡、钻石卡)
cardNumberstring自定义卡号,函数会自动去除分隔符并补齐长度
themeBankCardThemeKey主题配色(sapphire/jade/ember/carbon)
validYearsnumber自定义有效期年限,默认信用卡 5 年、经典卡 10 年

返回值

类型说明
GeneratedBankCardProfile包含卡面渲染所需的全部字段(卡号、有效期、主题色、芯片样式等)

工作原理

  1. 随机选择银行、卡品牌、卡等级等基础信息,可被调用者覆盖
  2. 根据卡品牌生成符合 Luhn 校验的卡号,并格式化为 4 位分组
  3. 创建主题配色、芯片样式与非接触标识,保持视觉一致性
  4. 根据当前时间推算有效期(validFromvalidThru
  5. 返回完整 GeneratedBankCardProfile,供渲染或测试使用