ESOFT ERP插件开发(DEMO源码)
配置文件 向系统注册插件的功能文件,需要保证插件生成的文件名与命名空间名称一致using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ESoft.Public;
using ESToolkit;
namespace TestPlugin
{
public class TestPlugin : IESPlugin
{
/// <summary>
/// 插件名称
/// </summary>
public string Name { get { return "测试"; } }
/// <summary>
/// 描述
/// </summary>
public string Description { get { return "这是一个测试插件"; } }
/// <summary>
/// 版本好
/// </summary>
public string Version { get { return "V1.0.0.1"; } }
/// <summary>
/// 作者
/// </summary>
public string Author { get { return "ECHO"; } }
/// <summary>
/// 钩子列表
/// </summary>
public List<Hook> Hooks { get { return hooks; } }
private List<Hook> hooks = new List<Hook>();
public TestPlugin() {
hooks.AddRange(new Hook[] {
new Hook{ MCA="SO.SaleOrderInner.Confirm",Class="SaleOrderInner"},
});
}
}
}
代码说明:
new Hook{ MCA="SO.SaleOrderInner.Confirm",Class="SaleOrderInner"}上式代码MCA 表示 嵌入在哪里(即在那处执行代码),Class 为本插件需要执行的代码。
实际嵌入的控制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ESoft.Public;
using ESToolkit;
using ESoft.Script;
using ESoft.Public.Class;
using ESoft.FormControl.Base;
namespace TestPlugin
{
class SaleOrderInner : PluginScript
{
public override void SetObject(object obj)
{
BaseAll baseAll = obj as BaseAll;
baseAll.BeforeConfirm += BaseAll_BeforeConfirm;
}
private void BaseAll_BeforeConfirm(object sender, BaseAll.ESBeforeOperateEventArgs e)
{
//throw new NotImplementedException();
}
public void Confirm_Before(ESPluginParam param) {
param.Cancel = true;
param.Obj = "这是第一个插件进行功能测试,by ECHO";
}
public void Confirm_After(ESPluginParam param)
{
}
}
}
代码说明:
baseAll.BeforeConfirm += BaseAll_BeforeConfirm;确认前的事件,这类事件有 保存前,保存中,保存后,确认前,确认中,确认后,审核前,审核后,删除前,删除中,删除后 等等事件
public void XXX_Before(ESPluginParam param) {}XXX_Before 为前执行
XXX_After 为后执行
具体源码请下载附件
大佬 后期考虑开源吗?:lol
页:
[1]