|
|
@@ -10,37 +10,42 @@ interface ILocalizedStrings {
|
|
|
// 定义模板类型的枚举,确保数据的一致性
|
|
|
export enum TemplateType {
|
|
|
OTHER = 0,
|
|
|
- NEW_PAINTING_REMINDER = 1, // 新画作提醒
|
|
|
- DAILY_SIGN_IN_REWARD = 2, // 每日签到奖励
|
|
|
- COMPLETION_ENCOURAGEMENT = 3, // 完成度鼓励
|
|
|
- LIMITED_TIME_EVENT_REMINDER = 4, // 限时活动提醒
|
|
|
- NEW_FEATURE_INTRODUCTION = 5, // 新功能介绍
|
|
|
- SOCIAL_SHARING_ENCOURAGEMENT = 6, // 社交分享鼓励
|
|
|
- LONG_TIME_INACTIVE_USER_RECALL = 7, // 长期未活跃用户召回
|
|
|
- HOT_PAINTING_RECOMMENDATION = 8, // 热门画作推荐
|
|
|
- CHALLENGE_TASK_REMINDER = 9, // 挑战任务提醒
|
|
|
- HOLIDAY_CELEBRATION = 10, // 节日/特殊日庆贺
|
|
|
+ NEW_USER_WELCOM = 1, // 欢迎与引导
|
|
|
+ ENCOURAGE_AND_REWARD = 2, // 鼓励与奖励
|
|
|
+ DAILY_REWARD_REMINDER = 3, // 每日奖励提醒
|
|
|
+ PERSONALIZED_RECOMMENDATION = 4, // 个性化推荐
|
|
|
+ NEW_CONTENT_REMINDER = 5, // 新画作提醒
|
|
|
+ HOT_CONTENT_RECOMMENDATION = 6, // 热门画作推荐
|
|
|
+ LIMITED_TIME_EVENT_REMINDER = 7, // 限时活动提醒
|
|
|
+ HOLIDAY_CELEBRATION = 8, // 节日/特殊日庆贺
|
|
|
+ COMPLETION_ENCOURAGEMENT = 9, // 完成度鼓励
|
|
|
+ SOCIAL_SHARING_ENCOURAGEMENT = 10, // 社交分享鼓励
|
|
|
+ NEW_FEATURE_INTRODUCTION = 11, // 新功能介绍
|
|
|
+ CHALLENGE_TASK_REMINDER = 12, // 挑战任务提醒
|
|
|
}
|
|
|
|
|
|
// 定义模板类型和中文描述的映射,方便在应用中使用
|
|
|
export const TEMPLATE_TYPE_MAP: Record<TemplateType, string> = {
|
|
|
[TemplateType.OTHER]: "其他",
|
|
|
- [TemplateType.NEW_PAINTING_REMINDER]: "新画作提醒",
|
|
|
- [TemplateType.DAILY_SIGN_IN_REWARD]: "每日签到奖励",
|
|
|
- [TemplateType.COMPLETION_ENCOURAGEMENT]: "完成度鼓励",
|
|
|
+ [TemplateType.NEW_USER_WELCOM]: "欢迎与引导",
|
|
|
+ [TemplateType.ENCOURAGE_AND_REWARD]: "鼓励与奖励",
|
|
|
+ [TemplateType.DAILY_REWARD_REMINDER]: "每日奖励提醒",
|
|
|
+ [TemplateType.PERSONALIZED_RECOMMENDATION]: "个性化推荐",
|
|
|
+ [TemplateType.NEW_CONTENT_REMINDER]: "新画作提醒",
|
|
|
+ [TemplateType.HOT_CONTENT_RECOMMENDATION]: "热门画作推荐",
|
|
|
[TemplateType.LIMITED_TIME_EVENT_REMINDER]: "限时活动提醒",
|
|
|
- [TemplateType.NEW_FEATURE_INTRODUCTION]: "新功能介绍",
|
|
|
+ [TemplateType.HOLIDAY_CELEBRATION]: "假日/节日主题",
|
|
|
+ [TemplateType.COMPLETION_ENCOURAGEMENT]: "完成度鼓励",
|
|
|
[TemplateType.SOCIAL_SHARING_ENCOURAGEMENT]: "社交分享鼓励",
|
|
|
- [TemplateType.LONG_TIME_INACTIVE_USER_RECALL]: "长期未活跃用户召回",
|
|
|
- [TemplateType.HOT_PAINTING_RECOMMENDATION]: "热门画作推荐",
|
|
|
+ [TemplateType.NEW_FEATURE_INTRODUCTION]: "新功能介绍",
|
|
|
[TemplateType.CHALLENGE_TASK_REMINDER]: "挑战任务提醒",
|
|
|
- [TemplateType.HOLIDAY_CELEBRATION]: "节日/特殊日庆贺",
|
|
|
};
|
|
|
|
|
|
// 定义消息模板的接口,并新增字段
|
|
|
export interface IMessageTemplate extends Document {
|
|
|
templateName: string;
|
|
|
templateType: TemplateType; // 新增字段:模板类型
|
|
|
+ description: string; // 描述
|
|
|
messageTitle: ILocalizedStrings;
|
|
|
messageContent: ILocalizedStrings;
|
|
|
image?: string; // 通知图片URL
|
|
|
@@ -62,6 +67,7 @@ const MessageTemplateSchema: Schema = new Schema(
|
|
|
enum: Object.values(TemplateType).filter((value) => typeof value === "number"), // 使用枚举值来约束此字段
|
|
|
default: TemplateType.OTHER,
|
|
|
},
|
|
|
+ description: { type: String }, // 描述
|
|
|
messageTitle: { type: Object, of: String, required: true }, // 消息标题,使用嵌套对象支持多语言
|
|
|
messageContent: { type: Object, of: String, required: true }, // 消息内容,使用嵌套对象支持多语言
|
|
|
image: { type: String }, // 通知图片URL
|