PageModel.ets
3.47 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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
import { CompDTO, GroupDTO } from 'wdBean';
import { LazyDataSource } from 'wdKit';
import { ViewType } from 'wdConstant/src/main/ets/enum/ViewType';
import { RefreshConstants as Const } from '../utils/RefreshConstants';
import { PageUIReqBean } from '../components/page/bean/PageUIReqBean';
import { GroupInfoDTO, PageInfoDTO } from 'wdBean/src/main/ets/bean/navigation/PageInfoDTO';
import { AdvRuleBean, CompAdvBean } from 'wdBean/src/main/ets/bean/adv/AdvsRuleBean';
import { WDViewDefaultType } from '../components/view/EmptyComponent';
import { LoadStatus } from '../components/refresh/RefreshLayoutBean';
import { BaseDTO } from 'wdBean/src/main/ets/bean/component/BaseDTO';
/**
* 页面下拉刷新、上拉加载数据bean。
* TODO 将业务数据拆出去
*/
export default class PageModel {
// 页面数据
pageId: string = "";
groupId: string = "";
channelId: string = "";
isRecGroup: boolean = false;
pageInfo: PageInfoDTO = {} as PageInfoDTO
groupList: GroupInfoDTO[] = [];
// 当前请求数据的group
groupData: GroupInfoDTO = {} as GroupInfoDTO;
compList: LazyDataSource<BaseDTO> = new LazyDataSource();
// 页面状态,刷新、加载更多等,1-首次、2-下拉、3上拉
loadStrategy: number = 1;
currentPage: number = 1;
pageSize: number = Const.PAGE_SIZE;
/**
* @deprecated
*/
pullDownRefreshText: Resource = $r('app.string.pull_down_refresh_text');
/**
* @deprecated
*/
pullDownRefreshImage: Resource = $r('app.media.ic_pull_down_refresh');
pullDownRefreshHeight: number = Const.CUSTOM_LAYOUT_HEIGHT;
isVisiblePullDown: boolean = false;
load: LoadStatus = LoadStatus.IDLE;
/**
* @deprecated
*/
pullUpLoadText: Resource = $r('app.string.pull_up_load_text');
/**
* @deprecated
*/
pullUpLoadImage: Resource = $r('app.media.ic_pull_up_load');
/**
* @deprecated
*/
pullUpLoadHeight: number = Const.CUSTOM_LAYOUT_HEIGHT;
isVisiblePullUpLoad: boolean = false;
offsetY: number = 0;
viewType: number = ViewType.LOADING;
emptyType: WDViewDefaultType = WDViewDefaultType.WDViewDefaultType_Default
NoNetwork: WDViewDefaultType = WDViewDefaultType.WDViewDefaultType_NoNetwork
hasMore: boolean = true;
startIndex = 0;
endIndex = 0;
downY = 0;
lastMoveY = 0;
isHandRefreshing:boolean = false //是否手动刷新
isRefreshing: boolean = false;
isCanRefresh = false;
isPullRefreshOperation = false;
isLoading: boolean = false;
isCanLoadMore: boolean = false;
refreshTimeoutTimerId: number = 0;
loadMoreTimeoutTimerId: number = 0;
// keyGenerator相关字符串,用于刷新list布局
timestamp: String = '1';
// 记录已经展示的稿件和组件数量
pageTotalCompSize: number = 0;
//0默认信息流,1聚合页
pageType: number = 0;
extra: string = ''
// 页面加载,md5数据相关(初始缓存、下拉刷新用到)
displayPageInfoMd5: string = ''
displayGroupInfoMd5: string = ''
// 第一页,最后一个comp下标,用于区分分页加载(下拉刷新,清除分页数据)
firstPageEndIndex = -1
loadImg: boolean = true;
/**
* 简单复制业务数据
*/
bizCopy(): PageUIReqBean {
let page = new PageUIReqBean()
page.pageId = this.pageId
page.groupId = this.groupId
page.channelId = this.channelId
page.isRecGroup = this.isRecGroup
page.currentPage = this.currentPage
page.pageSize = this.pageSize
page.groupStrategy = this.groupData.groupStrategy
page.loadStrategy = this.loadStrategy
return page
}
}