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
}参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
bankName | string | 否 | 指定银行名称;默认从内置列表随机挑选 |
holderName | string | 否 | 自定义持卡人姓名;默认生成随机中文姓名 |
brand | BankCardBrand | 否 | 卡组织(UnionPay/VISA/Mastercard/JCB/AMEX) |
cardType | BankCardProductTier | 否 | 卡等级(经典卡、金卡、白金卡、钻石卡) |
cardNumber | string | 否 | 自定义卡号,函数会自动去除分隔符并补齐长度 |
theme | BankCardThemeKey | 否 | 主题配色(sapphire/jade/ember/carbon) |
validYears | number | 否 | 自定义有效期年限,默认信用卡 5 年、经典卡 10 年 |
返回值
| 类型 | 说明 |
|---|---|
GeneratedBankCardProfile | 包含卡面渲染所需的全部字段(卡号、有效期、主题色、芯片样式等) |
工作原理
- 随机选择银行、卡品牌、卡等级等基础信息,可被调用者覆盖
- 根据卡品牌生成符合 Luhn 校验的卡号,并格式化为 4 位分组
- 创建主题配色、芯片样式与非接触标识,保持视觉一致性
- 根据当前时间推算有效期(
validFrom→validThru) - 返回完整
GeneratedBankCardProfile,供渲染或测试使用