ObjectManager/Common/PluginHelper.cs

(开头部分) 6KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using ObjectManager.Models.Other;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ObjectManager.Common
{
    /// <summary>
    /// 插件管理类
    /// </summary>
    public class PluginHelper
    {
        List<Models.Other.PluginEntity> allPluginList = null;
        List<Models.Other.PluginEntity> usePluginList = null;
        List<Models.Other.PluginEntity> updatePluginList = null;

        public PluginHelper()
        {
            Refresh();
        }

        public void Refresh()
        {
            try
            {
                //获取所有插件
                //根据地质获取json列表
                string allPluginsString = Util.HttpHelper.HttpGet("http://www.elow.online:8080/plugins/pluginsstore.json");
                //转换对象
                allPluginList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Models.Other.PluginEntity>>(allPluginsString);

                //获取本地插件
                string usePluginsString = Util.FileHelper.GetFileToString(Util.FileHelper.GetNowPath() + "//pluginsstore.json");
                //转换对象
                usePluginList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Models.Other.PluginEntity>>(usePluginsString);
                if (usePluginList == null)
                    usePluginList = new List<Models.Other.PluginEntity>();
                
                updatePluginList = new List<Models.Other.PluginEntity>();
                foreach (Models.Other.PluginEntity temp in usePluginList)
                {
                    Models.Other.PluginEntity remoteModel = allPluginList.FirstOrDefault(s => s.id == temp.id);
                    if(remoteModel==null)
                    {
                        continue;
                    }
                    if(Version.Parse(temp.versionlist[0].version) < Version.Parse(remoteModel.versionlist[0].version))
                    {
                        updatePluginList.Add(remoteModel);
                    }
                }
            }
            catch
            {
                allPluginList = null;
            }
后面还有 130 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。