notification-service-sdk
Version:
A Node.js notification service SDK supporting email and SMS providers
105 lines • 2.14 kB
TypeScript
/**
* 通知服务的基础配置接口
*/
export interface BaseConfig {
debug?: boolean;
}
/**
* 邮件配置接口
*/
export interface EmailConfig extends BaseConfig {
host: string;
port: number;
secure: boolean;
auth: {
user: string;
pass: string;
};
}
export interface LarkConfig extends BaseConfig {
notifyUrl: string;
}
/**
* 阿里云短信配置接口
*/
export interface AliSmsConfig extends BaseConfig {
accessKeyId: string;
accessKeySecret: string;
signName: string;
}
/**
* 火山引擎短信配置接口
*/
export interface VolcSmsConfig extends BaseConfig {
accessKeyId: string;
accessKeySecret: string;
signName: string;
region?: string;
}
/**
* 华为云短信配置接口
*/
export interface HuaweiSmsConfig extends BaseConfig {
endpoint: string;
accessKeyId: string;
accessKeySecret: string;
signName: string;
sender: string;
}
/**
* 邮件消息接口
*/
export interface EmailMessage {
from?: string;
to: string | string[];
subject: string;
text?: string;
html?: string;
}
/**
* 短信消息基础接口
*/
export interface BaseSmsMessage {
phoneNumbers: string | string[];
templateId: string;
templateParams?: Record<string, string>;
statusCallBack?: string;
signature?: string;
tag?: string;
}
export interface LarkMessage {
card: {
config: object;
header: object;
elements: object[];
};
msg_type: string;
receive_id?: number;
}
/**
* 通知发送结果接口
*/
export interface SendResult {
success: boolean;
messageId?: string;
error?: Error;
}
/**
* 通知提供者接口
*/
export interface NotificationProvider {
/**
* 发送通知
* @param message 消息内容
* @returns 发送结果
*/
send(message: EmailMessage | BaseSmsMessage): Promise<SendResult>;
}
/**
* 通知服务错误类
*/
export declare class NotificationError extends Error {
code?: string | undefined;
constructor(message: string, code?: string | undefined);
}
//# sourceMappingURL=index.d.ts.map