lvfengfree b92e1119ae fix: 修复菜单为空问题 - 移除后端过滤home路由的错误逻辑
- 修复RouteService中错误过滤home路由的问题
- 后端现在正确返回所有用户有权限的路由
- 添加设备管理相关功能(列表、在线监控、电源管理、远程监控)
- 添加详细的修复文档和重启脚本
- 更新权限配置脚本

问题根源:后端代码中有逻辑会过滤掉home路由,导致前端收到空数组,无法生成菜单
解决方案:移除过滤home路由的逻辑,让后端返回所有有权限的路由
2026-03-01 09:50:19 +08:00

58 lines
1.9 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using Intel.Management.Wsman;
namespace Intel.Management.PSModule.Amt
{
public class AmtException : Exception
{
public AmtException(string message) : base(message) { }
public static void ThrowInvokeError(IManagedInstance resultObj)
{
ThrowInvokeError(resultObj, null);
}
public static void ThrowInvokeError(IManagedInstance resultObj,string message)
{
StringBuilder builder = new StringBuilder();
builder.Append(resultObj.SimpleName);
builder.Append(".ReturnValue=");
builder.Append(resultObj.GetProperty("ReturnValue").ToString());
if (message != null)
{
builder.Append(" ");
builder.Append(message);
}
throw new AmtException(builder.ToString());
}
public static void CheckResult(IManagedInstance resultObj)
{
string returnValue = resultObj.GetProperty("ReturnValue").ToString();
if (!returnValue.Equals("0"))
{
StringBuilder message = new StringBuilder();
message.Append(resultObj.SimpleName);
message.Append(".ReturnValue=");
message.Append(returnValue);
XmlDocument doc = new XmlDocument();
doc.LoadXml(Properties.Resources.StatusCodesXML);
XmlNode node=doc.DocumentElement.SelectSingleNode(
string.Format("StatusCode[@Code=\"{0}\"]",returnValue));
if (node != null)
{
message.Append(" ");
message.Append(node.InnerText);
}
throw new AmtException(message.ToString());
}
}
}
}