import { objectType, stringType } from '../_util/type'; export interface ImageSettings { src: string; height: number; width: number; excavate: boolean; x?: number; y?: number; } export const qrProps = () => { return { size: { type: Number, default: 160 }, value: { type: String, required: true }, type: stringType<'canvas' | 'svg'>('canvas'), color: String, bgColor: String, includeMargin: Boolean, imageSettings: objectType(), }; }; export const qrcodeProps = () => { return { ...qrProps(), errorLevel: stringType<'L' | 'M' | 'Q' | 'H'>('M'), icon: String, iconSize: { type: Number, default: 40 }, status: stringType<'active' | 'expired' | 'loading'>('active'), bordered: { type: Boolean, default: true }, }; }; export interface QRCodeCanvasColor { dark?: string; // 默认#000000ff light?: string; // 默认#ffffffff } export interface QRCodeCanvasOptions { version?: number; errorCorrectionLevel?: string; // 默认"M" maskPattern?: number; // 遮罩符号的掩码图案 toSJISFunc?: Function; // 将汉字转换为其 Shift JIS 值的帮助程序函数 margin?: number; scale?: number; small?: boolean; width: number; color?: QRCodeCanvasColor; }