using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Api.Framework.SDK { /// /// 插件版本 /// public class PluginVersion { /// /// 软件最低版本 /// public Version SoftVersion { get; set; } /// /// 当前版本号 /// public Version CurVersion { get; set; } /// /// 当前版本更新内容 /// public string CurMessage { get; set; } /// /// 下载地址 /// public string DownURL { get; set; } } /// /// 插件基础类 - 插件开发继承后重写 /// public class Plugin : IDisposable, IComparable { internal SDKEvent _SDK { get; set; } /// /// 事件 /// public SDKEvent SDK { get { if (_SDK == null) { _SDK = new SDKEvent(this); } return _SDK; } } //public bool IsNet { get; internal set; } /// /// 插件名称 /// public string Name { get; set; } /// /// 插件简介 /// public string Note { get; set; } /// /// XML版本信息 /// public string VersionXML { get; set; } /// /// 当前版本号 /// public Version CurVersion { get; internal set; } /// /// 文件路径 /// public string FilePath { get; internal set; } /// /// 插件MD5信息 /// public string Md5 { get; internal set; } /// /// 插件顺序 /// public int Level { get; internal set; } public bool IsRun { get; internal set; } /// /// 插件图标 /// public Image Logo { get; set; } public void Dispose() { } ///// ///// 安装s ///// //public virtual void Install() { } ///// ///// 卸载 ///// //public virtual void UnInstall() { } /// /// 启动 /// public virtual void Start() { } /// /// 窗体 /// public virtual void ShowForm() { MessageBox.Show("这个插件没有设置窗口!", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } /// /// 停用 /// public virtual void Stop() { } public int CompareTo(object obj) { try { Plugin info = obj as Plugin; string str = obj.GetType().ToString(); //Console.WriteLine(); if (str == "AutoAnswer.Class1") return -1; else if (this.GetType().ToString() == "AutoAnswer.Class1") return 1; if (str == "MessageSupervises.Class1") return 1; else if (this.GetType().ToString() == "MessageSupervises.Class1") return -1; if (this.Level < info.Level) return -1; if (this.Level == info.Level) return 0; else return 1; } catch (Exception) { return 0; } } } }