更新

说明

object dashboard.update(object/array dashboards)

此方法用于更新已有仪表盘。

此方法任何类型的用户都可以使用。可以在用户角色设置中撤销用户调用该方法的权限。更多信息请查看用户角色

参数

(object/array) 要更新的仪表板属性。

必须为每个仪表板定义 dashboardid 属性,所有其他属性均为可选。只有传入的属性会被更新,其他所有属性将保持不变。

标准仪表板属性外,该方法还接受以下参数。

参数 类型 说明
pages array 用于替换现有仪表板页面的仪表板页面

仪表板页面通过 dashboard_pageid 属性进行更新。对于不包含 dashboard_pageid 属性的对象,将创建新的仪表板页面;如果现有仪表板页面未被复用,则将被删除。仪表板页面将按照指定的顺序排序。仅会更新仪表板页面中已指定的属性。
users array 用于替换现有元素的仪表板用户共享。
userGroups array 用于替换现有元素的仪表板用户组共享。

返回值

(object) 返回一个对象,该对象包含 dashboardids 属性, 代表被更新的仪表盘的 ID。

示例

重命名仪表盘

将仪表盘重命名为:"SQL server status"。

请求:

{
    "jsonrpc": "2.0",
    "method": "dashboard.update",
    "params": {
        "dashboardid": "2",
        "name": "SQL server status"
    },
    "id": 1
}

响应:

{
    "jsonrpc": "2.0",
    "result": {
        "dashboardids": [
            "2"
        ]
    },
    "id": 1
}

更新仪表盘页面

此请求包含以下操作:

  • 1、重命名第一个仪表盘页面;
  • 2、替换第二个仪表盘页面的组件;
  • 3、新增一个仪表盘页面作为第三个仪表盘页面;
  • 4、删除其他所有仪表盘页面。

请求:

{
    "jsonrpc": "2.0",
    "method": "dashboard.update",
    "params": {
        "dashboardid": "2",
        "pages": [
            {
                "dashboard_pageid": 1,
                "name": "Renamed Page"
            },
            {
                "dashboard_pageid": 2,
                "widgets": [
                    {
                        "type": "clock",
                        "x": 0,
                        "y": 0,
                        "width": 12,
                        "height": 3
                    }
                ]
            },
            {
                "display_period": 60
            }
        ]
    },
    "id": 1
}

响应:

{
    "jsonrpc": "2.0",
    "result": {
        "dashboardids": [
            "2"
        ]
    },
    "id": 1
}

修改仪表盘所有者

此请求只允许管理员和超级管理员发起。

请求:

{
    "jsonrpc": "2.0",
    "method": "dashboard.update",
    "params": {
        "dashboardid": "2",
        "userid": "1"
    },
    "id": 1
}

响应:

{
    "jsonrpc": "2.0",
    "result": {
        "dashboardids": [
            "2"
        ]
    },
    "id": 1
}

另请参阅

来源

ui/include/classes/api/services/CDashboard.php 中的 CDashboard::update()