首页 > 其他分享 >数维图API文档:SovitJS编辑器开放API调用方法

数维图API文档:SovitJS编辑器开放API调用方法

时间:2022-10-07 19:04:20浏览次数:56  
标签:获取 编辑器 access 数维图 token API SovitJS localhost

SovitChart、Sovit2D、Sovit3D已经在众多行业领域被使用,也受到了大家的一致好评,为了更好的二次开发,不少用户想把我们的编辑器集成在自己的系统中,强烈要求我们开放API接口,经过技术团队的努力,大家千呼万唤的API,它终于来了!

数维图API文档:SovitJS编辑器开放API调用方法_API

为了让大家更快的熟悉数维图SovitJS编辑器API,为此整理了一份详细的教程。

#1、数维图API能做什么?

有人可能会问,API是什么?数维图API又能做什么?为什么这么多开发者迫不及待要调用数维图API?

简单的说,通过调用API,可以将我们的2D、3D和大屏编辑器无缝集成到你的业务系统/产品中,实现无代码开发二维、三维可视化场景。

数维图API文档:SovitJS编辑器开放API调用方法_2d_02

数维图API文档:SovitJS编辑器开放API调用方法_前端_03

通过API,可以在自己的系统中获取产品项目、场景相关数据,与自己的业务数据进行关联,实现在业务系统中对场景的管理与快速编辑。

集成数维图拖拽式编辑器后的业务系统/产品,具有更强的市场上竞争力,对客户来说更具吸引力。

#2、数维图API怎么调用?

调用开放API接入编辑器前,必须进行通过签名认证的方式获取会话token。

# 签名认证方法

不管是云端还是私有部署版,登录系统后都可以看到一个“开发者信息”,包含“开发者Apikey”和“开发者Secret”,通过这两个信息生成签名信息。

数维图API文档:SovitJS编辑器开放API调用方法_数据可视化_04

数维图API文档:SovitJS编辑器开放API调用方法_数据可视化_05

Apikey和Secret生成签名规则:

Apikey+Secret(密钥)+Timestamp(时间戳)组成的字符串MD5加密码生成。

注意:为安全起见,签名代码应由后端程序生成,Secret不要暴露在前端代码中。Access_token获取成功后建议存储在SessionStorage中,以便调用接口时使用。

# 获取Token方法

获取Token:云端版获取方法

数维图API文档:SovitJS编辑器开放API调用方法_2d_06

返回数据

{
"code": 200.//返回代码200为成功
"msg": "OK",//返回消息
"datas": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"//返回token的值
}

获取Token:私有部署版获取方法

API请求址:http://localhost:9188/Rest/sso/free/getToken

请求method:POST

参考请求方法如下:

$.ajax({
url: "http://localhost:9188/Rest/sso/free/getToken",
method: 'POST',
contentType: "application/json;charset=UTF-8",
data: JSON.stringify({
apikey: '3148080387327000581',
timestamp: '1234567890',
signature: '311f32ce3c9938006d296a844c3bc8d1',
userName: 'zhangs'
}),
success: function(data) {
if(data.code=='200') {
access_token = data.datas;
sessionStorage.setItem("access_token",access_token);
}else{
$("#re_datas").html(data.msg);
}
},
error: function(msg) {
console.info(msg);
$("#re_datas").html(JSON.stringify(msg))
}
})

# SSO登录

对于私有部署版,在使用签名获取token会话的同时可以进行帐号登录(注:私有部署版产品本身有自己的一套用户管理系统),第三方系统可以通过此方法将系统中的帐号同步到SovitJS私有部署版中。

#3、数维图编辑器怎么接入?

编辑器通过iframe接入到自己的系统中。

Sovit2D编辑器接入参考

私有版接入地址:

pageId:要编辑的场景的id

access_token:会话token

http://localhost:9188/#/sovit2dEmbed?pageId=xxx&access_token=xxx

云端版接入地址:

admin.sovitjs.com/sovitChartE…

<iframe id="editFrame" src="" width="100%" height="850" frameBorder="0" border="none"></iframe>

