163 lines
3.8 KiB
C#
163 lines
3.8 KiB
C#
|
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
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// 插件版本
|
|||
|
/// </summary>
|
|||
|
public class PluginVersion
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// 软件最低版本
|
|||
|
/// </summary>
|
|||
|
public Version SoftVersion { get; set; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 当前版本号
|
|||
|
/// </summary>
|
|||
|
public Version CurVersion { get; set; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 当前版本更新内容
|
|||
|
/// </summary>
|
|||
|
public string CurMessage { get; set; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 下载地址
|
|||
|
/// </summary>
|
|||
|
public string DownURL { get; set; }
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 插件基础类 - 插件开发继承后重写
|
|||
|
/// </summary>
|
|||
|
public class Plugin : IDisposable, IComparable
|
|||
|
{
|
|||
|
internal SDKEvent _SDK { get; set; }
|
|||
|
/// <summary>
|
|||
|
/// 事件
|
|||
|
/// </summary>
|
|||
|
public SDKEvent SDK
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
if (_SDK == null)
|
|||
|
{
|
|||
|
_SDK = new SDKEvent(this);
|
|||
|
}
|
|||
|
return _SDK;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//public bool IsNet { get; internal set; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 插件名称
|
|||
|
/// </summary>
|
|||
|
public string Name { get; set; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 插件简介
|
|||
|
/// </summary>
|
|||
|
public string Note { get; set; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// XML版本信息
|
|||
|
/// </summary>
|
|||
|
public string VersionXML { get; set; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 当前版本号
|
|||
|
/// </summary>
|
|||
|
public Version CurVersion { get; internal set; }
|
|||
|
/// <summary>
|
|||
|
/// 文件路径
|
|||
|
/// </summary>
|
|||
|
public string FilePath { get; internal set; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 插件MD5信息
|
|||
|
/// </summary>
|
|||
|
public string Md5 { get; internal set; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 插件顺序
|
|||
|
/// </summary>
|
|||
|
public int Level { get; internal set; }
|
|||
|
|
|||
|
public bool IsRun { get; internal set; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 插件图标
|
|||
|
/// </summary>
|
|||
|
public Image Logo { get; set; }
|
|||
|
|
|||
|
|
|||
|
public void Dispose()
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
///// <summary>
|
|||
|
///// 安装s
|
|||
|
///// </summary>
|
|||
|
//public virtual void Install() { }
|
|||
|
///// <summary>
|
|||
|
///// 卸载
|
|||
|
///// </summary>
|
|||
|
//public virtual void UnInstall() { }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 启动
|
|||
|
/// </summary>
|
|||
|
public virtual void Start() { }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 窗体
|
|||
|
/// </summary>
|
|||
|
public virtual void ShowForm()
|
|||
|
{
|
|||
|
MessageBox.Show("这个插件没有设置窗口!", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 停用
|
|||
|
/// </summary>
|
|||
|
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; }
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|