UNPKG

fastlion-amis

Version:

一种MIS页面生成工具

39 lines (35 loc) 874 B
import {RendererEvent} from '../utils/renderer-event'; import {filter} from '../utils/tpl'; import pick from 'lodash/pick'; import mapValues from 'lodash/mapValues'; import qs from 'qs'; import { Action, ListenerAction, ListenerContext, registerAction } from './Action'; /** * 邮件动作 * * @export * @class EmailAction * @implements {Action} */ export class EmailAction implements Action { async run( action: ListenerAction, renderer: ListenerContext, event: RendererEvent<any> ) { const mailTo = filter(action.to, action.args); const mailInfo = mapValues( pick(action, 'to', 'cc', 'bcc', 'subject', 'body'), val => filter(val, action.args) ); const mailStr = qs.stringify(mailInfo); const mailto = `mailto:${mailTo}?${mailStr}`; window.open(mailto); } } registerAction('email', new EmailAction());