import Api from './Api' export default class Emitter{ static DEFAULT = "default" static RULE="rule" static CHECK="check" static execute(trnName,path,data,ruleType=this.RULE){ let url = `${trnName}/execute${ruleType.substring(0,1).toUpperCase()}${ruleType.substring(1)}/${path.toLowerCase()}` return Api.post(url,data); } /** * 执行具体交易路径的rule * @param {*} trnName 交易名称 * @param {*} data 数据,可以为函数,结构(或者返回的结构)需要为{key1:val1,key2:val2...params:{}} * @param {*} path rule路径 * @returns 执行结果,使用await,.then均可接收结果 */ static executeRule(trnName,data,path){ return this.execute(trnName,data,path) } /** * 执行具体交易路径的check * @param {*} trnName 交易名称 * @param {*} data 数据,可以为函数,结构(或者返回的结构)需要为{key1:val1,key2:val2...params:{}} * @param {*} path rule路径 * @returns 执行结果,使用await,.then均可接收结果 */ static executeCheck(trnName,data,path){ return this.execute(trnName,data,path,this.CHECK) } /** * 执行具体交易路径的default * @param {*} trnName 交易名称 * @param {*} data 数据,可以为函数,结构(或者返回的结构)需要为{key1:val1,key2:val2...params:{}} * @param {*} path rule路径 * @returns 执行结果,使用await,.then均可接收结果 */ static executeDefault(trnName,data,path){ return this.execute(trnName,data,path,this.DEFAULT) } }