BsthSlideItem.js.txt
1.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/**
* java8 javascript脚本引擎-nashorn 执行用的脚本,用了很多语言扩展,不能在游览器中运行
*/
// 对应 com.bsth.luban_springboot2.service.BsthSlideItem类
var BsthSlideItem = Java.type('com.bsth.luban_springboot2.service.WorkService.BsthSlideItem');
var ArrayList = Java.type('java.util.ArrayList');
/**
* 计算页面中所有自定义轮播组件的url信息。
* @param workPagesArray pages对象(对应后台work表的pages字段)
* @return Array BsthSlideItem类型数组
*/
function calcuBsthSlideItems (workPagesArray) {
var resultList = new ArrayList();
// 只处理第一页
var page = workPagesArray && workPagesArray.length > 0 && workPagesArray[0];
if (page) {
var pageElements = page.elements && page.elements.length > 0 && page.elements;
if (pageElements) {
for (var i = 0; i < pageElements.length; i++) {
var element = pageElements[i];
if ('bsth-slide' === element.name) {
var bsthSlideItem = new BsthSlideItem()
bsthSlideItem.setName(element.name);
bsthSlideItem.setUuid(element.uuid);
bsthSlideItem.setUrls(new ArrayList());
var items = element.pluginProps && element.pluginProps.items && element.pluginProps.items.length > 0 && element.pluginProps.items;
if (items) {
for (var j = 0; j < items.length; j++) {
bsthSlideItem.getUrls().add(items[j].url);
}
}
resultList.add(bsthSlideItem);
}
}
}
}
return resultList;
}