<script>let access_token = "";//token获取获取请参考上一篇
$(document).ready(function() {
let bodyHeight = document.documentElement.clientHeight - 83;
$("#editFrame").css("height",bodyHeight);
access_token = sessionStorage.getItem("access_token");
if(access_token!=null) {
$("#editFrame").attr("src","http://localhost:9188/#/sovit2dEmbed?pageId=3046607006338121987&access_token="+access_token);
}else{
alert("token不存在,请先获取token");
}
</script>

Sovit3D编辑器接入参考

私有版接入地址:

pageId:要编辑的场景的id

access_token:会话token

http://localhost:9188/#/sovit3dEmbed?pageId=xxx&access_token=xxx

云端版接入地址:

admin.sovitjs.com/sovit3dEmbe…

<iframe id="editFrame" src="" width="100%" height="850" frameBorder="0" border="none"></iframe>

<script>let access_token = "";//token获取获取请参考上一篇
$(document).ready(function() {
let bodyHeight = document.documentElement.clientHeight - 83;
$("#editFrame").css("height",bodyHeight);
access_token = sessionStorage.getItem("access_token");
if(access_token!=null) {
$("#editFrame").attr("src","http://localhost:9188/#/sovit3dEmbed?pageId=30466070012121212121&access_token="+access_token);
}else{
alert("token不存在,请先获取token");
}
</script>

SovitChart编辑器接入参考

私有版接入地址:

pageId:要编辑的场景的id

access_token:会话token

http://localhost:9188/#/sovitchartEmbed?pageId=xxx&access_token=xxx

云端版接入地址:

admin.sovitjs.com/sovitchartE…

<iframe id="editFrame" src="" width="100%" height="850" frameBorder="0" border="none"></iframe>

<script>let access_token = "";//token获取获取请参考上一篇
$(document).ready(function() {
let bodyHeight = document.documentElement.clientHeight - 83;
$("#editFrame").css("height",bodyHeight);
access_token = sessionStorage.getItem("access_token");
if(access_token!=null) {
$("#editFrame").attr("src","http://localhost:9188/#/sovitChartEmbed?pageId=30466070012121212121&access_token="+access_token);
}else{
alert("token不存在,请先获取token");
}
</script>

注意:localhost:9188需替换为私有部署版的访问地址和端口

看到这,是不是已经迫不及待想要体验一下了?

如有技术需求,也可在下方留言!

标签:获取,编辑器,access,数维图,token,API,SovitJS,localhost
From: https://blog.51cto.com/sovitjs/5734864

相关文章

  • .NetCore WebAPI 导入、导出Excel文件
    .NetCoreWebAPI导入、导出Excel文件导入思路:上传Excel文件,使用MemoryStream在内存中加载,使用NPOI读取内容到Model类中。///<summary>///导入Excel文件///</su......
  • .Net WebApi 中的 FromBody FromForm FromQuery FromHeader FromRoute
    在日常后端Api开发中,我们跟前端的沟通中,通常需要协商好入参的数据类型,和参数是通过什么方式存在于请求中的,是表单(form)、请求体(body)、地址栏参数(query)、还是说通过请求......
  • 若依使用postman登录进行api测试
    最近无聊研究一下若依的架构,但是不想在前端上有过多的纠结,因此想使用postman来操作后端的api进行测试。关闭验证码我们使用postman时传递验证码的base64非常繁琐,因此关闭......
  • java--常用API笔记
    什么是APIAPI(ApplicationProgrammingInterface):应用程序编程接口java中的API指的就是JDK中提供的各种功能的Java类,这些类将底层的实现封装了起来,我们不需要......
  • 自建API接口管理平台的产品脑图和解决方案
    API接口管理平台如果需要自建API接口管理平台,首先要定位和明确需要给谁(开发者是谁)、以什么方式(免费/付费)、提供什么接口(内部接口,数据接口还是上游供应商的API接口)。站在产品......
  • 忘掉Postman,Apifox更好用
    大家好,我是老三,今天正在用Postman调试接口,同事阿六在我后面站着看了了一会。阿六:“啧啧……”我:“你个老六,肾么意思?”阿六:“三老师,你这不好使,调代码全是死劲。”我上去就是......
  • LowcodeCore 低代码开发框架——快速搭建数据操作API、数据中台
    @目录技术交流QQ群:2727291761.背景介绍2.LowcodeCore介绍2.1开发环境2.2框架依赖3.LowcodeCore开发文档3.1快速搭建LowcodeCore项目3.1.1步骤一:新建项目3.1.2步骤......
  • kafka获取元数据api-admin
    1.Kafka客户端API类型AdminAPI:允许管理和检测topic、broker以及其他Kafka对象。ProducerAPI:发布消息到一个或者多个topic。ConsumerAPI:订阅一个或者多个topic,并处......
  • MT4 serverAPI开发接口(头文件)
    如有疑问请联系v:yunkeji5868同managerAPI接口一样,下面是serverAPI提供的接口,可以保存为.h文件直接导入到自己工程中使用。具体如果使用可看我的其他文章。 //+-------......
  • 使用 PSAPI 库枚举进程 EnumProcesses()函数
    使用PSAPI库枚举进程在WindowsNT中,创建进程列表使用PSAPI函数,这些函数在PSAPI.DLL中。这个文件是随PlatformSDK一起分发的:使用这个库所需的PSAPI.h和PSAP......