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
TypeScript
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 { }