@jdlinker/linker
Version:
jdLinker 系统模块
56 lines (48 loc) • 2.15 kB
text/typescript
import { getImage } from '@jdlinker/utils';
import NoticeApi from '../../../../../../api/notice/config';
import { getParams } from '../../util';
import { getOption } from '../../components/DropdownButton/util';
import { unref } from 'vue';
export const iconMap = new Map();
iconMap.set('trigger', getImage('/scene/action-bind-icon.png'));
iconMap.set('notify', getImage('/scene/action-notify-icon.png'));
iconMap.set('device', getImage('/scene/action-device-icon.png'));
iconMap.set('relieve', getImage('/scene/action-unbind-icon.png'));
iconMap.set('delay', getImage('/scene/action-delay-icon.png'));
export const itemNotifyIconMap = new Map();
itemNotifyIconMap.set('dingTalk', getImage('/scene/notify-item-img/dingtalk.png'));
itemNotifyIconMap.set('weixin', getImage('/scene/notify-item-img/weixin.png'));
itemNotifyIconMap.set('email', getImage('/scene/notify-item-img/email.png'));
itemNotifyIconMap.set('voice', getImage('/scene/notify-item-img/voice.png'));
itemNotifyIconMap.set('sms', getImage('/scene/notify-item-img/sms.png'));
itemNotifyIconMap.set('webhook', getImage('/scene/notify-item-img/webhook.png'));
export const typeIconMap = {
READ_PROPERTY: 'icon-zhihangdongzuodu',
INVOKE_FUNCTION: 'icon-zhihangdongzuoxie-1',
WRITE_PROPERTY: 'icon-zhihangdongzuoxie'
};
export const getBuildInData = async (params: any, data: any) => {
const buildInData = await getParams(params, unref(data));
return function (upperKey: string, key: string) {
return getOption(buildInData, upperKey, key);
};
};
export const getNotifyVariablesUser = (isRelationUser: boolean = false): Promise<{ platform: any[]; relation: any[] }> => {
return new Promise(async (resolve) => {
let relationResp: any = undefined;
const platformResp = await NoticeApi.getPlatformUsers({
paging: false,
sorts: [{ name: 'name', order: 'asc' }]
});
if (isRelationUser) {
relationResp = await NoticeApi.getRelationUsers({
paging: false,
sorts: [{ name: 'name', order: 'asc' }]
});
}
resolve({
platform: platformResp.result || [],
relation: relationResp?.result || []
});
});
};