public static PluginReadmeModel Create(string pluginId) { PluginReadmeModel readmeModel = new PluginReadmeModel(); string pluginDir = Path.Combine(PluginPathProvider.PluginsRootPath(), pluginId); string pluginReadmeFilePath = Path.Combine(pluginDir, ReadmeFile); if (!File.Exists(pluginReadmeFilePath)) { return(null); } try { string readmeStr = File.ReadAllText(pluginReadmeFilePath, Encoding.UTF8); readmeModel.PluginId = pluginId; readmeModel.Content = readmeStr; } catch (Exception ex) { readmeModel = null; } return(readmeModel); }
public async Task <ActionResult <ResponseModel> > Readme(string pluginId) { ResponseModel responseData = new ResponseModel(); try { var pluginConfigModel = PluginConfigModelFactory.Create(); var allPluginConfigModels = pluginConfigModel.EnabledPlugins.Concat(pluginConfigModel.DisabledPlugins) .Concat(pluginConfigModel.UninstalledPlugins).ToList(); #region 效验 if (!allPluginConfigModels.Contains(pluginId)) { responseData.code = -1; responseData.message = $"查看文档失败: 不存在 {pluginId} 插件"; return(await Task.FromResult(responseData)); } #endregion PluginReadmeModel readmeModel = PluginReadmeModelFactory.Create(pluginId); PluginReadmeResponseModel readmeResponseModel = new PluginReadmeResponseModel(); readmeResponseModel.Content = readmeModel?.Content ?? ""; readmeResponseModel.PluginId = pluginId; responseData.code = 1; responseData.message = "查看文档成功"; responseData.data = readmeResponseModel; } catch (Exception ex) { responseData.code = -1; responseData.message = "查看文档失败: " + ex.Message; } return(await Task.FromResult(responseData)); }