import type { PageParam } from '@/api'; /** * 分销商海报设置 */ export interface ShopDealerPoster { // 主键ID id?: number; // 海报名称 name?: string; // 背景图片URL backgroundImage?: string; // 海报配置(JSON格式) config?: string; // 是否启用 enabled?: boolean; // 是否默认 isDefault?: boolean; // 排序 sort?: number; // 商城ID tenantId?: number; // 创建时间 createTime?: string | Date; // 修改时间 updateTime?: string | Date; } /** * 海报配置 */ export interface PosterConfig { // 背景图片 backgroundImage?: string; // 海报尺寸 width?: number; height?: number; // 是否显示头像 showAvatar?: boolean; // 头像URL avatarUrl?: string; // 头像宽度 avatarWidth?: number; // 头像形状 circle|square avatarShape?: string; // 是否显示昵称 showNickname?: boolean; // 昵称 nickname?: string; // 昵称字体大小 nicknameFontSize?: number; // 昵称颜色 nicknameColor?: string; // 是否显示二维码 showQrcode?: boolean; // 二维码URL qrcodeUrl?: string; // 二维码宽度 qrcodeWidth?: number; // 元素位置配置 elements?: { avatar?: { x: number; y: number }; nickname?: { x: number; y: number }; qrcode?: { x: number; y: number }; [key: string]: { x: number; y: number } | undefined; }; } /** * 分销商海报设置搜索条件 */ export interface ShopDealerPosterParam extends PageParam { id?: number; name?: string; enabled?: boolean; keywords?: string; } /** * 海报生成参数 */ export interface PosterGenerateParam { // 用户ID userId: number; // 海报配置 config?: PosterConfig; // 用户信息 userInfo?: { nickname?: string; avatar?: string; qrcode?: string; }; }