import { DialogService } from './dialog.service'; import { _HttpClient } from '@delon/theme'; import { TemplateEditData } from '../msg-interface/data-model'; declare type Mode = 'edit' | 'add'; export declare class TemplateService { private dialogService; private http; /** 数据源 */ source: { [key: number]: TemplateEditData; }; /** 页面模式 */ mode: Mode; /** 消息类型索引 */ MSG_TYPE: { SMS: { type: number; name: string; key: string; icon: string; icon_gray: string; patchTypes: string; autoReport: number; autoReply: number; channelProvider: number; channel: number; moRecord: number; }; MMS: { type: number; name: string; key: string; icon: string; icon_gray: string; patchTypes: string; autoReport: number; autoReply: number; channelProvider: number; channel: number; moRecord: number; }; /** * 删除模板 * @param index 模板队列的索引 * @param type 消息类型 */ WECHAT: { type: number; name: string; key: string; icon: string; icon_gray: string; patchTypes: string; autoReport: number; autoReply: number; channelProvider: number; channel: number; moRecord: number; }; VOICE: { type: number; name: string; key: string; icon: string; icon_gray: string; patchTypes: string; autoReport: number; autoReply: number; channelProvider: number; channel: number; moRecord: number; }; EMAIL: { type: number; name: string; key: string; icon: string; icon_gray: string; patchTypes: string; autoReport: number; autoReply: number; channelProvider: number; channel: number; moRecord: number; }; WEIBO: { type: number; name: string; key: string; icon: string; icon_gray: string; patchTypes: string; autoReport: number; autoReply: number; channelProvider: number; channel: number; moRecord: number; }; JPUSH: { type: number; name: string; key: string; icon: string; icon_gray: string; patchTypes: string; autoReport: number; autoReply: number; channelProvider: number; channel: number; moRecord: number; }; TIKTOK: { type: number; name: string; key: string; icon: string; icon_gray: string; patchTypes: string; autoReport: number; channelProvider: number; channel: number; moRecord: number; }; WORKWX: { type: number; name: string; key: string; icon: string; icon_gray: string; patchTypes: string; autoReport: number; autoReply: number; channelProvider: number; channel: number; moRecord: number; }; _5G: { type: number; name: string; key: string; icon: string; icon_gray: string; patchTypes: string; autoReport: number; autoReply: number; channelProvider: number; channel: number; moRecord: number; }; }; provinceRefMap: { 0: { type: number; name: string; key: string; icon: string; icon_gray: string; patchTypes: string; autoReport: number; autoReply: number; channelProvider: number; channel: number; moRecord: number; }[]; 2: { type: number; name: string; key: string; icon: string; icon_gray: string; patchTypes: string; autoReport: number; autoReply: number; channelProvider: number; channel: number; moRecord: number; }[]; 3: { type: number; name: string; key: string; icon: string; icon_gray: string; patchTypes: string; autoReport: number; autoReply: number; channelProvider: number; channel: number; moRecord: number; }[]; 4: { type: number; name: string; key: string; icon: string; icon_gray: string; patchTypes: string; autoReport: number; autoReply: number; channelProvider: number; channel: number; moRecord: number; }[]; 6: { type: number; name: string; key: string; icon: string; icon_gray: string; patchTypes: string; autoReport: number; autoReply: number; channelProvider: number; channel: number; moRecord: number; }[]; 8: { type: number; name: string; key: string; icon: string; icon_gray: string; patchTypes: string; autoReport: number; autoReply: number; channelProvider: number; channel: number; moRecord: number; }[]; 9: { type: number; name: string; key: string; icon: string; icon_gray: string; patchTypes: string; autoReport: number; autoReply: number; channelProvider: number; channel: number; moRecord: number; }[]; }; /** 标题 */ get title(): "更新融合通信模板" | "新增融合通信模板"; constructor(dialogService: DialogService, http: _HttpClient); /** 设置页面模式 */ setMode(value: Mode): void; /** 设置数据源 */ setSource(data: any): any; /** 清空数据源 */ clear(): void; /** * 添加模板 * @param source 模板对象 * @param type 消息类型 */ addTemplate(source: any, type: number): void; /** * 删除模板 * @param index 模板队列的索引 * @param type 消息类型 */ removeTemplate(index: number, type: number): void; /** * 移动模板 * @param current 当前模板在模板队列中的索引 * @param next 希望移动的位置索引 * @param type 消息类型 */ moveTemplate(current: number, next: number, type: number): void; /** * 复用模板 * @param current 当前模板在模板队列中的索引 * @param next 希望拷贝的模板的位置索引 * @param type 消息类型 */ copyTemplate(current: number, next: number, type: number): void; /** * 校验名称的唯一性 * @param name 新的名称 * @param index 当前模板在模板队列中的索引 * @param type 消息类型 */ validateName(name: string, index: number, type: number): void; /** * 改变模板状态 * @param name 新的名称 * @param index 当前模板在模板队列中的索引 * @param type 消息类型 */ changeTemplateState(isOpen: boolean, index: number, type: number): void; /** 模板状态变动请求 */ private reqForChangeTemplate; /** 获取所有模板 */ getAllTpl(): any; /** 获取对应消息类型的模板 */ getTpl(type: number): any; /** 获取对应消息类型下的最后一个模板 */ getLastTpl(type: number): any; /** 获取对应的消息类型 */ getMsg(type: number): any; /** 获取对应消息类型下的标准模板 */ getStandardTpl(type: number): any; /** * 获取模板数量 * @param type 可选, 具体的消息类型 */ getTpllen(type?: number): number; /** * 通过复用索引获取模板 * @param type 消息类型 * @param actItem 当前模板 */ getTemplateByRefMap(type: number, actItem?: any): any[]; /** 更新排序 */ updatePriority(type: number): void; /** 该消息类型下是否有默认模板 */ hasDefaultTpl(type: number): any; } export {};