UNPKG

message-templates-vue

Version:

A flexible Vue 3 component library for rendering various platform message templates (WeChat, Xiaohongshu, Douyin, etc.)

89 lines (71 loc) 2.57 kB
import { ComponentOptionsMixin } from 'vue'; import { ComponentProvideOptions } from 'vue'; import { DefineComponent } from 'vue'; import { PublicProps } from 'vue'; declare const _default: { install: (app: any) => void; }; export default _default; export declare const defaultAssets: { avatar: string; link: string; }; export declare const getPlatformConfig: (platform: string) => PlatformConfig; export declare interface MessageContent { type: MessageType; content: string; desc?: string; url?: string; avatar?: string; title?: string; address?: string; longitude?: number; latitude?: number; appname?: string; appicon?: string; nickname?: string; cover_url?: string; thumb?: string; image_url?: string; thumb_url?: string; } export declare const MessageTemplate: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<Props> & Readonly<{}>, { options: Partial<MessageTemplateOptions>; }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>; export declare interface MessageTemplateOptions { theme?: 'light' | 'dark'; size?: 'small' | 'medium' | 'large'; showAvatar?: boolean; showTimestamp?: boolean; showSender?: boolean; customStyles?: Record<string, any>; onLinkClick?: (url: string) => void; onImageClick?: (url: string) => void; onCardClick?: (data: any) => void; } export declare type MessageType = 'text' | 'image' | 'video' | 'audio' | 'file' | 'link' | 'location' | 'card' | 'miniprogram' | 'videonum' | 'emoji'; export declare const parseDouyinMessage: (item: any) => MessageContent; export declare const parseMessage: (message: SimpleMessage) => MessageContent; export declare const parseWeChatMessage: (item: any) => MessageContent; export declare const parseXiaohongshuMessage: (item: any) => MessageContent; export declare type Platform = 'wechat' | 'xiaohongshu' | 'douyin'; export declare interface PlatformConfig { name: string; icon: string; colors: { primary: string; secondary: string; background: string; }; messageTypes: MessageType[]; } export declare const platformConfigs: Record<string, PlatformConfig>; declare interface Props { message: SimpleMessage; options?: Partial<MessageTemplateOptions>; } export declare interface SimpleMessage { platform: Platform; data: any; } export { }