跳到主要内容

基础设置说明

注意:本文档所使用代码均为嵌入式官方 demo 代码。并在此基础上进行代码的修改进行演示。

1 嵌入式 Token​

采用 JWT 认证 ,官方嵌入式代码生成 token 方式如下,需要获取 DataEase 嵌入式应用的 APP ID、APP Secret,以及 DataEase 中的用户账号。

  • APP ID:嵌入式获取 JWT token 需要填写的 ID。

  • APP Secret :嵌入式获取 JWT token 需要填写的 Secret。

2.10.0 版本开始,支持设置 token 有效时间。 Token 可根据实际情况使用其它类型语言生成,代码实现方式不唯一。

@RestController
public class IndexController {

# 嵌入式 appId
private static String appId = "";

# 嵌入式 appSecret
private static String appSecret = "";

#DataEase 用户名
private static String account = "";

#
## 获取 DataEase 嵌入式 Token
## DataEase 嵌入式 Token 使用的是 JWT 认证,由 appId、appSecret 以及 DataEase 用户名生成。
## Java 程序可直接引用 java-jwt (https://mvnrepository.com/artifact/com.auth0/java-jwt) 依赖,其它后端语言可自行百度加密代码。
## 注意,嵌入式 Token 的过期时间默认为 480 分钟,可通过修改 application.yml 进行调整
## 配置参数名称为 dataease.embedded-exp

@GetMapping("/api/token")
public String generateToken () {

String user = "小王";
List<String> users = Arrays.asList("小王","小李");
String status = "ASSIGNED";

Algorithm algorithm = Algorithm.HMAC256(appSecret);
JWTCreator.Builder builder = JWT.create();
builder.withClaim("account", account).withClaim("appId", appId);
builder.withIssuedAt(new Date());
## 只过滤 user = 小王
## builder.withClaim("user", user);
## 过滤 user = 小王 或者 小李的数据
## builder.withClaim("user", JSONObject.toJSONString(users));
## 过滤 user = 小王 或者 小李 以及 设备状态等于 ASSIGNED 的数据
## 参数可根据业务需要选择设置或者不设置
## user 、设备状态 为仪表板参数设置里面的参数名
## builder.withClaim("user", JSONObject.toJSONString(users)).withClaim("设备状态", status);
return builder.sign(algorithm);
}
}

account 获取方式,见下图,可以使用任意符合业务需求的账号,不仅限于 admin 账户,也不推荐使用 admin 账户进行嵌入。

3.1嵌入式 Token.png

2 DataEase 嵌入式 JS​

当使用 DIV 嵌入时,需引入 DataEase 提供内置的 js 模块,如下 。

引入 js 后,即可使用 js 模块提供好的类及方法完成 DIV 的嵌入。

注意:需要将 js 引入到页面的 head 中,保证依赖的正确加载。

## 将下方代码中的 src 地址改为静态 js 的访问地址即可。
## 访问地址为 http://ip:9080/js/div_import_0.0.0-dataease.js
<script crossorigin type="module" th:src="@{{domain}/js/div_import_0.0.0-dataease.js(domain=${vo.domain})}"></script>