目录 |
---|
2022/6/9
问:怎么才能在SDK开发的时候用标准方法打印日志出来
答:看下面的例子
代码块 | ||
---|---|---|
| ||
...
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
...
@Component
public class UreportRunner implements ApplicationRunner {
static Logger logger = LoggerFactory.getLogger(UreportRunner.class);
@Override
public void run(ApplicationArguments args) { // 初始化
logger.info("检测到Ureport2插件,正在进行初始化检查...");
try {
throw new PlatformException("不存在目录" + fileStoreDir + ",文件将被存储到默认临时目录!(如仍需自定义存储目录,请创建该目录并重新装配)");
} catch (Exception e) { logger.warn("Ureport2初始化异常:" + e.getMessage()); return; }
logger.info("Ureport2初始化完毕,文件存储目录" + fileStoreDir);
}
}
|
2021/7/21
问:为什么在DWF后端脚本调用阿里云的物模型Restful api的时候,会出现 400 bad request?
答:原因是使用resttemplate发送出去的url会编码一次导致签名被重复编码,在后端服务获取签名时减少了一次签名的编码。
问:如何在DWF表单里面显示3D模型?又如何在三维模型里显示DWF的表单,查询数据,像这样:
文档:超级控件实现三维展示攻略.md
链接:http://note.youdao.com/noteshare?id=eb8ef3e8af0980bd3e3432704c91a6c7
2021/7/20日
问:IoTDB时序看板设置隐藏以后,出现了一个空白区,包含了区域放大,时序点选,如何隐藏?
答:这是一个时序看板的BUG,现在的解法可以将时序看板放入一个容器控件中,例如:列控件,然后将列控件隐藏。
问:IoTDB时序看板的选项在脚本里怎么设置?
Zoom轴: args.rangeSelect
区域拖动放大: args.areaZoom
多图显示: args.multiCharts
选择序列: args.selectSeries
时间过滤: args.dateSwitch
问:IoTDB时序看板如何在脚本里设置设备路径?
答:下面的代码可以完成图形区域的刷新,但是上面的区域参数“设置序列”的列表不会变化,需要另外设置脚本。
...
代码块 |
---|
var B= this.getAddinById("TimeSeriesBoard1"); B.args.devicePath="root.sg_test_01.sc2"; B.freshData(); |
2021/7/19日
...
问:为什么按照案例(十)写出来的刷新逻辑有错?出现series.type should be specified.
答:请注意EChart1控件放入到画布中以后内容是否为空,没有打开编辑放入初始化的EChart选项,需要先在控件里设置初始选项。
问:为什么后台执行Python时间过长以后,会出现505错误,gateway timeout?
答:现在提供的实训环境中请求有超时值设置,目前设置为10分钟,如果后台任务执行时间超过10分钟,就会报错。
2021/7/16日
问:为什么写入IoTDB数据以后,查询得到的时间是1970年去了?
答:注意检查写入程序是不是将时间戳直接当做整数写入,如下所示:
...
insert into root.sg.d(time,sa) values(now(),1)
问:在案例(十)中提到的定期刷新如何读取IoTDB里面的数据呢?
答:可以通过下面的代码读取IoTDB的数据,然后用this.res返回结果,注意:不要一口气读上百万条!
代码块 | ||
---|---|---|
| ||
var Driver = Java.type("org.apache.iotdb.jdbc.IoTDBDriver"); var DriverManager = Java.type('java.sql.DriverManager'); DriverManager.registerDriver(new Driver()); this.logger.info("创建连接类成功!"); // 连接数据库的URL,如果是本地配套的直接使用127.0.0.1:6667 var url = "jdbc:iotdb://127.0.0.1:6667/"; // 数据库连接的用户名密码 var username = "root"; var password = "root"; var connection = DriverManager.getConnection(url, username, password); this.logger.info("创建连接对象成功!"); var statement = connection.createStatement(); this.logger.info("创建语句成功!"); statement.execute("SHOW STORAGE GROUP"); var result = statement.getResultSet(); this.logger.info("执行语句成功!");while (result.next()) { this.logger.info(result.getString(0)); // TODO:在这里增加有关连接结果处理的逻辑 }statement.close(); connection.close(); //返回结果 this.res = 1; |
问:百度地图控件能设置地图中心点和缩放比例吗?
答:目前不支持配置中心点和缩放比例,可以通过脚本来实现(脚本放到表单的初始化中),示例脚本如下:
代码块 | ||
---|---|---|
| ||
var map = this.getAddinById("DynamicMap1"); var point = new BMap.Point(116.331398,39.897445); //中心点坐标 map.map.centerAndZoom(point,12); //放大比例 |
问:百度地图中鼠标悬停事件以tooltip的形式展示表单怎么设置高度?
答:现在还不支持tooltip的高度,作为需求加入到迭代开发计划
2021年7月14日:
问:为什么this.callServer("abc")传递参数给后端脚本之后,在后端脚本里得到this.customData.xxx的内容是undefined?
答:因为前端脚本里this.callServer期待的参数是一个JSON对象,在这个例子中传输的只是一个字符串,不是JSON对象,所以在后端脚本里通过this.customData.xxx获取的属性值为空,结果自然是undefined,正确的调用方式是:this.callServer({xxx: "abc"}).then...,后端this.customData.xxx
问:如何将用户管理的界面放到App端
答:如何将用户管理的界面放到App端
http://$env.serverIp:$env.serverPort/dwf/modeler-web/AuthModel/AuthBrief?token=$user.token&single=true
其中:
- http://$env.serverIp:$env.serverPort/dwf/modeler-web是服务器的路径
- AuthModel/AuthBrief是建模工具里的界面
- token=$user.token当前用户的令牌
- &single=true要求单页面呈现,不要菜单,不要标题栏
按照上述拼写方法,定制操作可将界面引入应用,不支持深沉黑皮肤
问:如何将省份地图我如何对它任意缩小,扩大?
答:现在只能通过调用echart的函数实现地图缩放,每一个dwf的可视化控件里都有一个chart属性,这个属性就是echart的实例,方法如下:
var myEchart = this.getAddinById("id");
myEchart.chart.setOption(option);
问:this.validateForm是不是会检查控件处于error状态?
答:不会,如果要阻止弹框检查需要使用自行编写的逻辑。
问:Swagger调用调试显示403认证不通过?
答:可以通过App端api登录获得token,然后作为restful api测试使用的token。
...
2021-07-
...
01
答疑老师:刘博
问题清单:
Q1: 上传文件控件没保存时下载地址不生效?
...
答:在根节点上创建子件和在子孙节点上创建自建的来法不同,需要区分
...
2021-06-
...
30
答疑老师:郭思雨
问题清单:Q1. Echarts里把一个钟表代码复制到dwf的echarts控件里
问:Echarts里把一个钟表代码复制到dwf的echarts控件里 没有正常显示?
问题场景主要现象:
图一echarts5.x官网例子. 图二DWF建模端自定义可视化组件运行后结果.
...
A1: 目前建模和应用端echarts的版本使用是V4.6.0 用户用例脚本里出现的echarts5.x对仪表盘新增的 'anchor' 等新属性 所以导致无法正确绘制样例 后面版本迭代会考虑更新我们对echarts的版本支持情况的。Q2.表格内
问:表格内 ‘下载图片’ 功能无法正确下载图片 打开的地址404?
问题场景主要现象:
错误的代码: 错误的资源文件地址:
...
- 脚本全局属性env.serverURL 目前自动获取的是的当前服务器ip+port 对私有自定义部署 增加服务器path情况不友好;
- 脚本内容中还有一处 '${targetObjOid}' 前面有大量的空格 在浏览器url地址栏解析为转码%20 导致找不到资源 ;
...
问:授权模型对某个用户a授权在某个用户组A下后 该用户登录modeler端无法在授权看到其他用户组?
A3. 是的 目前授权规则就是这样去限制的 只能通过admin去修改a分配到更多其他用户组下;Q4. 表格在列定制面板
问:表格在列定制面板 =》显示模式 =》自定义转换 无效?
A4. 有效的 用户没有提供截图或者表单链接 说是估计自己写的少了引号逗号之类的?;Q5.多对象标签无法正确回填值?
问:多对象标签无法正确回填值?
A5. 因为用户设定多对象标签弹窗的那张表单里 第一个多对象控件是一个收藏的组件控件 而表格控件在其后 导致回填的时候不能将表格所选对象正确带回;Q6.级联创建后的关联关系对象修改后
问:级联创建后的关联关系对象修改后 无法正确回填属性?
A6. kkk这里应该是目前我们的级联创建后的对象 再修改会有问题 建议教程严谨下级联创建的内容;
...
2021-06-
...
29
问:实体类中新增属性里的数据字典功能如何使用?
答:在DataDict维护目录与键值对
问:上传文件之后,鼠标悬停位置有个红叉,能拿到这个红叉的事件么?
答:附件控件的红叉事件目前拿不到;appClose脚本正在开发。
问:已经创建的实体类表单, 表单的英文名是否就不能再修改了?
答:表单英文名是不能修改的。
问:模型的版本管理除了模型包打包导出外,还有没有其他方法?
答:现在只能以导出的方式进行模型的版本管理。
问:建模工具的密码可以修改吗?
答:可以,不过admin的密码在application.prop配置文件里。
问:起始操作咋设置呢?
找到起始操作对应的路由
在应用的配置里设置:
第一天:
答疑老师:张晨浩、王昆
...
2021-06-28
问:相同实体类绑定在两个不同的表格A,B上,向B增加记录的时候,A中出现空行是为什么?
答:虽然界面上是两个表格,但是实体类还是一个,增加一行对象意味着前面的字段也增加了空格,所以前一张表也出现了空行。
问:做好的表单, 怎么发布到 app-web 页面上?
答:通过功能模型设置,第二天的课会提到。
问:用户界面,用户可以通过excel上传数据么?数据导入导出 支持多大数据量?一次10万可以吗?
答:用户界面可以设置导入,导出功能,一次导入不宜太多,建议将10条数据分成多个文件导入。
问:通过数据模型新增的属性,为什么在属性库中看不到?
答:通过数据模型新增的属性是绑定在对应类上的,和属性库是分离的,所以在属性库里查不到。
问:自动生成的列表表单,新增显示了创建人和日期?
答:使用引用类的时候需要设置回填oid,否则DWF不知道如何查询引用对象。
问:我们做手机端 页面要开发两次吗 一遍是手机 一遍是pc端?
答:不用,但是需要区分手机页面和PC页面的表单。
问:为什么编辑表单的时候会出现“找不到服务器”的情况?
答:建议使用Chrome浏览器。
问:属性名能带下划线吗?
答:不能,建议采用驼峰命名。
问:请问选择框的 "浏览字段" 能自定义显示格式么?我目前看到的是选择的多个字段以短线相连?
答:不能,还在改进中。
问:这个表的操作列有办法可以实现把“删除”和“详情”放在更多里面吗?
答:现在还不能