yumaochao
@@ -5,6 +5,10 @@ import { HostManager } from './HttpHostManager'; @@ -5,6 +5,10 @@ import { HostManager } from './HttpHostManager';
5 */ 5 */
6 export class HttpUrlUtils { 6 export class HttpUrlUtils {
7 /** 7 /**
  8 + * 查询直播参与人数
  9 + */
  10 + static readonly GET_JOIN_PEOPLE_NUM: string = '/api/live-center-message/zh/a/live/room/number/batch/all'
  11 + /**
8 * 启动接口(底导接口) 12 * 启动接口(底导接口)
9 */ 13 */
10 static readonly BOTTOM_NAV_PATH: string = "/api/rmrb-bff-display-zh/display/zh/c/bottomNavGroup"; 14 static readonly BOTTOM_NAV_PATH: string = "/api/rmrb-bff-display-zh/display/zh/c/bottomNavGroup";
@@ -135,14 +139,6 @@ export class HttpUrlUtils { @@ -135,14 +139,6 @@ export class HttpUrlUtils {
135 */ 139 */
136 static readonly APPOINTMENT_ExecuteCollcet_PATH: string = "/api/rmrb-interact/interact/zh/c/collect/executeCollcetRecord"; 140 static readonly APPOINTMENT_ExecuteCollcet_PATH: string = "/api/rmrb-interact/interact/zh/c/collect/executeCollcetRecord";
137 /** 141 /**
138 - * 个人中心 - 消息  
139 - */  
140 - static readonly APPOINTMENT_MessageList_PATH: string = "/api/rmrb-inside-mail/zh/c/inside-mail/private";  
141 - /**  
142 - * 个人中心 - 消息 点赞数  
143 - */  
144 - static readonly APPOINTMENT_getMessageLikeCount_PATH: string = "/api/rmrb-inside-mail/zh/c/inside-mail/private/getLikeCount";  
145 - /**  
146 * 个人中心 我的评论列表 142 * 个人中心 我的评论列表
147 */ 143 */
148 static readonly MINE_COMMENT_LIST_DATA_PATH: string = "/api/rmrb-comment/comment/zh/c/myCommentList"; 144 static readonly MINE_COMMENT_LIST_DATA_PATH: string = "/api/rmrb-comment/comment/zh/c/myCommentList";
@@ -324,10 +320,6 @@ export class HttpUrlUtils { @@ -324,10 +320,6 @@ export class HttpUrlUtils {
324 */ 320 */
325 static readonly FEEDBACK_TYPE_PATH: string = "/api/rmrb-interact/interact/c/user/optionClassify/list"; 321 static readonly FEEDBACK_TYPE_PATH: string = "/api/rmrb-interact/interact/c/user/optionClassify/list";
326 322
327 - /**  
328 - * 查询点赞、回复我的、系统消息的未读数量以及回复/评论人  
329 - */  
330 - static readonly MESSAGE_UN_READ_DATA_PATH: string = "/api/rmrb-inside-mail/zh/c/inside-mail/private/polymerizationInfo?createTime=";  
331 323
332 /** 324 /**
333 * 直播详情-直播人数 325 * 直播详情-直播人数
@@ -515,16 +507,6 @@ export class HttpUrlUtils { @@ -515,16 +507,6 @@ export class HttpUrlUtils {
515 return url 507 return url
516 } 508 }
517 509
518 - static getMessageListDataUrl() {  
519 - let url = HttpUrlUtils.getHost() + HttpUrlUtils.APPOINTMENT_MessageList_PATH  
520 - return url  
521 - }  
522 -  
523 - static getMessageLikeCount() {  
524 - let url = HttpUrlUtils.getHost() + HttpUrlUtils.APPOINTMENT_getMessageLikeCount_PATH  
525 - return url  
526 - }  
527 -  
528 static getExecuteCollcetUrl() { 510 static getExecuteCollcetUrl() {
529 let url = HttpUrlUtils.getHost() + HttpUrlUtils.APPOINTMENT_ExecuteCollcet_PATH 511 let url = HttpUrlUtils.getHost() + HttpUrlUtils.APPOINTMENT_ExecuteCollcet_PATH
530 return url 512 return url
@@ -761,14 +743,9 @@ export class HttpUrlUtils { @@ -761,14 +743,9 @@ export class HttpUrlUtils {
761 return url; 743 return url;
762 } 744 }
763 745
764 - //获取消息未读接口  
765 - static getMessageUnReadDataUrl() {  
766 - let url = HttpUrlUtils.getHost() + HttpUrlUtils.MESSAGE_UN_READ_DATA_PATH  
767 - return url  
768 - }  
769 -  
770 - static reportDeviceInfo() {  
771 - let url = HttpUrlUtils.getHost() + "/api/rmrb-user-center/common/user/c/device/push"; 746 +// 查询节目的参与人数
  747 + static getJoinPeopleNum() {
  748 + let url = HttpUrlUtils.getHost() + HttpUrlUtils.GET_JOIN_PEOPLE_NUM;
772 return url; 749 return url;
773 } 750 }
774 751
@@ -796,4 +773,38 @@ export class HttpUrlUtils { @@ -796,4 +773,38 @@ export class HttpUrlUtils {
796 let url = HttpUrlUtils.getHost() + HttpUrlUtils.ENTER_MESSAGE_PATH 773 let url = HttpUrlUtils.getHost() + HttpUrlUtils.ENTER_MESSAGE_PATH
797 return url 774 return url
798 } 775 }
799 -} 776 + /**
  777 + * 个人中心 - 消息
  778 + */
  779 + static readonly APPOINTMENT_MessageList_PATH: string = "/api/rmrb-inside-mail/zh/c/inside-mail/private";
  780 + /**
  781 + * 个人中心 - 消息 点赞数
  782 + */
  783 + static readonly APPOINTMENT_getMessageLikeCount_PATH: string = "/api/rmrb-inside-mail/zh/c/inside-mail/private/getLikeCount";
  784 +
  785 + /**
  786 + * 查询点赞、回复我的、系统消息的未读数量以及回复/评论人
  787 + */
  788 + static readonly MESSAGE_UN_READ_DATA_PATH: string = "/api/rmrb-inside-mail/zh/c/inside-mail/private/polymerizationInfo?createTime=";
  789 +
  790 + static getMessageListDataUrl() {
  791 + let url = HttpUrlUtils.getHost() + HttpUrlUtils.APPOINTMENT_MessageList_PATH
  792 + return url
  793 + }
  794 +
  795 + static getMessageLikeCount() {
  796 + let url = HttpUrlUtils.getHost() + HttpUrlUtils.APPOINTMENT_getMessageLikeCount_PATH
  797 + return url
  798 + }
  799 +
  800 + //获取消息未读接口
  801 + static getMessageUnReadDataUrl() {
  802 + let url = HttpUrlUtils.getHost() + HttpUrlUtils.MESSAGE_UN_READ_DATA_PATH
  803 + return url
  804 + }
  805 +
  806 + static reportDeviceInfo() {
  807 + let url = HttpUrlUtils.getHost() + "/api/rmrb-user-center/common/user/c/device/push";
  808 + return url;
  809 + }
  810 +}
@@ -88,7 +88,7 @@ export class ContentDTO implements BaseDTO { @@ -88,7 +88,7 @@ export class ContentDTO implements BaseDTO {
88 /* 88 /*
89 本地辅助字段 89 本地辅助字段
90 */ 90 */
91 - liveRoomDataBean?: LiveRoomDataBean // 批查获取到的直播观看人数 91 + liveRoomDataBean : LiveRoomDataBean = {} as LiveRoomDataBean// 批查获取到的直播观看人数
92 92
93 static clone(old: ContentDTO): ContentDTO { 93 static clone(old: ContentDTO): ContentDTO {
94 let content = new ContentDTO(); 94 let content = new ContentDTO();
@@ -7,8 +7,7 @@ import { Card2Component } from './cardview/Card2Component'; @@ -7,8 +7,7 @@ import { Card2Component } from './cardview/Card2Component';
7 import { Card5Component } from './cardview/Card5Component'; 7 import { Card5Component } from './cardview/Card5Component';
8 import { AdvCardParser } from './cardViewAdv/AdvCardParser'; 8 import { AdvCardParser } from './cardViewAdv/AdvCardParser';
9 import { ZhCarouselLayout01 } from './compview/ZhCarouselLayout01'; 9 import { ZhCarouselLayout01 } from './compview/ZhCarouselLayout01';
10 -import { ZhGridLayout02 } from './compview/ZhGridLayout02';  
11 -import { ZhGridLayout02News } from './compview/ZhGridLayout02News'; 10 +import { CompNormalTitle } from './compview/CompNormalTitle';
12 import { ZhGridLayout02NewsContent } from './compview/ZhGridLayout02NewsContent'; 11 import { ZhGridLayout02NewsContent } from './compview/ZhGridLayout02NewsContent';
13 import { ZhGridLayout03 } from './compview/ZhGridLayout03'; 12 import { ZhGridLayout03 } from './compview/ZhGridLayout03';
14 import { ZhSingleColumn04 } from './compview/ZhSingleColumn04'; 13 import { ZhSingleColumn04 } from './compview/ZhSingleColumn04';
@@ -77,11 +76,11 @@ export struct CompParser { @@ -77,11 +76,11 @@ export struct CompParser {
77 Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 76 Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 })
78 } else if (this.compDTO.compStyle === CompStyle.Zh_Grid_Layout_02) { //双列流小视频,一行两图卡 ->标题 77 } else if (this.compDTO.compStyle === CompStyle.Zh_Grid_Layout_02) { //双列流小视频,一行两图卡 ->标题
79 //ZhGridLayout02({ compDTO: this.compDTO }) 78 //ZhGridLayout02({ compDTO: this.compDTO })
80 - ZhGridLayout02News({ compDTO: this.compDTO }) 79 + CompNormalTitle({ compDTO: this.compDTO })
81 // Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 80 // Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 })
82 } else if (this.compDTO.compStyle === CompStyle.Card_Comp_Zh_Grid_Layout_02) { //双列流小视频,一行两图卡 81 } else if (this.compDTO.compStyle === CompStyle.Card_Comp_Zh_Grid_Layout_02) { //双列流小视频,一行两图卡
83 82
84 - ZhGridLayout02NewsContent({ compDTO: this.compDTO }) 83 + ZhGridLayout02NewsContent({ compDTO: this.compDTO, operDataList: this.compDTO.operDataList })
85 84
86 } else if (this.compDTO.compStyle === CompStyle.Zh_Grid_Layout_03) { 85 } else if (this.compDTO.compStyle === CompStyle.Zh_Grid_Layout_03) {
87 ZhGridLayout03({ compDTO: this.compDTO }) 86 ZhGridLayout03({ compDTO: this.compDTO })
@@ -210,23 +210,22 @@ export struct FeedBackActivity { @@ -210,23 +210,22 @@ export struct FeedBackActivity {
210 .padding({ bottom: 44 }) 210 .padding({ bottom: 44 })
211 Column(){ 211 Column(){
212 Text($r('app.string.submit')) 212 Text($r('app.string.submit'))
213 - .align(Alignment.Center) 213 + .textAlign(TextAlign.Center)
214 .height(44) 214 .height(44)
215 .width('90%') 215 .width('90%')
216 - .fontColor(this.canSubmit?$r('app.color.color_9E9E9E_40'):$r('app.color.color_fff')) 216 + .fontColor(this.canSubmit ? $r('app.color.color_9E9E9E_40') : $r('app.color.color_fff'))
217 .fontSize($r('app.float.font_size_18')) 217 .fontSize($r('app.float.font_size_18'))
218 - .backgroundColor(this.canSubmit?$r('app.color.color_ED2800_99'):$r('app.color.color_EDEDED')) 218 + .backgroundColor(this.canSubmit ? $r('app.color.color_ED2800_99') : $r('app.color.color_EDEDED'))
219 .borderRadius(4) 219 .borderRadius(4)
220 .onClick(async (event: ClickEvent) => { 220 .onClick(async (event: ClickEvent) => {
221 - if(await FastClickUtil.isMinDelayTime()){ 221 + if (await FastClickUtil.isMinDelayTime()) {
222 return 222 return
223 } 223 }
224 this.reportCommit() 224 this.reportCommit()
225 }) 225 })
226 - Blank().height(15).width('100%') 226 + .margin({bottom:20})
227 } 227 }
228 - .height(59)  
229 - } 228 + }.margin({bottom:20})
230 } 229 }
231 } 230 }
232 231
@@ -192,7 +192,7 @@ export struct ImageAndTextPageComponent { @@ -192,7 +192,7 @@ export struct ImageAndTextPageComponent {
192 Row() { 192 Row() {
193 Image($r('app.media.line')) 193 Image($r('app.media.line'))
194 .width('100%') 194 .width('100%')
195 - .height(6) 195 + .height(7)
196 .objectFit(ImageFit.Cover) 196 .objectFit(ImageFit.Cover)
197 .margin({ top: 10 }) 197 .margin({ top: 10 })
198 } 198 }
@@ -7,11 +7,11 @@ import { onlyWifiLoadImg } from '../../utils/lazyloadImg'; @@ -7,11 +7,11 @@ import { onlyWifiLoadImg } from '../../utils/lazyloadImg';
7 7
8 8
9 /** 9 /**
10 - * 双图卡 的标题组件 10 + * 通用标题组件
11 * 11 *
12 */ 12 */
13 @Component 13 @Component
14 -export struct ZhGridLayout02News { 14 +export struct CompNormalTitle {
15 @State compDTO: CompDTO = new CompDTO 15 @State compDTO: CompDTO = new CompDTO
16 16
17 aboutToAppear() { 17 aboutToAppear() {
1 -import { CompDTO, ContentDTO, LiveRoomDataBean } from 'wdBean';  
2 -import { CommonConstants } from 'wdConstant/Index';  
3 -import { Logger } from 'wdKit/Index';  
4 -import { ProcessUtils } from 'wdRouter';  
5 -import PageViewModel from '../../viewmodel/PageViewModel';  
6 -import { onlyWifiLoadImg } from '../../utils/lazyloadImg';  
7 -  
8 -const TAG = 'Zh_Grid_Layout-02';  
9 -const FULL_PARENT: string = '100%';  
10 -let listSize: number = 2;  
11 -  
12 -/**  
13 - * 双图卡  
14 - * 枚举值Zh_Grid_Layout-02  
15 - * Zh_Grid_Layout-02  
16 - *  
17 - */  
18 -@Component  
19 -export struct ZhGridLayout02 {  
20 - @State compDTO: CompDTO = {} as CompDTO  
21 - @State operDataList: ContentDTO[] = []  
22 - @State loadImg: boolean = false;  
23 - @State liveRoomList: LiveRoomDataBean[] = []  
24 - currentPage = 1  
25 - pageSize = 12  
26 -  
27 - async aboutToAppear(): Promise<void> {  
28 - Logger.debug(TAG, 'aboutToAppear ' + this.compDTO.objectTitle)  
29 - this.currentPage = 1  
30 - PageViewModel.getLiveReviewUrl(this.currentPage, this.pageSize).then((liveReviewDTO) => {  
31 - this.operDataList = []  
32 - this.operDataList.push(...liveReviewDTO.list)  
33 - this.getLiveRoomDataInfo(this.operDataList)  
34 - })  
35 -  
36 - this.loadImg = await onlyWifiLoadImg();  
37 - }  
38 -  
39 - build() {  
40 - Column() {  
41 - Scroll() {  
42 - Column() {  
43 - Row() {  
44 - Image($r("app.media.redLine"))  
45 - .width(3)  
46 - .height(16)  
47 - .margin({ right: 4 })  
48 - Text(this.compDTO.objectTitle)  
49 - .fontSize($r("app.float.font_size_17"))  
50 - .fontColor($r("app.color.color_222222"))  
51 - .fontWeight(600)  
52 - }  
53 - .justifyContent(FlexAlign.Start)  
54 - .margin({ top: 16, bottom: 8 })  
55 - .width(CommonConstants.FULL_WIDTH)  
56 -  
57 - GridRow({  
58 - gutter: { x: 12, y: 13 },  
59 - columns: { sm: listSize, md: 2 },  
60 - breakpoints: { value: ['320vp', '520vp', '840vp'] }  
61 - }) {  
62 - ForEach(this.operDataList, (item: ContentDTO, index: number) => {  
63 - GridCol() {  
64 - this.buildItemCard(item);  
65 - }  
66 - })  
67 - }  
68 - }  
69 - }  
70 - .width("100%")  
71 - .height("100%")  
72 - // .layoutWeight(1)  
73 - .edgeEffect(EdgeEffect.None)  
74 - .scrollBar(BarState.Off)  
75 - .onReachStart(() => {  
76 - Logger.debug(TAG, 'onReachStart')  
77 - })  
78 - .onReachEnd(() => {  
79 - Logger.debug(TAG, 'onReachEnd')  
80 - this.addItems()  
81 - })  
82 - .nestedScroll({  
83 - scrollForward: NestedScrollMode.PARENT_FIRST,  
84 - scrollBackward: NestedScrollMode.SELF_FIRST  
85 - })  
86 - }  
87 - .width(CommonConstants.FULL_WIDTH)  
88 - // .width("100%")  
89 - .height("100%")  
90 - .padding({ left: 16, right: 16 })  
91 -  
92 - // .layoutWeight(1)  
93 -  
94 - }  
95 -  
96 - /**  
97 - * 组件项  
98 - *  
99 - * @param programmeBean item 组件项, 上面icon,下面标题  
100 - */  
101 - @Builder  
102 - buildItemCard(item: ContentDTO) {  
103 - Column() {  
104 - Stack({ alignContent: Alignment.BottomEnd }) {  
105 - Image(this.loadImg ? item.fullColumnImgUrls[0].url : '')  
106 - .backgroundColor(0xf5f5f5)  
107 - .width('100%')  
108 - .height(95)  
109 - .borderRadius(4)  
110 - if (this.getLiveRoomNumber(item).length > 0) {  
111 - Text(this.getLiveRoomNumber(item))  
112 - .fontSize('11vp')  
113 - .fontWeight(400)  
114 - .fontColor(Color.White)  
115 - .margin({  
116 - right: '5vp',  
117 - bottom: '5vp'  
118 - })  
119 - }  
120 - }  
121 -  
122 - Text(item.newsTitle)  
123 - .margin({top:'6'})  
124 - .fontSize(13)  
125 - .maxLines(2)  
126 - .textOverflow({ overflow: TextOverflow.Ellipsis })  
127 - }  
128 - .width('100%')  
129 - .onClick(() => {  
130 - ProcessUtils.processPage(item)  
131 - })  
132 - }  
133 -  
134 - // 获取评论数  
135 - async getLiveRoomDataInfo(list: ContentDTO[]) {  
136 - const reserveIds = this.getLiveDetailIds(list)  
137 - PageViewModel.getLiveRoomBatchInfo(reserveIds).then((result) => {  
138 - if (result && result.length > 0) {  
139 - this.liveRoomList.push(...result)  
140 - }  
141 - }).catch(() => {  
142 - })  
143 - }  
144 -  
145 - // 判断是否预约  
146 - getLiveRoomNumber(item: ContentDTO): string {  
147 - const objc = this.liveRoomList.find((element: LiveRoomDataBean) => {  
148 - return element.liveId.toString() == item.objectId  
149 - })  
150 - if (objc && objc.pv && objc.pv > 0) {  
151 - return this.computeShowNum(objc.pv)  
152 - }  
153 - return ''  
154 - }  
155 -  
156 - addItems() {  
157 - Logger.debug(TAG, 'addItems')  
158 - this.currentPage++  
159 - PageViewModel.getLiveReviewUrl(this.currentPage, this.pageSize).then((liveReviewDTO) => {  
160 - this.operDataList.push(...liveReviewDTO.list)  
161 - this.getLiveRoomDataInfo(this.operDataList)  
162 - Logger.debug(TAG, 'addItems after: ' + this.operDataList.length)  
163 - })  
164 - }  
165 -  
166 - private getLiveDetailIds(list: ContentDTO[]): string {  
167 - let idList: string[] = []  
168 - list.forEach(item => {  
169 - idList.push(item.objectId)  
170 - });  
171 - return idList.join(',')  
172 - }  
173 -  
174 - private computeShowNum(count: number): string {  
175 - if (count >= 10000) {  
176 - let num = (count / 10000).toFixed(1)  
177 - if (Number(num.substring(num.length - 1)) == 0) {  
178 - num = num.substring(0, num.length - 2)  
179 - }  
180 - return num + '万人参加'  
181 - }  
182 - return `${count}人参加`  
183 - }  
184 -}  
185 -  
186 -  
@@ -14,6 +14,7 @@ let listSize: number = 2; @@ -14,6 +14,7 @@ let listSize: number = 2;
14 @Component 14 @Component
15 export struct ZhGridLayout02NewsContent { 15 export struct ZhGridLayout02NewsContent {
16 @ObjectLink compDTO: CompDTO 16 @ObjectLink compDTO: CompDTO
  17 + @State operDataList: ContentDTO[] = []
17 @State loadImg: boolean = false; 18 @State loadImg: boolean = false;
18 19
19 async aboutToAppear(): Promise<void> { 20 async aboutToAppear(): Promise<void> {
@@ -23,24 +24,22 @@ export struct ZhGridLayout02NewsContent { @@ -23,24 +24,22 @@ export struct ZhGridLayout02NewsContent {
23 24
24 build() { 25 build() {
25 26
26 - if (this.compDTO != undefined) {  
27 - GridRow({  
28 - gutter: { x: 12, y: 13 },  
29 - columns: { sm: listSize, md: 2 },  
30 - breakpoints: { value: ['320vp', '520vp', '840vp'] }  
31 - }) {  
32 - ForEach(this.compDTO.operDataList, (item: ContentDTO, index: number) => {  
33 - GridCol() {  
34 - this.buildItemCard(item);  
35 - }  
36 - })  
37 - }.width("100%").padding({ left: 16, right: 16 })  
38 - } 27 + GridRow({
  28 + gutter: { x: 12, y: 13 },
  29 + columns: { sm: listSize, md: 2 },
  30 + breakpoints: { value: ['320vp', '520vp', '840vp'] }
  31 + }) {
  32 + ForEach(this.operDataList, (item: ContentDTO, index: number) => {
  33 + GridCol() {
  34 + this.buildItemCard(item, index);
  35 + }
  36 + })
  37 + }.width("100%").padding({ left: 16, right: 16 })
39 38
40 } 39 }
41 40
42 @Builder 41 @Builder
43 - buildItemCard(item: ContentDTO) { 42 + buildItemCard(item: ContentDTO, index: number) {
44 Column() { 43 Column() {
45 Stack({ alignContent: Alignment.BottomEnd }) { 44 Stack({ alignContent: Alignment.BottomEnd }) {
46 Image(this.loadImg ? item.fullColumnImgUrls[0].url : '') 45 Image(this.loadImg ? item.fullColumnImgUrls[0].url : '')
@@ -48,8 +47,9 @@ export struct ZhGridLayout02NewsContent { @@ -48,8 +47,9 @@ export struct ZhGridLayout02NewsContent {
48 .width('100%') 47 .width('100%')
49 .height(95) 48 .height(95)
50 .borderRadius(4) 49 .borderRadius(4)
51 - if (item.liveRoomDataBean != null && item.liveRoomDataBean.pv > 0) {  
52 - Text(this.computeShowNum(item.liveRoomDataBean.pv)) 50 + if (this.compDTO.operDataList[index].liveRoomDataBean != undefined
  51 + && this.compDTO.operDataList[index].liveRoomDataBean?.pv != undefined) {
  52 + Text(this.computeShowNum(this.compDTO.operDataList[index].liveRoomDataBean))
53 .fontSize('11vp') 53 .fontSize('11vp')
54 .fontWeight(400) 54 .fontWeight(400)
55 .fontColor(Color.White) 55 .fontColor(Color.White)
@@ -61,7 +61,7 @@ export struct ZhGridLayout02NewsContent { @@ -61,7 +61,7 @@ export struct ZhGridLayout02NewsContent {
61 } 61 }
62 62
63 Text(item.newsTitle) 63 Text(item.newsTitle)
64 - .margin({ top: '6',bottom:'10' }) 64 + .margin({ top: '6', bottom: '10' })
65 .fontSize(13) 65 .fontSize(13)
66 .maxLines(2) 66 .maxLines(2)
67 .textOverflow({ overflow: TextOverflow.Ellipsis }) 67 .textOverflow({ overflow: TextOverflow.Ellipsis })
@@ -72,7 +72,8 @@ export struct ZhGridLayout02NewsContent { @@ -72,7 +72,8 @@ export struct ZhGridLayout02NewsContent {
72 }) 72 })
73 } 73 }
74 74
75 - private computeShowNum(count: number): string { 75 + private computeShowNum(bean: LiveRoomDataBean): string {
  76 + let count = bean.pv
76 if (count >= 10000) { 77 if (count >= 10000) {
77 let num = (count / 10000).toFixed(1) 78 let num = (count / 10000).toFixed(1)
78 if (Number(num.substring(num.length - 1)) == 0) { 79 if (Number(num.substring(num.length - 1)) == 0) {
@@ -17,6 +17,14 @@ import { CacheData } from 'wdNetwork/Index'; @@ -17,6 +17,14 @@ import { CacheData } from 'wdNetwork/Index';
17 17
18 const TAG = 'PageHelper'; 18 const TAG = 'PageHelper';
19 19
  20 +// 本地的一行两图卡 style值
  21 +const OneRowDoubleColumnStyle = CompStyle.Card_Comp_Zh_Grid_Layout_02
  22 +
  23 +const Normal_Page_Size = 20 // 常规每页数量
  24 +
  25 +const Rec_Page_Size = 10 // 推荐每页数量
  26 +
  27 +
20 /** 28 /**
21 * 处理返回后的数据 29 * 处理返回后的数据
22 */ 30 */
@@ -44,7 +52,7 @@ export class PageHelper { @@ -44,7 +52,7 @@ export class PageHelper {
44 * 进页面请求数据 52 * 进页面请求数据
45 */ 53 */
46 async getInitCacheData(pageModel: PageModel, pageAdvModel: PageAdModel) { 54 async getInitCacheData(pageModel: PageModel, pageAdvModel: PageAdModel) {
47 - Logger.error('zzzz','getInitCacheData') 55 + Logger.error('zzzz', 'getInitCacheData')
48 PageViewModel.getPageInfoCache(pageModel.pageId).then(pageInfo => { 56 PageViewModel.getPageInfoCache(pageModel.pageId).then(pageInfo => {
49 if (pageInfo == null) { 57 if (pageInfo == null) {
50 return; 58 return;
@@ -57,17 +65,15 @@ export class PageHelper { @@ -57,17 +65,15 @@ export class PageHelper {
57 } 65 }
58 66
59 async parseCacheGroup(pageModel: PageModel) { 67 async parseCacheGroup(pageModel: PageModel) {
60 - Logger.error('zzzz','parseCacheGroup') 68 + Logger.error('zzzz', 'parseCacheGroup')
61 let pageInfo: PageInfoDTO = pageModel.pageInfo 69 let pageInfo: PageInfoDTO = pageModel.pageInfo
62 pageModel.groupList = [] 70 pageModel.groupList = []
63 pageInfo.pageAdList = [] 71 pageInfo.pageAdList = []
64 pageInfo.oneRequestPageGroupCompList = new ArrayList() 72 pageInfo.oneRequestPageGroupCompList = new ArrayList()
65 pageModel.groupList.push(...pageInfo.groups) 73 pageModel.groupList.push(...pageInfo.groups)
66 - Logger.error("ZZZXXXXX", 'parseCacheGroup----1-----');  
67 for (const group of pageInfo.groups) { 74 for (const group of pageInfo.groups) {
68 pageModel.groupId = group.id; 75 pageModel.groupId = group.id;
69 pageModel.groupData = group 76 pageModel.groupData = group
70 - Logger.error("ZZZXXXXX", '楼层id-start--》' + pageModel.groupId);  
71 // await,确保groups接口顺序执行 77 // await,确保groups接口顺序执行
72 let pageDto = await PageViewModel.getPageGroupCacheData(pageModel.bizCopy()) as PageDTO 78 let pageDto = await PageViewModel.getPageGroupCacheData(pageModel.bizCopy()) as PageDTO
73 let index = pageInfo.groups.indexOf(group) 79 let index = pageInfo.groups.indexOf(group)
@@ -76,7 +82,6 @@ export class PageHelper { @@ -76,7 +82,6 @@ export class PageHelper {
76 pageModel.compList.clear() 82 pageModel.compList.clear()
77 } 83 }
78 this.analysisPageGroupCompData(pageDto, pageInfo) 84 this.analysisPageGroupCompData(pageDto, pageInfo)
79 - Logger.error("ZZZXXXXX", '楼层id-end--》' + pageModel.groupId + ' 楼层 comp数量=' + pageDto.compList.length);  
80 } 85 }
81 86
82 // 收集页面所有楼层的组件信息,同步完成广告投放计算,异步完成稿件批查, 87 // 收集页面所有楼层的组件信息,同步完成广告投放计算,异步完成稿件批查,
@@ -90,12 +95,10 @@ export class PageHelper { @@ -90,12 +95,10 @@ export class PageHelper {
90 for (let element of pageInfo.oneRequestPageGroupCompList) { 95 for (let element of pageInfo.oneRequestPageGroupCompList) {
91 pageModel.compList.push(CompDTO.createNewsBean(element)) 96 pageModel.compList.push(CompDTO.createNewsBean(element))
92 } 97 }
93 - Logger.error('zzzz', 'parseCacheGroup count: ' + pageModel.compList.totalCount())  
94 pageModel.currentPage++ 98 pageModel.currentPage++
95 pageModel.viewType = ViewType.LOADED 99 pageModel.viewType = ViewType.LOADED
96 closeRefresh(pageModel, true) 100 closeRefresh(pageModel, true)
97 101
98 - Logger.error("ZZZXXXXX", 'parseGroup----3----->' + pageInfo.oneRequestPageGroupCompList.length);  
99 } 102 }
100 103
101 /** 104 /**
@@ -163,18 +166,17 @@ export class PageHelper { @@ -163,18 +166,17 @@ export class PageHelper {
163 pageInfo.pageAdList = [] 166 pageInfo.pageAdList = []
164 pageInfo.oneRequestPageGroupCompList = new ArrayList() 167 pageInfo.oneRequestPageGroupCompList = new ArrayList()
165 pageModel.groupList.push(...pageInfo.groups) 168 pageModel.groupList.push(...pageInfo.groups)
166 - Logger.error("ZZZXXXXX", 'parseGroup----1-----');  
167 for (const group of pageInfo.groups) { 169 for (const group of pageInfo.groups) {
168 pageModel.isRecGroup = group.groupStrategy === 1; 170 pageModel.isRecGroup = group.groupStrategy === 1;
169 pageModel.groupId = group.id; 171 pageModel.groupId = group.id;
170 if (pageModel.isRecGroup) { 172 if (pageModel.isRecGroup) {
171 - pageModel.pageSize = 10 173 + pageModel.pageSize = Rec_Page_Size
172 } else { 174 } else {
173 - pageModel.pageSize = 20 175 + pageModel.pageSize = Normal_Page_Size
174 } 176 }
175 pageModel.groupData = group 177 pageModel.groupData = group
176 178
177 - Logger.error("ZZZXXXXX", '楼层id-start--》' + pageModel.groupId); 179 + //Logger.error("ZZZXXXXX", '楼层id-start--》' + pageModel.groupId);
178 // await,确保groups接口顺序执行 180 // await,确保groups接口顺序执行
179 let pageDto = await PageViewModel.getPageGroupCompData(pageModel.bizCopy()) as PageDTO 181 let pageDto = await PageViewModel.getPageGroupCompData(pageModel.bizCopy()) as PageDTO
180 let index = pageInfo.groups.indexOf(group) 182 let index = pageInfo.groups.indexOf(group)
@@ -189,13 +191,9 @@ export class PageHelper { @@ -189,13 +191,9 @@ export class PageHelper {
189 // 直播回放,需要二次请求数据 191 // 直播回放,需要二次请求数据
190 if (comp.compStyle == CompStyle.Zh_Grid_Layout_02) { 192 if (comp.compStyle == CompStyle.Zh_Grid_Layout_02) {
191 pageInfo.lastCompSourceType = 1 193 pageInfo.lastCompSourceType = 1
192 - let listReviewDtoBean = await PageViewModel.getLiveReviewUrl(1, 20) as LiveReviewDTO  
193 - Logger.error("ZZZXXXXX", 'getLiveReviewData------1---' + listReviewDtoBean.list.length); 194 + let listReviewDtoBean = await PageViewModel.getLiveReviewUrl(1, Normal_Page_Size) as LiveReviewDTO
194 // 创建一行两图卡组件 195 // 创建一行两图卡组件
195 this.createDoubleColumComp(listReviewDtoBean, pageInfo) 196 this.createDoubleColumComp(listReviewDtoBean, pageInfo)
196 -  
197 - Logger.error("ZZZXXXXX", 'getLiveReviewData-----2----' + listReviewDtoBean.list.length);  
198 -  
199 } else { 197 } else {
200 pageInfo.lastCompSourceType = 0 198 pageInfo.lastCompSourceType = 0
201 } 199 }
@@ -203,7 +201,6 @@ export class PageHelper { @@ -203,7 +201,6 @@ export class PageHelper {
203 // CacheData.saveCacheData(CacheData.compGroupInfoDataCacheKey + pageModel.pageId + pageModel.groupId, pageDto, 201 // CacheData.saveCacheData(CacheData.compGroupInfoDataCacheKey + pageModel.pageId + pageModel.groupId, pageDto,
204 // pageDto.md5) 202 // pageDto.md5)
205 } 203 }
206 - Logger.error("ZZZXXXXX", '楼层id-end--》' + pageModel.groupId + ' 楼层 comp数量=' + pageDto.compList.length);  
207 } 204 }
208 205
209 /* 206 /*
@@ -228,7 +225,6 @@ export class PageHelper { @@ -228,7 +225,6 @@ export class PageHelper {
228 pageModel.viewType = ViewType.LOADED 225 pageModel.viewType = ViewType.LOADED
229 closeRefresh(pageModel, true) 226 closeRefresh(pageModel, true)
230 227
231 - Logger.error("ZZZXXXXX", 'parseGroup----3----->' + pageInfo.oneRequestPageGroupCompList.length);  
232 if (pageModel.compList.isEmpty()) { 228 if (pageModel.compList.isEmpty()) {
233 // 没数据,展示空页面 229 // 没数据,展示空页面
234 Logger.debug(TAG, 'aboutToAppear, data response page ' + pageModel.pageId + ', comp list is empty.'); 230 Logger.debug(TAG, 'aboutToAppear, data response page ' + pageModel.pageId + ', comp list is empty.');
@@ -389,7 +385,8 @@ export class PageHelper { @@ -389,7 +385,8 @@ export class PageHelper {
389 }) 385 })
390 386
391 // 批查直播观看人数 387 // 批查直播观看人数
392 - // this.getLiveRoomDataInfo(compList) 388 + this.getLiveRoomDataInfo(compList)
  389 +
393 390
394 // 测试数据 391 // 测试数据
395 // setTimeout(() => { 392 // setTimeout(() => {
@@ -414,14 +411,14 @@ export class PageHelper { @@ -414,14 +411,14 @@ export class PageHelper {
414 411
415 let list: ContentDTO[] = [] 412 let list: ContentDTO[] = []
416 compList.forEach((comp: CompDTO) => { 413 compList.forEach((comp: CompDTO) => {
417 - if (comp.compStyle == CompStyle.Card_Comp_Zh_Grid_Layout_02) { 414 + if (comp.compStyle == OneRowDoubleColumnStyle) {
418 list.push(...comp.operDataList) 415 list.push(...comp.operDataList)
419 } 416 }
420 }) 417 })
421 -  
422 let time = DateTimeUtils.getTimeStamp().toString() 418 let time = DateTimeUtils.getTimeStamp().toString()
423 419
424 - const reserveIds = this.getLiveDetailIds(list) 420 + let reserveIds = this.getLiveDetailIds(list)
  421 +
425 PageViewModel.getLiveRoomBatchInfo(reserveIds).then((result) => { 422 PageViewModel.getLiveRoomBatchInfo(reserveIds).then((result) => {
426 if (result && result.length > 0) { 423 if (result && result.length > 0) {
427 result.forEach((bean: LiveRoomDataBean) => { 424 result.forEach((bean: LiveRoomDataBean) => {
@@ -641,7 +638,7 @@ export class PageHelper { @@ -641,7 +638,7 @@ export class PageHelper {
641 private async getLiveReviewData(pageModel: PageModel, pageInfo: PageInfoDTO) { 638 private async getLiveReviewData(pageModel: PageModel, pageInfo: PageInfoDTO) {
642 639
643 let currentPage = pageModel.currentPage 640 let currentPage = pageModel.currentPage
644 - let pageSize = 20 641 + let pageSize = Normal_Page_Size
645 642
646 PageViewModel.getLiveReviewUrl(currentPage, pageSize).then((liveReviewDTO) => { 643 PageViewModel.getLiveReviewUrl(currentPage, pageSize).then((liveReviewDTO) => {
647 if (liveReviewDTO == null || liveReviewDTO.list == null || liveReviewDTO.list.length == 0) { 644 if (liveReviewDTO == null || liveReviewDTO.list == null || liveReviewDTO.list.length == 0) {
@@ -658,12 +655,12 @@ export class PageHelper { @@ -658,12 +655,12 @@ export class PageHelper {
658 let lastIndex = pageModel.compList.totalCount() - 1 655 let lastIndex = pageModel.compList.totalCount() - 1
659 let lastComp = pageModel.compList.getData(lastIndex) as CompDTO 656 let lastComp = pageModel.compList.getData(lastIndex) as CompDTO
660 // 一行两图卡,需要从奇数 补齐成偶数内容 657 // 一行两图卡,需要从奇数 补齐成偶数内容
661 - if (lastComp.compStyle == CompStyle.Card_Comp_Zh_Grid_Layout_02) { 658 + if (lastComp.compStyle == OneRowDoubleColumnStyle) {
662 659
663 let operLength = lastComp.operDataList.length 660 let operLength = lastComp.operDataList.length
664 - Logger.error("ZZZXXXXX", 'getLiveReviewData------1---operLength=' + operLength);  
665 - // 最后一个组件的业务数据是奇数,需要从获取更多的业务数据中补一个数据 661 + // 页面的最后一个组件的业务数据是奇数,需要从获取更多的业务数据中补一个数据
666 if (operLength === 1) { 662 if (operLength === 1) {
  663 + haveMoveContent = true
667 lastComp.operDataList.push(liveReviewDTO.list[0]) 664 lastComp.operDataList.push(liveReviewDTO.list[0])
668 // 更新某个组件 665 // 更新某个组件
669 pageModel.compList.updateItem(lastComp, lastIndex) 666 pageModel.compList.updateItem(lastComp, lastIndex)
@@ -671,7 +668,7 @@ export class PageHelper { @@ -671,7 +668,7 @@ export class PageHelper {
671 liveReviewDTO.list.splice(0, 1) 668 liveReviewDTO.list.splice(0, 1)
672 } 669 }
673 } 670 }
674 - 671 + // 创建本地一行两图卡
675 this.createDoubleColumComp(liveReviewDTO, pageInfo) 672 this.createDoubleColumComp(liveReviewDTO, pageInfo)
676 // 统计页面的总的组件和稿件数量 673 // 统计页面的总的组件和稿件数量
677 pageModel.pageTotalCompSize = pageInfo.oneRequestPageGroupCompList.length + pageModel.pageTotalCompSize 674 pageModel.pageTotalCompSize = pageInfo.oneRequestPageGroupCompList.length + pageModel.pageTotalCompSize
@@ -681,12 +678,12 @@ export class PageHelper { @@ -681,12 +678,12 @@ export class PageHelper {
681 } 678 }
682 679
683 // 批查直播观看人数 680 // 批查直播观看人数
684 - // if (haveMoveContent) {  
685 - // // 把当前获取到的直播回看数据  
686 - // liveReviewDTO.list.push(lastComp.operDataList[1])  
687 - // pageInfo.oneRequestPageGroupCompList.add(lastComp)  
688 - // }  
689 - // this.getLiveRoomDataInfo(liveReviewDTO.list, pageInfo.oneRequestPageGroupCompList) 681 + if (haveMoveContent) {
  682 + // 把当前获取到的直播回看数据
  683 + pageInfo.oneRequestPageGroupCompList.add(lastComp)
  684 + }
  685 +
  686 + this.getLiveRoomDataInfo(pageInfo.oneRequestPageGroupCompList.convertToArray())
690 687
691 } 688 }
692 689
@@ -700,20 +697,19 @@ export class PageHelper { @@ -700,20 +697,19 @@ export class PageHelper {
700 * @param listReviewDtoBean 697 * @param listReviewDtoBean
701 * @param pageInfo 698 * @param pageInfo
702 */ 699 */
703 - private async createDoubleColumComp(listReviewDtoBean: LiveReviewDTO, pageInfo: PageInfoDTO, test?: boolean) { 700 + private createDoubleColumComp(listReviewDtoBean: LiveReviewDTO, pageInfo: PageInfoDTO, test?: boolean) {
704 /* 701 /*
705 两个业务 内容 配置一个comp 702 两个业务 内容 配置一个comp
706 */ 703 */
707 let length = listReviewDtoBean.list.length 704 let length = listReviewDtoBean.list.length
708 705
709 - Logger.error("ZZZXXXXX", 'createDoubleColumComp------1---test=' + test + " length=" + length);  
710 - if (test) {  
711 - // 偶数变成奇数  
712 - if (length % 2 === 0) {  
713 - listReviewDtoBean.list.splice(length - 1, 1)  
714 - length = listReviewDtoBean.list.length  
715 - }  
716 - } 706 + // if (test) {
  707 + // // 偶数变成奇数
  708 + // if (length % 2 === 0) {
  709 + // listReviewDtoBean.list.splice(length - 1, 1)
  710 + // length = listReviewDtoBean.list.length
  711 + // }
  712 + // }
717 713
718 for (let i = 0; i < length; i = i + 2) { 714 for (let i = 0; i < length; i = i + 2) {
719 let sliceArray: ContentDTO[] 715 let sliceArray: ContentDTO[]
@@ -726,7 +722,7 @@ export class PageHelper { @@ -726,7 +722,7 @@ export class PageHelper {
726 } 722 }
727 // 创建一行两图卡 自定义的业务稿件 723 // 创建一行两图卡 自定义的业务稿件
728 let doubleColumnLiveReviewComp = new CompDTO() 724 let doubleColumnLiveReviewComp = new CompDTO()
729 - doubleColumnLiveReviewComp.compStyle = CompStyle.Card_Comp_Zh_Grid_Layout_02 725 + doubleColumnLiveReviewComp.compStyle = OneRowDoubleColumnStyle
730 let operDataList: ContentDTO[] = sliceArray 726 let operDataList: ContentDTO[] = sliceArray
731 doubleColumnLiveReviewComp.operDataList = operDataList 727 doubleColumnLiveReviewComp.operDataList = operDataList
732 pageInfo.oneRequestPageGroupCompList.add(doubleColumnLiveReviewComp) 728 pageInfo.oneRequestPageGroupCompList.add(doubleColumnLiveReviewComp)