张善主

Merge remote-tracking branch 'origin/main'

@@ -5,7 +5,6 @@ import { Card3Component } from './cardview/Card3Component'; @@ -5,7 +5,6 @@ import { Card3Component } from './cardview/Card3Component';
5 import { Card4Component } from './cardview/Card4Component'; 5 import { Card4Component } from './cardview/Card4Component';
6 import { Card5Component } from './cardview/Card5Component'; 6 import { Card5Component } from './cardview/Card5Component';
7 import { Card6Component } from './cardview/Card6Component'; 7 import { Card6Component } from './cardview/Card6Component';
8 -import { Card9Component } from './cardview/Card9Component';  
9 import { Card10Component } from './cardview/Card10Component'; 8 import { Card10Component } from './cardview/Card10Component';
10 import { Card11Component } from './cardview/Card11Component'; 9 import { Card11Component } from './cardview/Card11Component';
11 import { Card12Component } from './cardview/Card12Component'; 10 import { Card12Component } from './cardview/Card12Component';
@@ -48,8 +47,6 @@ export struct CardParser { @@ -48,8 +47,6 @@ export struct CardParser {
48 } else if (contentDTO.appStyle === CompStyle.Card_06 || contentDTO.appStyle === CompStyle 47 } else if (contentDTO.appStyle === CompStyle.Card_06 || contentDTO.appStyle === CompStyle
49 .Card_13) { 48 .Card_13) {
50 Card6Component({ compDTO: this.compDTO, contentDTO: this.contentDTO }) 49 Card6Component({ compDTO: this.compDTO, contentDTO: this.contentDTO })
51 - } else if (contentDTO.appStyle === CompStyle.Card_09) {  
52 - Card9Component({ contentDTO })  
53 } else if (contentDTO.appStyle === CompStyle.Card_10) { 50 } else if (contentDTO.appStyle === CompStyle.Card_10) {
54 Card10Component({ compDTO: this.compDTO, contentDTO }) 51 Card10Component({ compDTO: this.compDTO, contentDTO })
55 } else if (contentDTO.appStyle === CompStyle.Card_11) { 52 } else if (contentDTO.appStyle === CompStyle.Card_11) {
1 -import { CompDTO } from 'wdBean'; 1 +import { CompDTO, ContentDTO } from 'wdBean';
2 import { CommonConstants, CompStyle } from 'wdConstant/Index'; 2 import { CommonConstants, CompStyle } from 'wdConstant/Index';
3 import { WDRouterPage, WDRouterRule } from 'wdRouter/Index'; 3 import { WDRouterPage, WDRouterRule } from 'wdRouter/Index';
4 import PageModel from '../viewmodel/PageModel'; 4 import PageModel from '../viewmodel/PageModel';
5 import { CardParser } from './CardParser'; 5 import { CardParser } from './CardParser';
6 import { Card2Component } from './cardview/Card2Component'; 6 import { Card2Component } from './cardview/Card2Component';
  7 +import { Card9Component } from './cardview/Card9Component';
7 import { Card5Component } from './cardview/Card5Component'; 8 import { Card5Component } from './cardview/Card5Component';
8 import { AdvCardParser } from './cardViewAdv/AdvCardParser'; 9 import { AdvCardParser } from './cardViewAdv/AdvCardParser';
9 import { ZhCarouselLayout01 } from './compview/ZhCarouselLayout01'; 10 import { ZhCarouselLayout01 } from './compview/ZhCarouselLayout01';
@@ -35,10 +36,20 @@ export struct CompParser { @@ -35,10 +36,20 @@ export struct CompParser {
35 @ObjectLink compDTO: CompDTO 36 @ObjectLink compDTO: CompDTO
36 @State compIndex: number = 0; 37 @State compIndex: number = 0;
37 @State private pageModel: PageModel = new PageModel(); 38 @State private pageModel: PageModel = new PageModel();
  39 + @State audioItems: ContentDTO[] = [];
  40 + @State noneAudioItems: ContentDTO[] = [];
  41 +
  42 + aboutToAppear(): void {
  43 + // 轮播图屏蔽音频类型稿件
  44 + if (this.compDTO.compStyle === CompStyle.Zh_Carousel_Layout_01) {
  45 + this.audioItems = this.compDTO.operDataList.filter(item => item.appStyle === '13')
  46 + this.noneAudioItems = this.compDTO.operDataList.filter(item => item.appStyle !== '13')
  47 + this.compDTO.operDataList = this.noneAudioItems;
  48 + }
  49 + }
38 50
39 build() { 51 build() {
40 Column() { 52 Column() {
41 -  
42 this.componentBuilder(); 53 this.componentBuilder();
43 } 54 }
44 } 55 }
@@ -50,73 +61,80 @@ export struct CompParser { @@ -50,73 +61,80 @@ export struct CompParser {
50 61
51 if (this.compDTO.operDataList[0]?.objectType !== '3' && 62 if (this.compDTO.operDataList[0]?.objectType !== '3' &&
52 this.compDTO.operDataList[0]?.objectType !== '13') { //暂时屏蔽活动和音频详情入口 63 this.compDTO.operDataList[0]?.objectType !== '13') { //暂时屏蔽活动和音频详情入口
  64 +
53 if (this.compDTO.compStyle === CompStyle.Label_03) { 65 if (this.compDTO.compStyle === CompStyle.Label_03) {
54 LabelComponent({ compDTO: this.compDTO }) 66 LabelComponent({ compDTO: this.compDTO })
55 - Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 67 + Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
56 } else if (this.compDTO.compStyle === CompStyle.Zh_Carousel_Layout_01) { 68 } else if (this.compDTO.compStyle === CompStyle.Zh_Carousel_Layout_01) {
  69 + if (this.compDTO.operDataList.length > this.audioItems.length) {
57 ZhCarouselLayout01({ compDTO: this.compDTO }) 70 ZhCarouselLayout01({ compDTO: this.compDTO })
58 - Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 71 + Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
  72 + }
59 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Row_01 && 73 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Row_01 &&
60 this.compDTO.imageScale === 2) { // && compDTO.name ==="横划卡" 74 this.compDTO.imageScale === 2) { // && compDTO.name ==="横划卡"
61 75
62 LiveHorizontalCardComponent({ compDTO: this.compDTO }) 76 LiveHorizontalCardComponent({ compDTO: this.compDTO })
63 - Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 77 + Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
64 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Row_01 && this.compDTO.imageScale === 3) { 78 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Row_01 && this.compDTO.imageScale === 3) {
65 if (this.compDTO.operDataList.length > 1) { 79 if (this.compDTO.operDataList.length > 1) {
66 HorizontalStrokeCardThreeTwoRadioForMoreComponent({ compDTO: this.compDTO }) 80 HorizontalStrokeCardThreeTwoRadioForMoreComponent({ compDTO: this.compDTO })
67 } else { 81 } else {
68 HorizontalStrokeCardThreeTwoRadioForOneComponent({ compDTO: this.compDTO }) 82 HorizontalStrokeCardThreeTwoRadioForOneComponent({ compDTO: this.compDTO })
69 } 83 }
70 - Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 84 + Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
71 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Row_02) { 85 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Row_02) {
72 ZhSingleRow02({ compDTO: this.compDTO }) 86 ZhSingleRow02({ compDTO: this.compDTO })
73 - Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 87 + Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
74 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Row_03) { 88 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Row_03) {
75 ZhSingleRow03({ compDTO: this.compDTO }) 89 ZhSingleRow03({ compDTO: this.compDTO })
76 - Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 90 + Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
77 } else if (this.compDTO.compStyle === CompStyle.Zh_Grid_Layout_02) { //双列流小视频,一行两图卡 ->标题 91 } else if (this.compDTO.compStyle === CompStyle.Zh_Grid_Layout_02) { //双列流小视频,一行两图卡 ->标题
78 //ZhGridLayout02({ compDTO: this.compDTO }) 92 //ZhGridLayout02({ compDTO: this.compDTO })
79 CompNormalTitle({ compDTO: this.compDTO }) 93 CompNormalTitle({ compDTO: this.compDTO })
80 - // Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 94 + // Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
81 } else if (this.compDTO.compStyle === CompStyle.Card_Comp_Zh_Grid_Layout_02) { //双列流小视频,一行两图卡 95 } else if (this.compDTO.compStyle === CompStyle.Card_Comp_Zh_Grid_Layout_02) { //双列流小视频,一行两图卡
82 96
83 ZhGridLayout02NewsContent({ compDTO: this.compDTO, operDataList: this.compDTO.operDataList }) 97 ZhGridLayout02NewsContent({ compDTO: this.compDTO, operDataList: this.compDTO.operDataList })
84 98
85 } else if (this.compDTO.compStyle === CompStyle.Zh_Grid_Layout_03) { 99 } else if (this.compDTO.compStyle === CompStyle.Zh_Grid_Layout_03) {
86 ZhGridLayout03({ compDTO: this.compDTO }) 100 ZhGridLayout03({ compDTO: this.compDTO })
87 - Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 101 + Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
88 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Row_04) { 102 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Row_04) {
89 ZhSingleRow04({ compDTO: this.compDTO }) 103 ZhSingleRow04({ compDTO: this.compDTO })
90 - Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 104 + Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
91 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Row_05) { 105 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Row_05) {
92 // ZhSingleRow05({ compDTO }) 106 // ZhSingleRow05({ compDTO })
93 - // Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 107 + // Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
94 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Row_06) { 108 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Row_06) {
95 ZhSingleRow06({ compDTO: this.compDTO }) 109 ZhSingleRow06({ compDTO: this.compDTO })
96 - Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 110 + Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
97 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Column_02) { 111 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Column_02) {
98 //头图卡 和comStyle 2相同, 112 //头图卡 和comStyle 2相同,
99 Card5Component({ contentDTO: this.compDTO.operDataList[0], titleShowPolicy: this.compDTO.titleShowPolicy }) 113 Card5Component({ contentDTO: this.compDTO.operDataList[0], titleShowPolicy: this.compDTO.titleShowPolicy })
100 - Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 114 + Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
101 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Column_03) { 115 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Column_03) {
102 // 大图卡 116 // 大图卡
103 Card2Component({ compDTO: this.compDTO, contentDTO: this.compDTO.operDataList[0] }) 117 Card2Component({ compDTO: this.compDTO, contentDTO: this.compDTO.operDataList[0] })
104 - Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 118 + Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
  119 + } else if (this.compDTO.compStyle === CompStyle.Card_09) {
  120 + //时间链卡
  121 + Card9Component({ contentDTO:this.compDTO.operDataList[0] })
  122 + Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
105 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Column_04) { 123 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Column_04) {
106 ZhSingleColumn04({ compDTO: this.compDTO }) 124 ZhSingleColumn04({ compDTO: this.compDTO })
107 - Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 125 + Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
108 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Column_05) { 126 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Column_05) {
109 // ZhSingleColumn05({ compDTO: compDTO }) 127 // ZhSingleColumn05({ compDTO: compDTO })
110 - // Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 128 + // Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
111 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Column_09) { 129 } else if (this.compDTO.compStyle === CompStyle.Zh_Single_Column_09) {
112 - Divider().strokeWidth(3).color('#ffffff').padding({ left: 16, right: 16 }).margin({ top: -3 }) 130 + Divider().strokeWidth(3).color('#ffffff').padding({ left: 0, right: 0 }).margin({ top: -3 })
113 Divider().strokeWidth(6).color('#f5f5f5') 131 Divider().strokeWidth(6).color('#f5f5f5')
114 ZhSingleColumn09({ compDTO: this.compDTO }) 132 ZhSingleColumn09({ compDTO: this.compDTO })
115 Divider().strokeWidth(6).color('#f5f5f5') 133 Divider().strokeWidth(6).color('#f5f5f5')
116 } else if (this.compDTO.compStyle === CompStyle.Card_Comp_Adv) { // 广告 134 } else if (this.compDTO.compStyle === CompStyle.Card_Comp_Adv) { // 广告
117 AdvCardParser({ pageModel: this.pageModel, compDTO: this.compDTO }) 135 AdvCardParser({ pageModel: this.pageModel, compDTO: this.compDTO })
118 - //Text(`compIndex = ${compIndex}`).width('100%').fontSize('12fp').fontColor(Color.Red).padding({ left: 16, right: 16 })  
119 - Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 136 + //Text(`compIndex = ${compIndex}`).width('100%').fontSize('12fp').fontColor(Color.Red).padding({ left: 0, right: 0 })
  137 + Divider().strokeWidth(5).color('#f5f5f5').padding({ left: 0, right: 0 })
120 } else if (!Number.isNaN(Number(this.compDTO.compStyle))) { 138 } else if (!Number.isNaN(Number(this.compDTO.compStyle))) {
121 CardParser({ contentDTO: this.compDTO.operDataList[0], compDTO: this.compDTO }); 139 CardParser({ contentDTO: this.compDTO.operDataList[0], compDTO: this.compDTO });
122 Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 140 Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 })
@@ -129,7 +147,7 @@ export struct CompParser { @@ -129,7 +147,7 @@ export struct CompParser {
129 // WDRouterRule.jumpWithPage(WDRouterPage.QualityCommentsPage) 147 // WDRouterRule.jumpWithPage(WDRouterPage.QualityCommentsPage)
130 // } 148 // }
131 // }) 149 // })
132 - // Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) 150 + // Divider().strokeWidth(8).color('#f5f5f5').padding({ left: 0, right: 0 })
133 } 151 }
134 } 152 }
135 153
@@ -114,7 +114,7 @@ export class commentItemModel { @@ -114,7 +114,7 @@ export class commentItemModel {
114 /*评论点赞状态 0-未点赞 1-已点赞*/ 114 /*评论点赞状态 0-未点赞 1-已点赞*/
115 api_status: boolean = false; 115 api_status: boolean = false;
116 api_level: string = ''; 116 api_level: string = '';
117 - api_levelHead: string = 'http'; 117 + api_levelHead: string = '';
118 api_userId: string = ''; 118 api_userId: string = '';
119 api_creatorId: string = ''; 119 api_creatorId: string = '';
120 api_userType: string = ''; 120 api_userType: string = '';
1 -import { DateTimeUtils, EmitterEventId, EmitterUtils, LazyDataSource } from 'wdKit/Index'; 1 +import { DateTimeUtils, EmitterEventId, EmitterUtils, LazyDataSource, StringUtils } from 'wdKit/Index';
2 import { commentItemModel, WDPublicUserType } from '../model/CommentModel'; 2 import { commentItemModel, WDPublicUserType } from '../model/CommentModel';
3 import commentViewModel from '../viewmodel/CommentViewModel'; 3 import commentViewModel from '../viewmodel/CommentViewModel';
4 import { CommentText } from './CommentText'; 4 import { CommentText } from './CommentText';
@@ -303,34 +303,7 @@ struct ChildCommentItem { @@ -303,34 +303,7 @@ struct ChildCommentItem {
303 Column() { 303 Column() {
304 Row() { 304 Row() {
305 //头像 305 //头像
306 - Stack() {  
307 - Image(this.item.fromUserHeader)  
308 - .alt($r('app.media.default_head'))  
309 - .width('24')  
310 - .height('24')  
311 - .objectFit(ImageFit.Cover)  
312 - .borderRadius(16)  
313 - Image(this.item.api_levelHead)  
314 - .width('36')  
315 - .height('36')  
316 - .objectFit(ImageFit.Cover)  
317 - .borderRadius(24)  
318 - }  
319 - .width(48)  
320 - .height(48)  
321 - .margin({ left: 47 })  
322 - .alignContent(Alignment.Center)  
323 - .onClick(() => {  
324 - // TODO 跳转个人详情  
325 - // 跳转到号主页  
326 - if (this.contentDetailData.rmhInfo?.cnMainControl === 1) {  
327 - const params: Params = {  
328 - creatorId: this.contentDetailData.rmhInfo.rmhId,  
329 - pageID: ''  
330 - }  
331 - WDRouterRule.jumpWithPage(WDRouterPage.peopleShipHomePage, params)  
332 - }  
333 - }) 306 + this.headerView()
334 307
335 //昵称 308 //昵称
336 Text() { 309 Text() {
@@ -354,7 +327,7 @@ struct ChildCommentItem { @@ -354,7 +327,7 @@ struct ChildCommentItem {
354 /// 人民号>置顶>作者 327 /// 人民号>置顶>作者
355 328
356 //人民号 329 //人民号
357 - if (this.item.fromUserType === WDPublicUserType.WDPublicUserType_Matrix) { 330 + if (this.item.fromUserType !== 1) {
358 Image($r('app.media.comment_rmh_tag')).width(20).height(20).margin({ left: 5 }); 331 Image($r('app.media.comment_rmh_tag')).width(20).height(20).margin({ left: 5 });
359 } 332 }
360 //置顶 333 //置顶
@@ -400,6 +373,53 @@ struct ChildCommentItem { @@ -400,6 +373,53 @@ struct ChildCommentItem {
400 .width('100%') 373 .width('100%')
401 } 374 }
402 375
  376 + @Builder headerView() {
  377 + Stack() {
  378 + Stack() {
  379 + Image(this.item.fromUserHeader)
  380 + .alt($r('app.media.default_head'))
  381 + .width(24)
  382 + .height(24)
  383 + .objectFit(ImageFit.Cover)
  384 + .borderRadius(16)
  385 +
  386 + if (this.item.api_authIcon && this.item.api_authIcon.length) {
  387 + Image(this.item.api_authIcon) // 加v
  388 + .width(14).height(14)
  389 + .objectFit(ImageFit.Cover)
  390 + }
  391 + }.width(24).height(24)
  392 + .alignContent(Alignment.BottomEnd)
  393 +
  394 + if ((!this.item.api_authIcon || this.item.api_authIcon.length == 0)
  395 + && this.item.fromUserType === 1
  396 + && ((this.item.api_levelHead && this.item.api_levelHead.length > 0)
  397 + || (this.item.avatarFrame && this.item.avatarFrame.length > 0))) {
  398 + Image(this.customBorderIconURL())
  399 + .width('36')
  400 + .height('36')
  401 + .objectFit(ImageFit.Cover)
  402 + .borderRadius(24)
  403 + }
  404 + }
  405 + .width(48).height(48)
  406 + .margin({ left: 47 })
  407 + .alignContent(Alignment.Center)
  408 + .onClick(() => {
  409 + commentViewModel.jumpToAccountPage(this.item)
  410 + })
  411 + }
  412 +
  413 + customBorderIconURL() : string {
  414 + if (this.item.avatarFrame.length > 0) {
  415 + return this.item.avatarFrame
  416 + }
  417 + if (this.item.fromUserType === 1) {
  418 + return this.item.api_levelHead
  419 + }
  420 + return ""
  421 + }
  422 +
403 replyComment() { 423 replyComment() {
404 if (this.item.id && this.item.checkStatus == '2') { // 审核通过的才显示回复 424 if (this.item.id && this.item.checkStatus == '2') { // 审核通过的才显示回复
405 this.publishCommentModel.rootCommentId = this.item.rootCommentId 425 this.publishCommentModel.rootCommentId = this.item.rootCommentId
@@ -498,26 +518,7 @@ struct commentHeaderView { @@ -498,26 +518,7 @@ struct commentHeaderView {
498 Column() { 518 Column() {
499 Row() { 519 Row() {
500 //头像 520 //头像
501 - Stack() {  
502 - Image(this.item.fromUserHeader)  
503 - .alt($r('app.media.default_head'))  
504 - .width('32')  
505 - .height('32')  
506 - .objectFit(ImageFit.Cover)  
507 - .borderRadius(16)  
508 - Image(this.item.api_levelHead)  
509 - .width('48')  
510 - .height('48')  
511 - .objectFit(ImageFit.Cover)  
512 - .borderRadius(24)  
513 - }  
514 - .width(48)  
515 - .height(48)  
516 - .margin({ left: 8 })  
517 - .alignContent(Alignment.Center)  
518 - .onClick(() => {  
519 - commentViewModel.jumpToAccountPage(this.item)  
520 - }) 521 + this.headerView()
521 522
522 //昵称 523 //昵称
523 Text(this.item.fromUserName) 524 Text(this.item.fromUserName)
@@ -531,7 +532,7 @@ struct commentHeaderView { @@ -531,7 +532,7 @@ struct commentHeaderView {
531 /// 人民号>置顶>作者 532 /// 人民号>置顶>作者
532 533
533 //人民号 534 //人民号
534 - if (this.item.fromUserType === WDPublicUserType.WDPublicUserType_Matrix) { 535 + if (this.item.fromUserType !== 1) {
535 Image($r('app.media.comment_rmh_tag')).width(20).height(20).margin({ left: 5 }); 536 Image($r('app.media.comment_rmh_tag')).width(20).height(20).margin({ left: 5 });
536 } 537 }
537 //置顶 538 //置顶
@@ -573,6 +574,53 @@ struct commentHeaderView { @@ -573,6 +574,53 @@ struct commentHeaderView {
573 .padding({bottom: 8}) 574 .padding({bottom: 8})
574 } 575 }
575 576
  577 + @Builder headerView() {
  578 + Stack() {
  579 + Stack() {
  580 + Image(this.item.fromUserHeader)
  581 + .alt($r('app.media.default_head'))
  582 + .width(32)
  583 + .height(32)
  584 + .objectFit(ImageFit.Cover)
  585 + .borderRadius(16)
  586 +
  587 + if (this.item.api_authIcon && this.item.api_authIcon.length > 0) {
  588 + Image(this.item.api_authIcon) // 加v
  589 + .width(14).height(14)
  590 + .objectFit(ImageFit.Cover)
  591 + }
  592 + }.width(32).height(32)
  593 + .alignContent(Alignment.BottomEnd)
  594 +
  595 + if ((!this.item.api_authIcon || this.item.api_authIcon.length == 0)
  596 + && this.item.fromUserType === 1
  597 + && ((this.item.api_levelHead && this.item.api_levelHead.length > 0)
  598 + || (this.item.avatarFrame && this.item.avatarFrame.length > 0))) {
  599 + Image(this.customBorderIconURL())
  600 + .width(48)
  601 + .height(48)
  602 + .objectFit(ImageFit.Cover)
  603 + .borderRadius(24)
  604 + }
  605 + }
  606 + .width(48).height(48)
  607 + .margin({ left: 8 })
  608 + .alignContent(Alignment.Center)
  609 + .onClick(() => {
  610 + commentViewModel.jumpToAccountPage(this.item)
  611 + })
  612 + }
  613 +
  614 + customBorderIconURL() : string {
  615 + if (this.item.avatarFrame.length > 0) {
  616 + return this.item.avatarFrame
  617 + }
  618 + if (this.item.fromUserType === 1) {
  619 + return this.item.api_levelHead
  620 + }
  621 + return ""
  622 + }
  623 +
576 replyComment() { 624 replyComment() {
577 if (this.item.id && this.item.checkStatus == '2') { // 审核通过的才显示回复 625 if (this.item.id && this.item.checkStatus == '2') { // 审核通过的才显示回复
578 this.publishCommentModel.rootCommentId = this.item.rootCommentId 626 this.publishCommentModel.rootCommentId = this.item.rootCommentId
@@ -596,7 +644,7 @@ struct commentFooterView { @@ -596,7 +644,7 @@ struct commentFooterView {
596 Row() { 644 Row() {
597 645
598 Row({ space: 6 }) { 646 Row({ space: 6 }) {
599 - Text(this.item.region ? (this.item.region + '网友') : '人民日报客户端网友') 647 + Text(this.item.region.length > 0 ? (this.item.region + '网友') : '人民日报客户端网友')
600 .fontColor($r('app.color.color_B0B0B0')) 648 .fontColor($r('app.color.color_B0B0B0'))
601 .fontSize(12); 649 .fontSize(12);
602 Image($r('app.media.comment_hyphen')) 650 Image($r('app.media.comment_hyphen'))
@@ -419,7 +419,7 @@ class CommentViewModel { @@ -419,7 +419,7 @@ class CommentViewModel {
419 newModel.fromUserHeader = model.fromUserHeader 419 newModel.fromUserHeader = model.fromUserHeader
420 newModel.fromUserId = model.fromUserId 420 newModel.fromUserId = model.fromUserId
421 newModel.fromUserName = model.fromUserName 421 newModel.fromUserName = model.fromUserName
422 - if (model.toUserType != null) { 422 + if (model.fromUserType) {
423 newModel.fromUserType = model.fromUserType 423 newModel.fromUserType = model.fromUserType
424 } 424 }
425 newModel.id = model.id 425 newModel.id = model.id
@@ -443,7 +443,7 @@ class CommentViewModel { @@ -443,7 +443,7 @@ class CommentViewModel {
443 // newModel.isLoading = model.isLoading 443 // newModel.isLoading = model.isLoading
444 444
445 445
446 - if (model.toUserType != null) { 446 + if (model.toUserType) {
447 newModel.toUserType = model.toUserType.toString() 447 newModel.toUserType = model.toUserType.toString()
448 } 448 }
449 newModel.topFlag = model.topFlag 449 newModel.topFlag = model.topFlag
@@ -154,7 +154,12 @@ export struct FollowListDetailUI { @@ -154,7 +154,12 @@ export struct FollowListDetailUI {
154 } else { 154 } else {
155 fansNumString = fansNum + "" 155 fansNumString = fansNum + ""
156 } 156 }
157 - this.data.push(new FollowListDetailItem(value.attentionHeadPhotoUrl, value.attentionUserName, fansNumString, value.introduction, value.attentionCreatorId, "1", value.attentionUserId, value.attentionUserType, value.attentionUserId, value.mainControl, value.banControl, value.authIcon)) 157 + let introduction = value.introduction
  158 + if(value.introduction.indexOf("\n") != -1){
  159 + let regex:RegExp = new RegExp('\n','g')
  160 + introduction = value.introduction.replace(regex,'')
  161 + }
  162 + this.data.push(new FollowListDetailItem(value.attentionHeadPhotoUrl, value.attentionUserName, fansNumString, introduction, value.attentionCreatorId, "1", value.attentionUserId, value.attentionUserType, value.attentionUserId, value.mainControl, value.banControl, value.authIcon))
158 }) 163 })
159 this.data.notifyDataReload() 164 this.data.notifyDataReload()
160 this.count = this.data.totalCount() 165 this.count = this.data.totalCount()
@@ -272,7 +277,12 @@ export struct FollowListDetailUI { @@ -272,7 +277,12 @@ export struct FollowListDetailUI {
272 }) 277 })
273 278
274 result.forEach((item) => { 279 result.forEach((item) => {
275 - this.data.push(new FollowListDetailItem(item.headPhotoUrl, item.cnUserName, item.cnFansNum, item.introduction, item.creatorId, item.status, item.attentionUserId, item.cnUserType, item.cnUserId, item.mainControl, item.banControl, item.authIcon)) 280 + let introduction = item.introduction
  281 + if(item.introduction.indexOf("\n") != -1){
  282 + let regex:RegExp = new RegExp('\n','g')
  283 + introduction = item.introduction.replace(regex,'')
  284 + }
  285 + this.data.push(new FollowListDetailItem(item.headPhotoUrl, item.cnUserName, item.cnFansNum, introduction, item.creatorId, item.status, item.attentionUserId, item.cnUserType, item.cnUserId, item.mainControl, item.banControl, item.authIcon))
276 }) 286 })
277 287
278 this.data.notifyDataReload() 288 this.data.notifyDataReload()
@@ -148,10 +148,9 @@ export struct OperRowListView { @@ -148,10 +148,9 @@ export struct OperRowListView {
148 // 视频详情页 148 // 视频详情页
149 149
150 Column() { 150 Column() {
151 - Image($r('app.media.ic_news_detail_division'))  
152 - .width('100%')  
153 - .height($r('app.float.margin_1'))  
154 - // .margin({bottom: -2}) 151 + if(this.styleType != 3) {
  152 + Divider().strokeWidth(1).color(this.styleType == 1 ? '#F5F5F5' : this.styleType == 2 ? '#262626' : 'rgba(0,0,0,0)')
  153 + }
155 154
156 Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) { 155 Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) {
157 // AudioDialog() 156 // AudioDialog()
@@ -25,6 +25,7 @@ const Normal_Page_Size = 20 // 常规每页数量 @@ -25,6 +25,7 @@ const Normal_Page_Size = 20 // 常规每页数量
25 25
26 const Rec_Page_Size = 10 // 推荐每页数量 26 const Rec_Page_Size = 10 // 推荐每页数量
27 27
  28 +const SpecialComp: string[] = [CompStyle.Zh_Single_Column_03.toString()]
28 29
29 /** 30 /**
30 * 处理返回后的数据 31 * 处理返回后的数据
@@ -379,7 +380,8 @@ export class PageHelper { @@ -379,7 +380,8 @@ export class PageHelper {
379 */ 380 */
380 private factoryCompArray(compList: CompDTO[]): ArrayList<CompDTO> { 381 private factoryCompArray(compList: CompDTO[]): ArrayList<CompDTO> {
381 let pageCompList: ArrayList<CompDTO> = new ArrayList() // 收集页面组件、稿件和本地组件容器 382 let pageCompList: ArrayList<CompDTO> = new ArrayList() // 收集页面组件、稿件和本地组件容器
382 - compList.forEach((element: CompDTO) => { 383 + let newCompList = this.createSpecialComp(compList)
  384 + newCompList.forEach((element: CompDTO) => {
383 let contentInfo: ContentDTO = CollectionUtils.getElement(element.operDataList, 0); 385 let contentInfo: ContentDTO = CollectionUtils.getElement(element.operDataList, 0);
384 //移除音频 和 活动 386 //移除音频 和 活动
385 if (contentInfo && (contentInfo.objectType === '13' || contentInfo.objectType === '3')) { 387 if (contentInfo && (contentInfo.objectType === '13' || contentInfo.objectType === '3')) {
@@ -402,6 +404,41 @@ export class PageHelper { @@ -402,6 +404,41 @@ export class PageHelper {
402 } 404 }
403 405
404 /** 406 /**
  407 + * 竖直方向list,将数据拆出来,组装成comp
  408 + */
  409 + private createSpecialComp(compList: CompDTO[]): CompDTO[]{
  410 + if (!compList) {
  411 + return compList
  412 + }
  413 + let tmpList: CompDTO[] = []
  414 + compList.forEach((value, index) => {
  415 + if (SpecialComp.includes(value.compStyle)) {
  416 + let list = value.operDataList
  417 + if (list) {
  418 + if (list.length == 1) {
  419 + tmpList.push(value)
  420 + } else {
  421 + list.forEach((content) => {
  422 + let newComp = CompDTO.createNewsBean(value)
  423 + newComp.operDataList = []
  424 + // 特殊样式,comp只保留一个content,多余的一一拆成新的comp
  425 + newComp.operDataList.push(content)
  426 + tmpList.push(newComp)
  427 + })
  428 + }
  429 + } else {
  430 + tmpList.push(value)
  431 + }
  432 + } else {
  433 + tmpList.push(value)
  434 + }
  435 + })
  436 +
  437 + // 重新赋值,将contentList拆出来了。
  438 + return tmpList
  439 + }
  440 +
  441 + /**
405 * 信息流页面,所有稿件需要参与批查,如 批查评论、批查关注状态等接口 442 * 信息流页面,所有稿件需要参与批查,如 批查评论、批查关注状态等接口
406 * @param compList 443 * @param compList
407 * @param pageModel 444 * @param pageModel