Toggle navigation
Toggle navigation
This project
Loading...
Sign in
developOne
/
harmonyPool
Go to a project
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
wangyong_wd
2024-04-09 21:02:32 +0800
Browse Files
Options
Browse Files
Download
Plain Diff
Commit
b912bac81adf264ee67e7afddc64646aab9108b4
b912bac8
2 parents
dd126eb5
7d37232f
Merge branch 'main' of
http://192.168.1.42/developOne/harmonyPool
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
206 additions
and
164 deletions
PeopleDaily_Harmony/wdComponent/src/main/ets/components/page/PageComponent.ets
PeopleDaily_Harmony/wdComponent/src/main/ets/components/view/BigPicCardComponent.ets
PeopleDaily_Harmony/wdComponent/src/main/ets/repository/bean/InteractDataDTO.ets
PeopleDaily_Harmony/wdComponent/src/main/ets/utils/PullDownRefresh.ets
PeopleDaily_Harmony/wdComponent/src/main/ets/utils/PullUpLoadMore.ets
PeopleDaily_Harmony/wdComponent/src/main/ets/viewmodel/PageModel.ets
PeopleDaily_Harmony/wdComponent/src/main/ets/viewmodel/PageViewModel.ets
PeopleDaily_Harmony/wdKit/src/main/ets/utils/LazyDataSource.ets
sight_harmony/commons/wdKit/src/main/ets/utils/LazyDataSource.ets
sight_harmony/features/wdBean/src/main/ets/bean/content/ContentDTO.ets
sight_harmony/features/wdComponent/src/main/ets/components/page/PageComponent.ets
sight_harmony/features/wdComponent/src/main/ets/components/view/BigPicCardComponent.ets
sight_harmony/features/wdComponent/src/main/ets/utils/PullDownRefresh.ets
sight_harmony/features/wdComponent/src/main/ets/utils/PullUpLoadMore.ets
sight_harmony/features/wdComponent/src/main/ets/viewmodel/PageModel.ets
sight_harmony/features/wdComponent/src/main/ets/viewmodel/PageViewModel.ets
PeopleDaily_Harmony/wdComponent/src/main/ets/components/page/PageComponent.ets
View file @
b912bac
import { CommonConstants, ViewType } from 'wdConstant';
import { CollectionUtils, Logger } from 'wdKit';
import { CollectionUtils,
DateTimeUtils,
Logger } from 'wdKit';
import { CompDTO } from '../../repository/bean/CompDTO';
import PageViewModel from '../../viewmodel/PageViewModel';
import { EmptyComponent } from '../view/EmptyComponent';
...
...
@@ -65,7 +65,9 @@ export struct PageComponent {
CompParser({ compDTO: compDTO, compIndex: compIndex });
}
}
})
},
(compDTO: CompDTO, compIndex: number) => compDTO.id + compIndex.toString() + this.pageModel.timestamp
)
// 加载更多
ListItem() {
...
...
@@ -136,6 +138,11 @@ export struct PageComponent {
} else {
this.pageModel.hasMore = false;
}
PageViewModel.getInteractData(pageDto.compList).then((data: CompDTO[]) => {
// 刷新,替换所有数据
this.pageModel.compList.replaceAll(...data)
this.pageModel.timestamp = DateTimeUtils.getCurrentTimeMillis().toString()
})
} else {
Logger.debug(TAG, 'aboutToAppear, data response page ' + this.pageId + ', comp list is empty.');
this.pageModel.viewType = ViewType.EMPTY;
...
...
PeopleDaily_Harmony/wdComponent/src/main/ets/components/view/BigPicCardComponent.ets
View file @
b912bac
...
...
@@ -35,6 +35,8 @@ export struct BigPicCardComponent {
Column() {
Column() {
// TODO 测试代码
Text("likeNum " + this.contentDTO?.interactData?.likeNum)
//新闻标题
Text(this.compDTO.operDataList[0].newsTitle)
.fontSize(17)
...
...
PeopleDaily_Harmony/wdComponent/src/main/ets/repository/bean/InteractDataDTO.ets
View file @
b912bac
/**
* 批查接口查询互动相关数据,返回数据bean
*/
export
interface
InteractDataDTO {
export
class
InteractDataDTO {
collectNum: number;
commentNum: number;
contentId: string;
...
...
PeopleDaily_Harmony/wdComponent/src/main/ets/utils/PullDownRefresh.ets
View file @
b912bac
...
...
@@ -4,6 +4,8 @@ import { RefreshConstants as Const, RefreshState } from './RefreshConstants';
import PageViewModel from '../viewmodel/PageViewModel';
import { PageDTO } from '../repository/bean/PageDTO';
import { touchMoveLoadMore, touchUpLoadMore } from './PullUpLoadMore';
import { CompDTO } from '../repository/bean/CompDTO';
import { DateTimeUtils } from 'wdKit/src/main/ets/utils/DateTimeUtils';
export function listTouchEvent(pageModel: PageModel, event: TouchEvent) {
switch (event.type) {
...
...
@@ -73,6 +75,7 @@ export function touchUpPullRefresh(pageModel: PageModel) {
PageViewModel.getPageData(self)
.then((data: PageDTO) => {
self.timestamp = DateTimeUtils.getCurrentTimeMillis().toString()
if (data == null || data.compList == null || data.compList.length == 0) {
self.hasMore = false;
} else {
...
...
@@ -84,6 +87,11 @@ export function touchUpPullRefresh(pageModel: PageModel) {
}
// 刷新,替换所有数据
self.compList.replaceAll(...data.compList)
PageViewModel.getInteractData(data.compList).then((data: CompDTO[]) => {
// 刷新,替换所有数据
self.compList.replaceAll(...data)
self.timestamp = DateTimeUtils.getCurrentTimeMillis().toString()
})
}
closeRefresh(self, true);
}).catch((err: string | Resource) => {
...
...
PeopleDaily_Harmony/wdComponent/src/main/ets/utils/PullUpLoadMore.ets
View file @
b912bac
...
...
@@ -3,6 +3,8 @@ import PageModel from '../viewmodel/PageModel';
import { RefreshConstants as Const } from './RefreshConstants';
import PageViewModel from '../viewmodel/PageViewModel';
import { PageDTO } from '../repository/bean/PageDTO';
import { CompDTO } from '../repository/bean/CompDTO';
import { DateTimeUtils } from 'wdKit';
export function touchMoveLoadMore(model: PageModel, event: TouchEvent) {
// list size +1
...
...
@@ -38,7 +40,13 @@ export function touchUpLoadMore(model: PageModel) {
} else {
self.hasMore = false;
}
let sizeBefore = self.compList.size();
self.compList.push(...data.compList)
PageViewModel.getInteractData(data.compList).then((data: CompDTO[]) => {
// 刷新,替换所有数据
self.compList.updateItems(sizeBefore, data)
self.timestamp = DateTimeUtils.getCurrentTimeMillis().toString()
})
}
}).catch((err: string | Resource) => {
promptAction.showToast({ message: err });
...
...
PeopleDaily_Harmony/wdComponent/src/main/ets/viewmodel/PageModel.ets
View file @
b912bac
...
...
@@ -34,4 +34,6 @@ export default class PageModel {
isPullRefreshOperation = false;
isLoading: boolean = false;
isCanLoadMore: boolean = false;
// keyGenerator相关字符串,用于刷新list布局
timestamp: String = '1';
}
\ No newline at end of file
...
...
PeopleDaily_Harmony/wdComponent/src/main/ets/viewmodel/PageViewModel.ets
View file @
b912bac
...
...
@@ -147,14 +147,6 @@ export class PageViewModel extends BaseViewModel {
return;
}
success(resDTO.data);
// TODO 打开同步请求互动数据,待优化为异步加载
if (CollectionUtils.isEmpty(resDTO.data.compList)) {
success(resDTO.data);
} else {
this.getInteractData(resDTO.data.compList).then(() => {
success(resDTO.data);
})
}
})
.catch((err: Error) => {
Logger.error(TAG, `getPageData catch, error.name : ${err.name}, error.message:${err.message}`);
...
...
@@ -249,7 +241,8 @@ export class PageViewModel extends BaseViewModel {
}
if (id == content.objectId) {
content.interactData = interactData;
content.interactData.likeNum = 109;
// TODO 测试代码,待删除
// content.interactData.likeNum = Math.floor(Math.random() * Math.floor(999));;
break outer;
}
}
...
...
PeopleDaily_Harmony/wdKit/src/main/ets/utils/LazyDataSource.ets
View file @
b912bac
...
...
@@ -254,4 +254,10 @@ export class LazyDataSource<T> extends BasicDataSource<T> {
sort(comparator: (firstValue: T, secondValue: T) => number): void {
this.dataArray.sort(comparator)
}
public updateItems(start: number, data: T[]): void {
// 从数组中的start位置开始删除dataArray.length个元素,并在同一位置插入((1个或多个))新元素。
this.dataArray.splice(start, this.dataArray.length, ...data);
this.notifyDataReload()
}
}
\ No newline at end of file
...
...
sight_harmony/commons/wdKit/src/main/ets/utils/LazyDataSource.ets
View file @
b912bac
...
...
@@ -39,6 +39,10 @@ export class LazyDataSource<T> extends BasicDataSource<T> {
return this.getData(this.totalCount() - 1);
}
public size(): number {
return this.dataArray.length
}
// 获取所有数据
public getDataArray(): T[] {
return this.dataArray;
...
...
@@ -276,4 +280,10 @@ export class LazyDataSource<T> extends BasicDataSource<T> {
public sort(comparator: (firstValue: T, secondValue: T) => number): void {
this.dataArray.sort(comparator)
}
public updateItems(start: number, data: T[]): void {
// 从数组中的start位置开始删除dataArray.length个元素,并在同一位置插入((1个或多个))新元素。
this.dataArray.splice(start, this.dataArray.length, ...data);
this.notifyDataReload()
}
}
\ No newline at end of file
...
...
sight_harmony/features/wdBean/src/main/ets/bean/content/ContentDTO.ets
View file @
b912bac
...
...
@@ -59,7 +59,7 @@ export interface ContentDTO {
newsSummary: string; //appstyle:2 ,新闻详情
// 二次请求接口,返回的数据,这里组装到content里;
TODO 后续优化
// 二次请求接口,返回的数据,这里组装到content里;
interactData:InteractDataDTO;
hasMore: number,
...
...
sight_harmony/features/wdComponent/src/main/ets/components/page/PageComponent.ets
View file @
b912bac
import { CommonConstants, ViewType } from 'wdConstant';
import { Logger } from 'wdKit';
import { Logger
, DateTimeUtils
} from 'wdKit';
import PageViewModel from '../../viewmodel/PageViewModel';
import { EmptyComponent } from '../view/EmptyComponent';
import { ErrorComponent } from '../view/ErrorComponent';
...
...
@@ -48,7 +48,8 @@ export struct PageComponent {
}
@Builder ListLayout() {
@Builder
ListLayout() {
List() {
// 下拉刷新
ListItem() {
...
...
@@ -64,7 +65,9 @@ export struct PageComponent {
CompParser({ compDTO: compDTO, compIndex: compIndex });
}
}
})
},
(compDTO: CompDTO, compIndex: number) => compDTO.id + compIndex.toString() + this.pageModel.timestamp
)
// 加载更多
ListItem() {
...
...
@@ -79,7 +82,7 @@ export struct PageComponent {
}
}
.scrollBar(BarState.Off)
.cachedCount(
5
)
.cachedCount(
8
)
.height(CommonConstants.FULL_PARENT)
.onScrollIndex((start: number, end: number) => {
// Listen to the first index of the current list.
...
...
@@ -89,7 +92,8 @@ export struct PageComponent {
})
}
@Builder LoadingLayout() {
@Builder
LoadingLayout() {
CustomRefreshLoadLayout({ refreshBean: new RefreshLayoutBean(true,
$r('app.media.ic_pull_up_load'), $r('app.string.pull_up_load_text'), this.pageModel.pullDownRefreshHeight) })
}
...
...
@@ -116,6 +120,7 @@ export struct PageComponent {
this.pageModel.currentPage = 1;
let pageDto = await PageViewModel.getPageData(this.pageModel.pageId, this.pageModel.pageId, this.pageModel.channelId
, this.pageModel.currentPage, this.pageModel.pageSize, getContext(this))
this.pageModel.timestamp = DateTimeUtils.getTimeStamp().toString()
if (pageDto && pageDto.compList && pageDto.compList.length > 0) {
this.pageModel.viewType = ViewType.LOADED;
this.pageModel.compList.push(...pageDto.compList)
...
...
@@ -125,6 +130,12 @@ export struct PageComponent {
} else {
this.pageModel.hasMore = false;
}
// 二次请求,批查互动数据
PageViewModel.getInteractData(pageDto.compList).then((data: CompDTO[]) => {
// 刷新,替换所有数据
this.pageModel.compList.replaceAll(...data)
this.pageModel.timestamp = DateTimeUtils.getTimeStamp().toString()
})
} else {
Logger.debug(TAG, 'aboutToAppear, data response page ' + this.pageId + ', comp list is empty.');
this.pageModel.viewType = ViewType.EMPTY;
...
...
sight_harmony/features/wdComponent/src/main/ets/components/view/BigPicCardComponent.ets
View file @
b912bac
...
...
@@ -32,7 +32,8 @@ export struct BigPicCardComponent {
@Builder
originalBuild() {
Column() {
// TODO 测试代码
// Text("likeNum " + this.contentDTO?.interactData?.likeNum)
Column() {
//新闻标题
Text(this.compDTO.operDataList[0].newsTitle)
...
...
sight_harmony/features/wdComponent/src/main/ets/utils/PullDownRefresh.ets
View file @
b912bac
import promptAction from '@ohos.promptAction';
import { RefreshConstants as Const, RefreshState } from './RefreshConstants';
import { touchMoveLoadMore, touchUpLoadMore } from './PullUpLoadMore';
import { PageDTO } from 'wdBean';
import { PageDTO
, CompDTO
} from 'wdBean';
import PageModel from '../viewmodel/PageModel';
import PageViewModel from '../viewmodel/PageViewModel';
import { DateTimeUtils } from 'wdKit';
export function listTouchEvent(pageModel: PageModel, event: TouchEvent) {
switch (event.type) {
...
...
@@ -73,6 +74,7 @@ export function touchUpPullRefresh(pageModel: PageModel) {
PageViewModel.getPageData(self.pageId, self.groupId, self.channelId, self.currentPage, self.pageSize, getContext())
.then((data: PageDTO) => {
self.timestamp = DateTimeUtils.getTimeStamp().toString()
if (data == null || data.compList == null || data.compList.length == 0) {
self.hasMore = false;
} else {
...
...
@@ -84,6 +86,11 @@ export function touchUpPullRefresh(pageModel: PageModel) {
}
// 刷新,替换所有数据
self.compList.replaceAll(...data.compList)
PageViewModel.getInteractData(data.compList).then((data: CompDTO[]) => {
// 刷新,替换所有数据
self.compList.replaceAll(...data)
self.timestamp = DateTimeUtils.getTimeStamp().toString()
})
}
closeRefresh(self, true);
}).catch((err: string | Resource) => {
...
...
sight_harmony/features/wdComponent/src/main/ets/utils/PullUpLoadMore.ets
View file @
b912bac
...
...
@@ -2,7 +2,8 @@ import promptAction from '@ohos.promptAction';
import PageModel from '../viewmodel/PageModel';
import { RefreshConstants as Const } from './RefreshConstants';
import PageViewModel from '../viewmodel/PageViewModel';
import { PageDTO } from 'wdBean';
import { PageDTO,CompDTO } from 'wdBean';
import { DateTimeUtils } from 'wdKit';
export function touchMoveLoadMore(model: PageModel, event: TouchEvent) {
// list size +1
...
...
@@ -29,6 +30,7 @@ export function touchUpLoadMore(model: PageModel) {
closeLoadMore(model);
PageViewModel.getPageData(self.pageId, self.groupId, self.channelId, self.currentPage, self.pageSize, getContext())
.then((data: PageDTO) => {
self.timestamp = DateTimeUtils.getTimeStamp().toString()
if (data == null || data.compList == null || data.compList.length == 0) {
self.hasMore = false;
} else {
...
...
@@ -38,7 +40,13 @@ export function touchUpLoadMore(model: PageModel) {
} else {
self.hasMore = false;
}
let sizeBefore:number = self.compList.size();
self.compList.push(...data.compList)
PageViewModel.getInteractData(data.compList).then((data: CompDTO[]) => {
// 刷新,替换所有数据
self.compList.updateItems(sizeBefore, data)
self.timestamp = DateTimeUtils.getTimeStamp().toString()
})
}
}).catch((err: string | Resource) => {
promptAction.showToast({ message: err });
...
...
sight_harmony/features/wdComponent/src/main/ets/viewmodel/PageModel.ets
View file @
b912bac
...
...
@@ -32,4 +32,6 @@ export default class PageModel {
isPullRefreshOperation = false;
isLoading: boolean = false;
isCanLoadMore: boolean = false;
// keyGenerator相关字符串,用于刷新list布局
timestamp: String = '1';
}
\ No newline at end of file
...
...
sight_harmony/features/wdComponent/src/main/ets/viewmodel/PageViewModel.ets
View file @
b912bac
...
...
@@ -11,11 +11,7 @@ const TAG = 'PageViewModel';
* mock数据是本地json数据,可自行修改内容(‘entry\src\main\resources\rawfile\’目录)
*/
const mock_switch = false;
/**
* 互动数据获取开关开关,默认开。
* TODO 后续需要优化掉,变为二次请求异步刷新
*/
const interact_sync_switch = false;
/**
* 处理返回后的数据
*/
...
...
@@ -114,18 +110,7 @@ export class PageViewModel extends BaseViewModel {
return
}
Logger.info(TAG, "getNavData then,resDTO.timestamp:" + resDTO.timestamp);
if (!interact_sync_switch) {
success(resDTO.data);
return;
}
// TODO 打开同步请求互动数据,待优化为异步加载
// if (CollectionUtils.isEmpty(resDTO.data.compList)) {
// success(resDTO.data);
// } else {
// this.getInteractData(resDTO.data.compList).then(() => {
// success(resDTO.data);
// })
// }
success(resDTO.data);
})
.catch((err: Error) => {
Logger.error(TAG, `getPageData catch, error.name : ${err.name}, error.message:${err.message}`);
...
...
@@ -165,18 +150,7 @@ export class PageViewModel extends BaseViewModel {
return
}
Logger.info(TAG, "getNavData then,resDTO.timestamp:" + resDTO.timestamp);
if (!interact_sync_switch) {
success(resDTO.data);
return;
}
// TODO 打开同步请求互动数据,待优化为异步加载
// if (CollectionUtils.isEmpty(resDTO.data.compList)) {
// success(resDTO.data);
// } else {
// this.getInteractData(resDTO.data.compList).then(() => {
// success(resDTO.data);
// })
// }
success(resDTO.data);
})
.catch((err: Error) => {
Logger.error(TAG, `getPageData catch, error.name : ${err.name}, error.message:${err.message}`);
...
...
@@ -185,120 +159,123 @@ export class PageViewModel extends BaseViewModel {
})
}
// async getInteractData(compList: CompDTO[]) {
// let param: InteractParam = this.getInteractParams(compList);
// const SIZE = 20;
// // 批查接口,参数size限制20,这里截断分批查询,0,20;20,40...
// let count = Math.ceil(param.contentList.length / SIZE);
// if (count == 1) {
// let promise: Promise<InteractDataDTO[]> = this.createInteractDataPromise(param);
// promises.push(promise);
// } else {
// for (let i = 1;i <= count; i++) {
// // 将查询参数截断(参数限制20个),分批请求接口
// let subList = new Array<ContentBean>();
// let start = 0;
// let end = 0;
// if (i == count) {
// start = (i - 1) * SIZE;
// end = param.contentList.length;
// subList = CollectionUtils.getSubElements(param.contentList, start, end)
// } else {
// start = (i - 1) * SIZE;
// end = start + SIZE;
// subList = CollectionUtils.getSubElements(param.contentList, start, end)
// }
// let subParam: InteractParam = {} as InteractParam;
// subParam.contentList = subList;
// let promise: Promise<InteractDataDTO[]> = this.createInteractDataPromise(subParam);
// promises.push(promise);
// }
// }
//
// return new Promise<CompDTO[]>((success, error) => {
// Promise.all(promises).then((result) => {
// if (!CollectionUtils.isArray(result)) {
// success(compList);
// return;
// }
//
// let allInteractDataList = new Array();
// result.forEach((value: InteractDataDTO[]) => {
// if (value != null && value.length > 0) {
// allInteractDataList.push(...value);
// }
// })
// // 批查全部完成,统一设置到comp里
// this.resetInteract(allInteractDataList, compList);
// success(compList);
// })
// })
// }
//
// private createInteractDataPromise(param: InteractParam) {
// return new Promise<InteractDataDTO[]>((success, error) => {
// PageRepository.fetchInteractData(param).then((resDTO: ResponseDTO<InteractDataDTO[]>) => {
// if (this.isRespondsInvalid(resDTO, 'getInteractData')) {
// Logger.info(TAG, "getInteractData then,resDTO.timeStamp:" + resDTO.timestamp);
// success(null);
// return;
// }
// success(resDTO.data);
// }).catch((err: Error) => {
// Logger.error(TAG, `getInteractData catch, error.name : ${err.name}, error.message:${err.message}`);
// // 无论是否成功(暂不做重试),都回调结果,通知刷新数据
// success(null);
// })
// });
// }
//
// private resetInteract(interact: InteractDataDTO[], compList: CompDTO[]) {
// if (interact == null || interact.length == 0) {
// return
// }
// interact.forEach((interactData) => {
// let id = interactData.contentId;
// outer: for (let i = 0;i < compList.length; i++) {
// let comp = compList[i];
// if (comp == null || comp.operDataList == null || comp.operDataList.length == 0) {
// continue;
// }
// for (let j = 0;j < comp.operDataList.length; j++) {
// let content = comp.operDataList[j];
// if (content == null) {
// continue;
// }
// if (id == content.objectId) {
// content.interactData = interactData;
// break outer;
// }
// }
// }
// })
// }
//
// private getInteractParams(compList: CompDTO[]): InteractParam {
// if (compList == null || compList.length == 0) {
// return null;
// }
//
// let param: InteractParam = {} as InteractParam;
// param.contentList = new Array<ContentBean>();
// compList.forEach((value) => {
// let contentList = value.operDataList;
// if (contentList != null && contentList.length > 0) {
// contentList.forEach((v) => {
// if (StringUtils.isNotEmpty(v.objectId)) {
// let bean = {} as ContentBean;
// bean.contentId = v.objectId;
// bean.contentType = v.objectType;
// param.contentList.push(bean);
// }
// })
// }
// })
// return param;
// }
async getInteractData(compList: CompDTO[]) {
let param: InteractParam = this.getInteractParams(compList);
const SIZE = 20;
// 批查接口,参数size限制20,这里截断分批查询,0,20;20,40...
let count = Math.ceil(param.contentList.length / SIZE);
let promises: Array<Promise<InteractDataDTO[]>> = new Array;
if (count == 1) {
let promise: Promise<InteractDataDTO[]> = this.createInteractDataPromise(param);
promises.push(promise);
} else {
for (let i = 1; i <= count; i++) {
// 将查询参数截断(参数限制20个),分批请求接口
let subList = new Array<ContentBean>();
let start = 0;
let end = 0;
if (i == count) {
start = (i - 1) * SIZE;
end = param.contentList.length;
subList = CollectionUtils.getSubElements(param.contentList, start, end)
} else {
start = (i - 1) * SIZE;
end = start + SIZE;
subList = CollectionUtils.getSubElements(param.contentList, start, end)
}
let subParam: InteractParam = {} as InteractParam;
subParam.contentList = subList;
let promise: Promise<InteractDataDTO[]> = this.createInteractDataPromise(subParam);
promises.push(promise);
}
}
return new Promise<CompDTO[]>((success, error) => {
Promise.all(promises).then((result) => {
if (!CollectionUtils.isArray(result)) {
success(compList);
return;
}
let allInteractDataList: Array<InteractDataDTO> = new Array();
result.forEach((value: InteractDataDTO[]) => {
if (value != null && value.length > 0) {
allInteractDataList.push(...value);
}
})
// 批查全部完成,统一设置到comp里
this.resetInteract(allInteractDataList, compList);
success(compList);
})
})
}
private createInteractDataPromise(param: InteractParam) {
return new Promise<InteractDataDTO[]>((success, error) => {
PageRepository.fetchInteractData(param).then((resDTO: ResponseDTO<InteractDataDTO[]>) => {
if (!resDTO || !resDTO.data) {
Logger.info(TAG, "getInteractData then,resDTO.timeStamp:" + resDTO.timestamp);
success([]);
return;
}
success(resDTO.data);
}).catch((err: Error) => {
Logger.error(TAG, `getInteractData catch, error.name : ${err.name}, error.message:${err.message}`);
// 无论是否成功(暂不做重试),都回调结果,通知刷新数据
success([]);
})
});
}
private resetInteract(interact: InteractDataDTO[], compList: CompDTO[]) {
if (interact == null || interact.length == 0) {
return
}
interact.forEach((interactData) => {
let id = interactData.contentId;
outer: for (let i = 0; i < compList.length; i++) {
let comp = compList[i];
if (comp == null || comp.operDataList == null || comp.operDataList.length == 0) {
continue;
}
for (let j = 0; j < comp.operDataList.length; j++) {
let content = comp.operDataList[j];
if (content == null) {
continue;
}
if (id == content.objectId) {
content.interactData = interactData;
// TODO 测试代码,待删除
// content.interactData.likeNum = Math.floor(Math.random() * Math.floor(999));;
break outer;
}
}
}
})
}
private getInteractParams(compList: CompDTO[]): InteractParam {
if (compList == null || compList.length == 0) {
return {} as InteractParam;
}
let param: InteractParam = {} as InteractParam;
param.contentList = new Array<ContentBean>();
compList.forEach((value) => {
let contentList = value.operDataList;
if (contentList != null && contentList.length > 0) {
contentList.forEach((v) => {
if (StringUtils.isNotEmpty(v.objectId)) {
let bean = {} as ContentBean;
bean.contentId = v.objectId;
bean.contentType = v.objectType;
param.contentList.push(bean);
}
})
}
})
return param;
}
}
...
...
Please
register
or
login
to post a comment