• 首页
  • 产品中心
    • 数式Oinone四大产品

      低代码开发平台无代码开发平台集成开发平台AI大模型开发
    • 数式Oinone体系能力

      用户与组织权限管理文件管理消息中心国际化业务审计
    • 数式Oinone核心产品特性

      低无一体面向软件公司场景无限制应用级扩容可分可合
  • 服务中心
    • 客户服务

      预约演示方案咨询私有部署找人定制
    • 开发者

      问答下载
    • Oinone学院

      社区学习

    《精讲面向软件公司的低代码平台——以Oinone为例》

  • 合作伙伴
    渠道申请伙伴名录专家库
  • 关于数式
0571-88757863

项目部署:数据可视化的导入导出


一、简介

在 oinone 5.1.0 及以上版本有两种方式进行设计的导入导出

  1. 通过调用导出接口,将设计器的设计数据与元数据打包导出到文件中。 提供了download/export两类接口。
  2. 使用平台提供的元数据在线发布功能。

二、依赖包

<dependency>
    <groupId>pro.shushi.pamirs.metadata.manager</groupId>
    <artifactId>pamirs-metadata-manager</artifactId>
</dependency>

三、安装GraphQL的工具

下载官网地址:https://github.com/Kong/insomnia/releases

四、登录gql

(一)示例调用代码

mutation {
    pamirsUserTransientMutation {
        login(user: { login: "admin", password: "admin" }) {
            needRedirect
            broken
            errorMsg
            errorCode
            errorField
        }
    }
}

五、导出生成json文件

执行 GraphQL,直接返回导出数据。适用于通过浏览器直接下载文件。

(一)全部导出

请求示例:

mutation {
    dataDesignerExportReqMutation {
        export(data: { fileName: "datavi_data" }) {
            jsonUrl
        }
    }
}

(二)指定图表导出

请求示例:

mutation {
    dataDesignerExportReqMutation {
        export(data: { chartCode: "CT00000000002000", fileName: "datavi_data" }) {
            jsonUrl
        }
    }
}

对应chartCode为图表的编码code,可通过查询数据库来获得

(三)指定报表导出

请求示例:

mutation {
    dataDesignerExportReqMutation {
        export(data: { reportCode: "RP00001000", fileName: "datavi_data" }) {
            jsonUrl
        }
    }
}

对应reportCode为报表的编码code,可通过查询数据库来获得

(四)指定业务大屏导出

请求示例:

mutation {
    dataDesignerExportReqMutation {
        export(data: { screenCode: "DS00001000", fileName: "datavi_data" }) {
            jsonUrl
        }
    }
}

对应screenCode为数据大屏的编码code,可通过查询数据库来获得

六、业务工程中导入示例代码

导入元数据示例代码

@Slf4j
@Order(Integer.MAX_VALUE-1)
@Component
public class DemoModuleAppInstall implements MetaDataEditor, LifecycleCompletedAllInit {

    //流程设计器导出的页面元数据json
    private static final String INSTALL_DATAVI_META_PATH = "install/datavi_data.json";

    @Override
    public void edit(AppLifecycleCommand command, Map<String, Meta> metaMap) {
        if(StringUtils.isBlank(INSTALL_DATAVI_META_PATH)) return;
        log.info("开始安装-元数据");
        try {
            InitializationUtil util = InitializationUtil.get(metaMap, DemoModule.MODULE_MODULE, DemoModule.MODULE_NAME);
            if (null != util) {
                // 设计器的元数据
                if(StringUtils.isNotBlank(INSTALL_DATAVI_META_PATH)) {
                    log.info("开始安装图表元数据");
                    DesignerInstallHelper.mateInitialization(util, INSTALL_DATAVI_META_PATH, DemoModule.MODULE_MODULE,
                                                             DemoModule.MODULE_NAME);
                }
            }
        } catch (Exception e) {
            log.error("图表设计器元数据导入异常", e);
        }
    }

    @Override
    public void process(AppLifecycleCommand command, Map<String, ModuleDefinition> runModuleMap) {
        if(StringUtils.isNotBlank(INSTALL_DATAVI_META_PATH)) {
            log.info("开始安装-【图表】设计器数据");
            // 支持远程调用,但是执行的生命周期必须是LifecycleCompletedAllInit或之后. 本地如果安装了设计器,则没有要求
            DesignerInstallHelper.bizInitialization(INSTALL_DATAVI_META_PATH);
        }
    }
}
编辑此页
最近更新:2026/1/15 04:02
上一页
项目部署:Oinone设计器部署参数说明
下一页
项目部署:流程设计器的导入导出
默认页脚
Copyright © 2026 Mr.Hope