答:看下面的例子
... 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); } } |
答:原因是使用resttemplate发送出去的url会编码一次导致签名被重复编码,在后端服务获取签名时减少了一次签名的编码。
文档:超级控件实现三维展示攻略.md
链接:http://note.youdao.com/noteshare?id=eb8ef3e8af0980bd3e3432704c91a6c7
答:这是一个时序看板的BUG,现在的解法可以将时序看板放入一个容器控件中,例如:列控件,然后将列控件隐藏。
Zoom轴: args.rangeSelect
区域拖动放大: args.areaZoom
多图显示: args.multiCharts
选择序列: args.selectSeries
时间过滤: args.dateSwitch
答:下面的代码可以完成图形区域的刷新,但是上面的区域参数“设置序列”的列表不会变化,需要另外设置脚本。
var B= this.getAddinById("TimeSeriesBoard1"); B.args.devicePath="root.sg_test_01.sc2"; B.freshData(); |
答:请注意EChart1控件放入到画布中以后内容是否为空,没有打开编辑放入初始化的EChart选项,需要先在控件里设置初始选项。
问:为什么后台执行Python时间过长以后,会出现505错误,gateway timeout?
答:现在提供的实训环境中请求有超时值设置,目前设置为10分钟,如果后台任务执行时间超过10分钟,就会报错。
答:注意检查写入程序是不是将时间戳直接当做整数写入,如下所示:
insert into root.sg.d(time,sa) values(1,1)
要改为:
insert into root.sg.d(time,sa) values(now(),1)
答:可以通过下面的代码读取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的高度,作为需求加入到迭代开发计划
答:因为前端脚本里this.callServer期待的参数是一个JSON对象,在这个例子中传输的只是一个字符串,不是JSON对象,所以在后端脚本里通过this.customData.xxx获取的属性值为空,结果自然是undefined,正确的调用方式是:this.callServer({xxx: "abc"}).then...,后端this.customData.xxx
答:如何将用户管理的界面放到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);
答:不会,如果要阻止弹框检查需要使用自行编写的逻辑。
答:可以通过App端api登录获得token,然后作为restful api测试使用的token。
答疑老师:刘博
问题清单:
Q1: 上传文件控件没保存时下载地址不生效?
答:复制链接地址即可下载
Q2:树控件数据展示不出问题?
答:檢查根节点查询条件是不是单引号写错了
Q3:菜单点击控制台报出相应路由的404
答:服务器并没有处理vue路由地址,但不影响使用
Q4:树新增节点脚本问题
答:在根节点上创建子件和在子孙节点上创建自建的来法不同,需要区分
答疑老师:郭思雨
问题清单:
问题场景主要现象:
图一echarts5.x官网例子. 图二DWF建模端自定义可视化组件运行后结果.
A1: 目前建模和应用端echarts的版本使用是V4.6.0 用户用例脚本里出现的echarts5.x对仪表盘新增的 'anchor' 等新属性 所以导致无法正确绘制样例 后面版本迭代会考虑更新我们对echarts的版本支持情况的。
问题场景主要现象:
错误的代码: 错误的资源文件地址:
A2: 两个原因导致
A3. 是的 目前授权规则就是这样去限制的 只能通过admin去修改a分配到更多其他用户组下;
A4. 有效的 用户没有提供截图或者表单链接 说是估计自己写的少了引号逗号之类的?;
A5. 因为用户设定多对象标签弹窗的那张表单里 第一个多对象控件是一个收藏的组件控件 而表格控件在其后 导致回填的时候不能将表格所选对象正确带回;
A6. kkk这里应该是目前我们的级联创建后的对象 再修改会有问题 建议教程严谨下级联创建的内容;
答:在DataDict维护目录与键值对
答:附件控件的红叉事件目前拿不到;appClose脚本正在开发。
答:表单英文名是不能修改的。
答:现在只能以导出的方式进行模型的版本管理。
答:可以,不过admin的密码在application.prop配置文件里。
找到起始操作对应的路由
在应用的配置里设置:
答:虽然界面上是两个表格,但是实体类还是一个,增加一行对象意味着前面的字段也增加了空格,所以前一张表也出现了空行。
答:通过功能模型设置,第二天的课会提到。
答:用户界面可以设置导入,导出功能,一次导入不宜太多,建议将10条数据分成多个文件导入。
答:通过数据模型新增的属性是绑定在对应类上的,和属性库是分离的,所以在属性库里查不到。
答:使用引用类的时候需要设置回填oid,否则DWF不知道如何查询引用对象。
答:不用,但是需要区分手机页面和PC页面的表单。
答:建议使用Chrome浏览器。
答:不能,建议采用驼峰命名。
答:不能,还在改进中。
答:现在还不能