Merge branch 'main' of http://192.168.1.42/developOne/harmonyPool
Showing
23 changed files
with
358 additions
and
211 deletions
| 1 | +import { InteractDataDTO } from '../content/InteractDataDTO'; | ||
| 1 | import { FullColumnImgUrlDTO } from '../detail/FullColumnImgUrlDTO'; | 2 | import { FullColumnImgUrlDTO } from '../detail/FullColumnImgUrlDTO'; |
| 2 | -export interface slideShows { | ||
| 3 | - fullColumnImgUrls: FullColumnImgUrlDTO[]; | ||
| 4 | - linkUrl?: string; | ||
| 5 | - newsId: string; | ||
| 6 | - newsTitle?: string; | ||
| 7 | - newsTitleColor?: string; | ||
| 8 | - objectLevel?: string; | ||
| 9 | - objectType: string; | ||
| 10 | - pageId?: string; | ||
| 11 | - photoNum?: string; | ||
| 12 | - publishTime: number; | ||
| 13 | - relId: string; | ||
| 14 | - source?: string; | ||
| 15 | - timeBlurred?: string; | ||
| 16 | - videoDuration?: string; | ||
| 17 | - videoLandscape?: string; | ||
| 18 | - videoUrl?: string; | ||
| 19 | - voiceDuration?: string; | 3 | + |
| 4 | +@Observed | ||
| 5 | +export class slideShows { | ||
| 6 | + fullColumnImgUrls?: FullColumnImgUrlDTO[]; | ||
| 7 | + linkUrl: string=''; | ||
| 8 | + newsId: string = ''; | ||
| 9 | + newsTitle: string=''; | ||
| 10 | + newsTitleColor: string=''; | ||
| 11 | + objectLevel: string=''; | ||
| 12 | + objectType: string =''; | ||
| 13 | + pageId: string=''; | ||
| 14 | + photoNum: string=''; | ||
| 15 | + publishTime: number=0; | ||
| 16 | + relId: string=''; | ||
| 17 | + source: string=''; | ||
| 18 | + timeBlurred: string=''; | ||
| 19 | + videoDuration: string=''; | ||
| 20 | + videoLandscape: string=''; | ||
| 21 | + videoUrl: string=''; | ||
| 22 | + voiceDuration: string=''; | ||
| 23 | + | ||
| 24 | + interactDataDto? :InteractDataDTO | ||
| 20 | } | 25 | } |
| @@ -186,8 +186,8 @@ export struct CardParser { | @@ -186,8 +186,8 @@ export struct CardParser { | ||
| 186 | contentDTO: contentDTO, | 186 | contentDTO: contentDTO, |
| 187 | compDTO: this.compDTO, | 187 | compDTO: this.compDTO, |
| 188 | pageId: this.pageId, | 188 | pageId: this.pageId, |
| 189 | - pageName: this.pageName | ||
| 190 | - | 189 | + pageName: this.pageName, |
| 190 | + index:this.compIndex | ||
| 191 | }) | 191 | }) |
| 192 | } else { | 192 | } else { |
| 193 | // todo:组件未实现 / Component Not Implemented | 193 | // todo:组件未实现 / Component Not Implemented |
| @@ -6,8 +6,12 @@ import router from '@ohos.router' | @@ -6,8 +6,12 @@ import router from '@ohos.router' | ||
| 6 | @Reusable | 6 | @Reusable |
| 7 | @Component | 7 | @Component |
| 8 | export struct CardSourceInfo { | 8 | export struct CardSourceInfo { |
| 9 | - @State contentDTO: ContentDTO = new ContentDTO(); | 9 | + @State @Watch('checkData') contentDTO: ContentDTO = new ContentDTO(); |
| 10 | @ObjectLink compDTO: CompDTO | 10 | @ObjectLink compDTO: CompDTO |
| 11 | + // 特殊稿件内部item展示的来源信息 | ||
| 12 | + isCompInnerSource: boolean = false | ||
| 13 | + // 是否有展示的信息,如来源,标签、时间、评论 | ||
| 14 | + @State viewShowData: boolean = true | ||
| 11 | 15 | ||
| 12 | aboutToAppear(): void { | 16 | aboutToAppear(): void { |
| 13 | } | 17 | } |
| @@ -21,6 +25,7 @@ export struct CardSourceInfo { | @@ -21,6 +25,7 @@ export struct CardSourceInfo { | ||
| 21 | 25 | ||
| 22 | aboutToDisappear(): void { | 26 | aboutToDisappear(): void { |
| 23 | } | 27 | } |
| 28 | + | ||
| 24 | handleTimeStr() { | 29 | handleTimeStr() { |
| 25 | return DateTimeUtils.getCommentTime( | 30 | return DateTimeUtils.getCommentTime( |
| 26 | this.contentDTO.publishTime.includes(' ') | 31 | this.contentDTO.publishTime.includes(' ') |
| @@ -54,7 +59,6 @@ export struct CardSourceInfo { | @@ -54,7 +59,6 @@ export struct CardSourceInfo { | ||
| 54 | return true | 59 | return true |
| 55 | } | 60 | } |
| 56 | 61 | ||
| 57 | - | ||
| 58 | /** | 62 | /** |
| 59 | * 全域数字显示规则 | 63 | * 全域数字显示规则 |
| 60 | * 1、当数量为千位以內时,显示数字,不保留小数点,比如 4585 | 64 | * 1、当数量为千位以內时,显示数字,不保留小数点,比如 4585 |
| @@ -64,17 +68,17 @@ export struct CardSourceInfo { | @@ -64,17 +68,17 @@ export struct CardSourceInfo { | ||
| 64 | * 5、0 和空 不显示 | 68 | * 5、0 和空 不显示 |
| 65 | */ | 69 | */ |
| 66 | handlerNum(number: string) { | 70 | handlerNum(number: string) { |
| 67 | - const num = number??'0'; | 71 | + const num = number ?? '0'; |
| 68 | if (Number.parseInt(num) <= 9999) { | 72 | if (Number.parseInt(num) <= 9999) { |
| 69 | return Number.parseInt(num).toString() | 73 | return Number.parseInt(num).toString() |
| 70 | } else if (Number.parseInt(num) > 9999 && Number.parseInt(num) <= 99999999) { | 74 | } else if (Number.parseInt(num) > 9999 && Number.parseInt(num) <= 99999999) { |
| 71 | const num1: string = num.slice(0, -4); // 万 | 75 | const num1: string = num.slice(0, -4); // 万 |
| 72 | const num2: string = num.slice(-4, -3); // 千 | 76 | const num2: string = num.slice(-4, -3); // 千 |
| 73 | - return num2 === '0' ? num1 +'万' : num1 + '.' + num2 + '万' | 77 | + return num2 === '0' ? num1 + '万' : num1 + '.' + num2 + '万' |
| 74 | } else if (Number.parseInt(num) > 99999999) { | 78 | } else if (Number.parseInt(num) > 99999999) { |
| 75 | const num1: string = num.slice(0, -8); // 亿 | 79 | const num1: string = num.slice(0, -8); // 亿 |
| 76 | const num2: string = num.slice(-8, -7); | 80 | const num2: string = num.slice(-8, -7); |
| 77 | - return num2 === '0' ? num1 +'亿' : num1 + '.' + num2 + '亿' | 81 | + return num2 === '0' ? num1 + '亿' : num1 + '.' + num2 + '亿' |
| 78 | } | 82 | } |
| 79 | return num | 83 | return num |
| 80 | } | 84 | } |
| @@ -88,18 +92,20 @@ export struct CardSourceInfo { | @@ -88,18 +92,20 @@ export struct CardSourceInfo { | ||
| 88 | 92 | ||
| 89 | build() { | 93 | build() { |
| 90 | Flex({ alignItems: ItemAlign.Center }) { | 94 | Flex({ alignItems: ItemAlign.Center }) { |
| 95 | + // 标签 | ||
| 91 | if (this.contentDTO.corner) { | 96 | if (this.contentDTO.corner) { |
| 92 | Text(this.contentDTO.corner) | 97 | Text(this.contentDTO.corner) |
| 93 | .fontSize($r("app.float.font_size_11")) | 98 | .fontSize($r("app.float.font_size_11")) |
| 94 | .fontColor($r("app.color.color_ED2800")) | 99 | .fontColor($r("app.color.color_ED2800")) |
| 95 | - .margin({ right: 2 }) | 100 | + .margin({ right: 6 }) |
| 96 | } | 101 | } |
| 97 | - if(this.contentDTO.cornerMark){ | 102 | + if (this.contentDTO.cornerMark) { |
| 98 | Text(this.contentDTO.cornerMark) | 103 | Text(this.contentDTO.cornerMark) |
| 99 | .fontSize($r("app.float.font_size_11")) | 104 | .fontSize($r("app.float.font_size_11")) |
| 100 | .fontColor($r("app.color.color_ED2800")) | 105 | .fontColor($r("app.color.color_ED2800")) |
| 101 | - .margin({ right: 2 }) | 106 | + .margin({ right: 6 }) |
| 102 | } | 107 | } |
| 108 | + // 来源信息 | ||
| 103 | if (this.contentDTO.rmhPlatform === 1) { | 109 | if (this.contentDTO.rmhPlatform === 1) { |
| 104 | Text(this.contentDTO.rmhInfo?.rmhName) | 110 | Text(this.contentDTO.rmhInfo?.rmhName) |
| 105 | .fontSize($r("app.float.font_size_11")) | 111 | .fontSize($r("app.float.font_size_11")) |
| @@ -113,62 +119,57 @@ export struct CardSourceInfo { | @@ -113,62 +119,57 @@ export struct CardSourceInfo { | ||
| 113 | .maxLines(1) | 119 | .maxLines(1) |
| 114 | .textOverflow({ overflow: TextOverflow.Ellipsis }) | 120 | .textOverflow({ overflow: TextOverflow.Ellipsis }) |
| 115 | } | 121 | } |
| 116 | - if (((this.contentDTO.rmhPlatform === 1 && this.contentDTO.rmhInfo?.rmhName && this.contentDTO.rmhInfo?.rmhName != '') || (this.contentDTO.source && this.contentDTO.source != '')) && (this.getContentDtoBean()?.interactData?.commentNum | ||
| 117 | - // || DateTimeUtils.getCommentTime(Number.parseFloat(this.contentDTO.publishTime)) != '' | ||
| 118 | - || (this.contentDTO.isSearch || this.contentDTO.isCollection || | ||
| 119 | - !this.contentDTO.isSearch && DateTimeUtils.getCommentTime | ||
| 120 | - (Number | ||
| 121 | - .parseFloat(this | ||
| 122 | - .contentDTO.publishTime)) | ||
| 123 | - .indexOf | ||
| 124 | - ('-') === -1) | ||
| 125 | - )) { | 122 | + |
| 123 | + // 点 | ||
| 124 | + if (((this.contentDTO.rmhPlatform === 1 && this.contentDTO.rmhInfo?.rmhName && | ||
| 125 | + this.contentDTO.rmhInfo?.rmhName != '') || (this.contentDTO.source && this.contentDTO.source != '')) && | ||
| 126 | + (this.getContentDtoBean()?.interactData?.commentNum | ||
| 127 | + // || DateTimeUtils.getCommentTime(Number.parseFloat(this.contentDTO.publishTime)) != '' | ||
| 128 | + || (this.contentDTO.isSearch || this.contentDTO.isCollection || | ||
| 129 | + !this.contentDTO.isSearch && DateTimeUtils.getCommentTime | ||
| 130 | + (Number | ||
| 131 | + .parseFloat(this | ||
| 132 | + .contentDTO.publishTime)) | ||
| 133 | + .indexOf | ||
| 134 | + ('-') === -1) | ||
| 135 | + )) { | ||
| 136 | + | ||
| 126 | Image($r("app.media.point")) | 137 | Image($r("app.media.point")) |
| 127 | .width(11) | 138 | .width(11) |
| 128 | .height(11) | 139 | .height(11) |
| 140 | + | ||
| 129 | } | 141 | } |
| 130 | - // 新闻tab下的卡片,2天之前的不显示时间。但是如果是搜索情况下展示的卡片,显示时间 | ||
| 131 | - // if (this.contentDTO.isSearch || this.contentDTO.isCollection || | ||
| 132 | - // (!this.contentDTO.isSearch && | ||
| 133 | - // DateTimeUtils.getCommentTime(Number.parseFloat(this.contentDTO.publishTime)).indexOf('-') === -1)) { | ||
| 134 | - // | ||
| 135 | - // Text(DateTimeUtils.getCommentTime(Number.parseFloat(this.contentDTO.publishTime))) | ||
| 136 | - // .fontSize($r("app.float.font_size_11")) | ||
| 137 | - // .fontColor($r("app.color.color_B0B0B0")) | ||
| 138 | - // .flexShrink(0); | ||
| 139 | - // } | ||
| 140 | - // if (this.contentDTO.source && this.showTime()) { | ||
| 141 | - // Text(this.handleTimeStr()) | ||
| 142 | - // .fontSize($r("app.float.font_size_11")) | ||
| 143 | - // .fontColor($r("app.color.color_B0B0B0")) | ||
| 144 | - // .flexShrink(0) | ||
| 145 | - // .margin({right: 4}) | ||
| 146 | - // } | 142 | + |
| 143 | + // 发布日期 | ||
| 147 | if (this.showTime()) { | 144 | if (this.showTime()) { |
| 148 | Text(this.handleTimeStr()) | 145 | Text(this.handleTimeStr()) |
| 149 | .fontSize($r("app.float.font_size_11")) | 146 | .fontSize($r("app.float.font_size_11")) |
| 150 | .fontColor($r("app.color.color_B0B0B0")) | 147 | .fontColor($r("app.color.color_B0B0B0")) |
| 151 | .flexShrink(0) | 148 | .flexShrink(0) |
| 152 | - .margin({right: 4}) | 149 | + .margin({ right: 4 }) |
| 153 | } | 150 | } |
| 154 | - if (Number(this.getContentDtoBean()?.interactData?.commentNum) > 0 && this.showCommentNum()) { | 151 | + |
| 152 | + // 评论数 | ||
| 153 | + if (!this.isCompInnerSource && Number(this.getContentDtoBean()?.interactData?.commentNum) > 0 && | ||
| 154 | + this.showCommentNum()) { | ||
| 155 | Text(`${this.handlerNum(this.getContentDtoBean()?.interactData?.commentNum.toString())}评`) | 155 | Text(`${this.handlerNum(this.getContentDtoBean()?.interactData?.commentNum.toString())}评`) |
| 156 | .fontSize($r("app.float.font_size_11")) | 156 | .fontSize($r("app.float.font_size_11")) |
| 157 | .fontColor($r("app.color.color_B0B0B0")) | 157 | .fontColor($r("app.color.color_B0B0B0")) |
| 158 | .flexShrink(0) | 158 | .flexShrink(0) |
| 159 | + } else { | ||
| 160 | + | ||
| 161 | + if (this.isCompInnerSource && this.contentDTO.interactData && this.contentDTO.interactData?.commentNum > 0) { | ||
| 162 | + Text(`${this.handlerNum(this.contentDTO.interactData?.commentNum.toString())}评`) | ||
| 163 | + .fontSize($r("app.float.font_size_11")) | ||
| 164 | + .fontColor($r("app.color.color_B0B0B0")) | ||
| 165 | + .flexShrink(0) | ||
| 166 | + } | ||
| 167 | + | ||
| 159 | } | 168 | } |
| 160 | 169 | ||
| 161 | - // if (this.getContentDtoBean()?.interactData?.commentNum && this.contentDTO.source) { | ||
| 162 | - // Text(`${this.getContentDtoBean()?.interactData?.commentNum}评`) | ||
| 163 | - // .fontSize($r("app.float.font_size_11")) | ||
| 164 | - // .fontColor($r("app.color.color_B0B0B0")) | ||
| 165 | - // .flexShrink(0) | ||
| 166 | - // .visibility(Number(this.getContentDtoBean()?.interactData?.commentNum) === 0 ? Visibility.None : | ||
| 167 | - // Visibility.Visible) | ||
| 168 | - // } | ||
| 169 | } | 170 | } |
| 170 | .width(CommonConstants.FULL_WIDTH) | 171 | .width(CommonConstants.FULL_WIDTH) |
| 171 | - .margin({ top: 8 }) | 172 | + .margin({ top: this.viewShowData ? 8 : 0 }) |
| 172 | } | 173 | } |
| 173 | 174 | ||
| 174 | /** | 175 | /** |
| @@ -184,4 +185,45 @@ export struct CardSourceInfo { | @@ -184,4 +185,45 @@ export struct CardSourceInfo { | ||
| 184 | } | 185 | } |
| 185 | return this.compDTO.operDataList[0] | 186 | return this.compDTO.operDataList[0] |
| 186 | } | 187 | } |
| 188 | + | ||
| 189 | + /** | ||
| 190 | + * 检测是否有展示的数据 | ||
| 191 | + */ | ||
| 192 | + checkData() { | ||
| 193 | + | ||
| 194 | + let have = false | ||
| 195 | + | ||
| 196 | + if (this.contentDTO.corner) { | ||
| 197 | + have = true | ||
| 198 | + } | ||
| 199 | + if (this.contentDTO.cornerMark) { | ||
| 200 | + have = true | ||
| 201 | + } | ||
| 202 | + if (this.contentDTO.rmhPlatform === 1) { | ||
| 203 | + have = true | ||
| 204 | + } else if (this.contentDTO.source) { | ||
| 205 | + have = true | ||
| 206 | + } | ||
| 207 | + | ||
| 208 | + // 发布日期 | ||
| 209 | + if (this.showTime()) { | ||
| 210 | + have = true | ||
| 211 | + } | ||
| 212 | + | ||
| 213 | + // 评论数 | ||
| 214 | + if (!this.isCompInnerSource && Number(this.getContentDtoBean()?.interactData?.commentNum) > 0 && | ||
| 215 | + this.showCommentNum()) { | ||
| 216 | + have = true | ||
| 217 | + } else { | ||
| 218 | + if (this.isCompInnerSource && this.contentDTO.interactData && this.contentDTO.interactData?.commentNum > 0) { | ||
| 219 | + have = true | ||
| 220 | + } | ||
| 221 | + } | ||
| 222 | + | ||
| 223 | + if (have) { | ||
| 224 | + | ||
| 225 | + } else { | ||
| 226 | + this.viewShowData = false | ||
| 227 | + } | ||
| 228 | + } | ||
| 187 | } | 229 | } |
| 1 | -import { ContentDTO, slideShows, VideoInfoDTO, CompDTO } from 'wdBean'; | 1 | +import { ContentDTO, slideShows, VideoInfoDTO, CompDTO, InteractDataDTO } from 'wdBean'; |
| 2 | import { CommonConstants } from 'wdConstant'; | 2 | import { CommonConstants } from 'wdConstant'; |
| 3 | import { ProcessUtils } from 'wdRouter'; | 3 | import { ProcessUtils } from 'wdRouter'; |
| 4 | import { CardSourceInfo } from '../cardCommon/CardSourceInfo'; | 4 | import { CardSourceInfo } from '../cardCommon/CardSourceInfo'; |
| @@ -8,6 +8,8 @@ import { onlyWifiLoadImg } from '../../utils/lazyloadImg'; | @@ -8,6 +8,8 @@ import { onlyWifiLoadImg } from '../../utils/lazyloadImg'; | ||
| 8 | import { InfomationCardClick } from '../../utils/infomationCardClick' | 8 | import { InfomationCardClick } from '../../utils/infomationCardClick' |
| 9 | import { SearchShowRed, titleInitRes, textItem } from '../../utils/searchShowRed'; | 9 | import { SearchShowRed, titleInitRes, textItem } from '../../utils/searchShowRed'; |
| 10 | import router from '@ohos.router' | 10 | import router from '@ohos.router' |
| 11 | +import { BasePageHelp } from '../page/template/BasePageHelp'; | ||
| 12 | +import { Logger } from 'wdKit/Index'; | ||
| 11 | 13 | ||
| 12 | /** | 14 | /** |
| 13 | * 大专题卡--CompStyle: 10 | 15 | * 大专题卡--CompStyle: 10 |
| @@ -25,11 +27,39 @@ export struct Card10Component { | @@ -25,11 +27,39 @@ export struct Card10Component { | ||
| 25 | @State titleMarked: boolean = false; | 27 | @State titleMarked: boolean = false; |
| 26 | @State textArr: textItem[] = [] | 28 | @State textArr: textItem[] = [] |
| 27 | @State hideDetail: boolean = false; | 29 | @State hideDetail: boolean = false; |
| 30 | + basePageHelp: BasePageHelp = new BasePageHelp | ||
| 31 | + // 稿件参与批查,需要对列表信息单独重绘 | ||
| 32 | + @State isBatchData: boolean = false | ||
| 28 | 33 | ||
| 29 | async aboutToAppear(): Promise<void> { | 34 | async aboutToAppear(): Promise<void> { |
| 30 | this.titleInit(); | 35 | this.titleInit(); |
| 31 | this.loadImg = await onlyWifiLoadImg(); | 36 | this.loadImg = await onlyWifiLoadImg(); |
| 32 | this.initHideDetail(); | 37 | this.initHideDetail(); |
| 38 | + | ||
| 39 | + if (!this.hideDetail) { | ||
| 40 | + this.isBatchData = false | ||
| 41 | + // 批查评论数据 | ||
| 42 | + let interactArray = this.basePageHelp.getCompInteractParams(this.contentDTO.slideShows) | ||
| 43 | + if (interactArray.contentList != null && interactArray.contentList.length > 0) { | ||
| 44 | + this.basePageHelp.requestCompInteractData(interactArray) | ||
| 45 | + .then((result) => { | ||
| 46 | + if (result != null && result.length > 0) { | ||
| 47 | + this.isBatchData = true | ||
| 48 | + this.contentDTO.slideShows.forEach((slideShowBean) => { | ||
| 49 | + let newsId = slideShowBean.newsId | ||
| 50 | + for (let interactBean of result) { | ||
| 51 | + console.debug(TAG, JSON.stringify(interactBean)) | ||
| 52 | + if (newsId == interactBean.contentId) { | ||
| 53 | + slideShowBean.interactDataDto = interactBean | ||
| 54 | + break | ||
| 55 | + } | ||
| 56 | + } | ||
| 57 | + }) | ||
| 58 | + } | ||
| 59 | + }) | ||
| 60 | + } | ||
| 61 | + } | ||
| 62 | + | ||
| 33 | } | 63 | } |
| 34 | 64 | ||
| 35 | initHideDetail() { | 65 | initHideDetail() { |
| @@ -40,7 +70,7 @@ export struct Card10Component { | @@ -40,7 +70,7 @@ export struct Card10Component { | ||
| 40 | } | 70 | } |
| 41 | 71 | ||
| 42 | titleInit() { | 72 | titleInit() { |
| 43 | - const titleInitRes:titleInitRes = SearchShowRed.titleInit(this.contentDTO.title); | 73 | + const titleInitRes: titleInitRes = SearchShowRed.titleInit(this.contentDTO.title); |
| 44 | this.titleMarked = titleInitRes.titleMarked; | 74 | this.titleMarked = titleInitRes.titleMarked; |
| 45 | this.textArr = titleInitRes.textArr; | 75 | this.textArr = titleInitRes.textArr; |
| 46 | } | 76 | } |
| @@ -63,16 +93,16 @@ export struct Card10Component { | @@ -63,16 +93,16 @@ export struct Card10Component { | ||
| 63 | Span(this.contentDTO.newsTitle) | 93 | Span(this.contentDTO.newsTitle) |
| 64 | } | 94 | } |
| 65 | } | 95 | } |
| 66 | - .width(CommonConstants.FULL_WIDTH) | ||
| 67 | - .fontSize($r('app.float.font_size_18')) | ||
| 68 | - .fontWeight(600) | ||
| 69 | - .maxLines(1) | ||
| 70 | - .textOverflow({ overflow: TextOverflow.Ellipsis }) | ||
| 71 | - .margin({ bottom: 19 }) | ||
| 72 | - .onClick((event: ClickEvent) => { | ||
| 73 | - InfomationCardClick.track(this.compDTO, this.contentDTO, this.pageId, this.pageName) | ||
| 74 | - ProcessUtils.processPage(this.contentDTO) | ||
| 75 | - }) | 96 | + .width(CommonConstants.FULL_WIDTH) |
| 97 | + .fontSize($r('app.float.font_size_18')) | ||
| 98 | + .fontWeight(600) | ||
| 99 | + .maxLines(1) | ||
| 100 | + .textOverflow({ overflow: TextOverflow.Ellipsis }) | ||
| 101 | + .margin({ bottom: 19 }) | ||
| 102 | + .onClick((event: ClickEvent) => { | ||
| 103 | + InfomationCardClick.track(this.compDTO, this.contentDTO, this.pageId, this.pageName) | ||
| 104 | + ProcessUtils.processPage(this.contentDTO) | ||
| 105 | + }) | ||
| 76 | } | 106 | } |
| 77 | // 大图 | 107 | // 大图 |
| 78 | Stack() { | 108 | Stack() { |
| @@ -94,17 +124,14 @@ export struct Card10Component { | @@ -94,17 +124,14 @@ export struct Card10Component { | ||
| 94 | 124 | ||
| 95 | // 专题列表--后端返回三个, | 125 | // 专题列表--后端返回三个, |
| 96 | if (!this.hideDetail) { | 126 | if (!this.hideDetail) { |
| 97 | - Column() { | ||
| 98 | - ForEach(this.contentDTO.slideShows, (item: slideShows, index: number) => { | ||
| 99 | - this.timelineItem(item, index) | ||
| 100 | - if (index < this.contentDTO.slideShows.length - 1) { | ||
| 101 | - // 在不是最后一个元素的情况下添加分隔符 | ||
| 102 | - Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 0, right: 0 }); | ||
| 103 | - } | ||
| 104 | - }) | 127 | + |
| 128 | + if (this.isBatchData) { | ||
| 129 | + this.drawCompList() | ||
| 130 | + } else { | ||
| 131 | + this.drawCompList() | ||
| 105 | } | 132 | } |
| 106 | - } | ||
| 107 | 133 | ||
| 134 | + } | ||
| 108 | 135 | ||
| 109 | // 底部-查看更多。根据接口返回的isMore判断是否显示查看更多 | 136 | // 底部-查看更多。根据接口返回的isMore判断是否显示查看更多 |
| 110 | if (this.contentDTO.hasMore == 1 && !this.hideDetail) { | 137 | if (this.contentDTO.hasMore == 1 && !this.hideDetail) { |
| @@ -141,37 +168,54 @@ export struct Card10Component { | @@ -141,37 +168,54 @@ export struct Card10Component { | ||
| 141 | } | 168 | } |
| 142 | 169 | ||
| 143 | @Builder | 170 | @Builder |
| 171 | + drawCompList() { | ||
| 172 | + | ||
| 173 | + Column() { | ||
| 174 | + ForEach(this.contentDTO.slideShows, (item: slideShows, index: number) => { | ||
| 175 | + this.timelineItem(item, index) | ||
| 176 | + if (index < this.contentDTO.slideShows.length - 1) { | ||
| 177 | + // 在不是最后一个元素的情况下添加分隔符 | ||
| 178 | + Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 0, right: 0 }); | ||
| 179 | + } | ||
| 180 | + }) | ||
| 181 | + } | ||
| 182 | + | ||
| 183 | + } | ||
| 184 | + | ||
| 185 | + @Builder | ||
| 144 | timelineItem(item: slideShows, index: number) { | 186 | timelineItem(item: slideShows, index: number) { |
| 145 | Row() { | 187 | Row() { |
| 146 | - Column() { | ||
| 147 | - Stack() { | ||
| 148 | - if (item.objectType == '5') { | ||
| 149 | - Notes({ objectType: 5 }) | ||
| 150 | - } | ||
| 151 | - Text(item.newsTitle) | ||
| 152 | - .fontSize($r('app.float.font_size_17')) | ||
| 153 | - .fontWeight(400) | ||
| 154 | - .fontColor($r('app.color.color_222222')) | ||
| 155 | - .maxLines(2) | ||
| 156 | - .textOverflow({ overflow: TextOverflow.Ellipsis }) | ||
| 157 | - .textIndent(item.objectType == '5' ? 38 : 0) | ||
| 158 | - }.alignContent(Alignment.TopStart) | ||
| 159 | - | ||
| 160 | - Blank() | ||
| 161 | - //bottom 评论等信息 | ||
| 162 | - CardSourceInfo( | ||
| 163 | - { | ||
| 164 | - compDTO: this.compDTO, | ||
| 165 | - contentDTO: this.createContent(item) | ||
| 166 | - } | ||
| 167 | - ) | ||
| 168 | - } | ||
| 169 | - .layoutWeight(1) | ||
| 170 | - .height(78) | ||
| 171 | - .alignItems(HorizontalAlign.Start) | 188 | + // 有图片资源的 |
| 189 | + if (item.fullColumnImgUrls && item.fullColumnImgUrls[0] && item.fullColumnImgUrls[0].url) { | ||
| 190 | + | ||
| 191 | + Column() { | ||
| 192 | + Stack() { | ||
| 193 | + if (item.objectType == '5') { | ||
| 194 | + Notes({ objectType: 5 }) | ||
| 195 | + } | ||
| 196 | + Text(item.newsTitle) | ||
| 197 | + .fontSize($r('app.float.font_size_17')) | ||
| 198 | + .fontWeight(400) | ||
| 199 | + .fontColor($r('app.color.color_222222')) | ||
| 200 | + .maxLines(2) | ||
| 201 | + .textOverflow({ overflow: TextOverflow.Ellipsis }) | ||
| 202 | + .textIndent(item.objectType == '5' ? 38 : 0) | ||
| 203 | + }.alignContent(Alignment.TopStart) | ||
| 204 | + | ||
| 205 | + Blank() | ||
| 206 | + //bottom 评论等信息 | ||
| 207 | + CardSourceInfo( | ||
| 208 | + { | ||
| 209 | + isCompInnerSource: true, | ||
| 210 | + compDTO: this.compDTO, | ||
| 211 | + contentDTO: this.createContent(item) | ||
| 212 | + } | ||
| 213 | + ) | ||
| 214 | + } | ||
| 215 | + .layoutWeight(1) | ||
| 216 | + .height(78) | ||
| 217 | + .alignItems(HorizontalAlign.Start) | ||
| 172 | 218 | ||
| 173 | - // 右侧图片 | ||
| 174 | - if (item.fullColumnImgUrls[0] && item.fullColumnImgUrls[0].url) { | ||
| 175 | Stack() { | 219 | Stack() { |
| 176 | Image(this.loadImg ? item.fullColumnImgUrls[0].url : '') | 220 | Image(this.loadImg ? item.fullColumnImgUrls[0].url : '') |
| 177 | .backgroundColor(0xf5f5f5) | 221 | .backgroundColor(0xf5f5f5) |
| @@ -186,6 +230,33 @@ export struct Card10Component { | @@ -186,6 +230,33 @@ export struct Card10Component { | ||
| 186 | } | 230 | } |
| 187 | .alignContent(Alignment.BottomEnd) | 231 | .alignContent(Alignment.BottomEnd) |
| 188 | .height(78) | 232 | .height(78) |
| 233 | + }else{ | ||
| 234 | + Column() { | ||
| 235 | + Stack() { | ||
| 236 | + if (item.objectType == '5') { | ||
| 237 | + Notes({ objectType: 5 }) | ||
| 238 | + } | ||
| 239 | + Text(item.newsTitle) | ||
| 240 | + .fontSize($r('app.float.font_size_17')) | ||
| 241 | + .fontWeight(400) | ||
| 242 | + .fontColor($r('app.color.color_222222')) | ||
| 243 | + .maxLines(2) | ||
| 244 | + .textOverflow({ overflow: TextOverflow.Ellipsis }) | ||
| 245 | + .textIndent(item.objectType == '5' ? 38 : 0) | ||
| 246 | + }.alignContent(Alignment.TopStart) | ||
| 247 | + | ||
| 248 | + //bottom 评论等信息 | ||
| 249 | + CardSourceInfo( | ||
| 250 | + { | ||
| 251 | + isCompInnerSource: true, | ||
| 252 | + compDTO: this.compDTO, | ||
| 253 | + contentDTO: this.createContent(item) | ||
| 254 | + } | ||
| 255 | + ) | ||
| 256 | + } | ||
| 257 | + .layoutWeight(1) | ||
| 258 | + .alignItems(HorizontalAlign.Start) | ||
| 259 | + | ||
| 189 | } | 260 | } |
| 190 | } | 261 | } |
| 191 | .padding({ top: 10, bottom: 10 }) | 262 | .padding({ top: 10, bottom: 10 }) |
| @@ -201,8 +272,9 @@ export struct Card10Component { | @@ -201,8 +272,9 @@ export struct Card10Component { | ||
| 201 | 272 | ||
| 202 | private createContent(item: slideShows): ContentDTO { | 273 | private createContent(item: slideShows): ContentDTO { |
| 203 | let contentDTO = new ContentDTO() | 274 | let contentDTO = new ContentDTO() |
| 204 | - contentDTO.publishTime = item.publishTime.toString() || ''; | 275 | + contentDTO.publishTime = item.publishTime?.toString() || ''; |
| 205 | contentDTO.source = item.source || ''; | 276 | contentDTO.source = item.source || ''; |
| 277 | + contentDTO.interactData = item.interactDataDto | ||
| 206 | return contentDTO; | 278 | return contentDTO; |
| 207 | } | 279 | } |
| 208 | 280 |
| @@ -55,7 +55,7 @@ export struct Card14Component { | @@ -55,7 +55,7 @@ export struct Card14Component { | ||
| 55 | ) | 55 | ) |
| 56 | } | 56 | } |
| 57 | // 左标题,右图 | 57 | // 左标题,右图 |
| 58 | - Flex({ direction: FlexDirection.Row, justifyContent: FlexAlign.Start }) { | 58 | + Flex({ direction: FlexDirection.Row, justifyContent: FlexAlign.SpaceBetween }) { |
| 59 | 59 | ||
| 60 | Text() { | 60 | Text() { |
| 61 | if (this.titleMarked) { | 61 | if (this.titleMarked) { |
| @@ -19,7 +19,7 @@ export struct LiveBigImage02Component { | @@ -19,7 +19,7 @@ export struct LiveBigImage02Component { | ||
| 19 | @State contentDTO: ContentDTO = new ContentDTO(); | 19 | @State contentDTO: ContentDTO = new ContentDTO(); |
| 20 | @State loadImg: boolean = false; | 20 | @State loadImg: boolean = false; |
| 21 | @State clicked: boolean = false; | 21 | @State clicked: boolean = false; |
| 22 | - | 22 | + index: number = 0 |
| 23 | async aboutToAppear() { | 23 | async aboutToAppear() { |
| 24 | const curRouter = router.getState().name; | 24 | const curRouter = router.getState().name; |
| 25 | this.clicked = hasClicked(this.contentDTO.objectId,curRouter) | 25 | this.clicked = hasClicked(this.contentDTO.objectId,curRouter) |
| @@ -102,8 +102,7 @@ export struct LiveBigImage02Component { | @@ -102,8 +102,7 @@ export struct LiveBigImage02Component { | ||
| 102 | lottieWidth: 14, | 102 | lottieWidth: 14, |
| 103 | lottieHeight: 14, | 103 | lottieHeight: 14, |
| 104 | autoplay: true, | 104 | autoplay: true, |
| 105 | - loop: true, | ||
| 106 | - title: item.newsTitle | 105 | + loop: true |
| 107 | }) | 106 | }) |
| 108 | .margin({ | 107 | .margin({ |
| 109 | right: '2vp' | 108 | right: '2vp' |
| @@ -14,28 +14,16 @@ export struct LottieView { | @@ -14,28 +14,16 @@ export struct LottieView { | ||
| 14 | private politeChickyController: CanvasRenderingContext2D = | 14 | private politeChickyController: CanvasRenderingContext2D = |
| 15 | new CanvasRenderingContext2D(); // CanvasRenderingContext2D对象 | 15 | new CanvasRenderingContext2D(); // CanvasRenderingContext2D对象 |
| 16 | private animateItem: AnimationItem | null = null; // 初始化loadAnimation接口的返回对象 | 16 | private animateItem: AnimationItem | null = null; // 初始化loadAnimation接口的返回对象 |
| 17 | - @Prop title: string | ||
| 18 | 17 | ||
| 19 | - // 页面隐藏销毁动画 | ||
| 20 | - // onPageHide(): void { | ||
| 21 | - // this.animateItem?.destroy() | ||
| 22 | - // | ||
| 23 | - // if (this.onComplete) { | ||
| 24 | - // this.animateItem?.removeEventListener('complete', this.onComplete) | ||
| 25 | - // } | ||
| 26 | - // } | 18 | + |
| 27 | 19 | ||
| 28 | /** | 20 | /** |
| 29 | * 加载动画 | 21 | * 加载动画 |
| 30 | * @param autoplay 控制动画是否自动播放参数 | 22 | * @param autoplay 控制动画是否自动播放参数 |
| 31 | */ | 23 | */ |
| 32 | loadAnimation() { | 24 | loadAnimation() { |
| 33 | - // 销毁动画,减少缓存 | ||
| 34 | - if (this.animateItem !== null) { | ||
| 35 | - this.animateItem.destroy(this.name); | ||
| 36 | - this.animateItem = null; | ||
| 37 | - } | ||
| 38 | 25 | ||
| 26 | + this.onDestroyAnimation() | ||
| 39 | this.animateItem = lottie.loadAnimation({ | 27 | this.animateItem = lottie.loadAnimation({ |
| 40 | container: this.politeChickyController, | 28 | container: this.politeChickyController, |
| 41 | renderer: 'canvas', | 29 | renderer: 'canvas', |
| @@ -55,31 +43,18 @@ export struct LottieView { | @@ -55,31 +43,18 @@ export struct LottieView { | ||
| 55 | 43 | ||
| 56 | } | 44 | } |
| 57 | 45 | ||
| 58 | - aboutToAppear(): void { | ||
| 59 | - // console.error('XXXXZZZZ', '-------aboutToAppear-------' + this.title) | ||
| 60 | - //lottie?.play() | ||
| 61 | - | ||
| 62 | - // if(this.init){ | ||
| 63 | - // if(this.animateItem = null){ | ||
| 64 | - // this.loadAnimation(); | ||
| 65 | - // } | ||
| 66 | - // } | ||
| 67 | - | 46 | + /** |
| 47 | + * 摧毁动画 | ||
| 48 | + */ | ||
| 49 | + onDestroyAnimation(){ | ||
| 50 | + // 销毁动画,减少缓存 | ||
| 51 | + if (this.animateItem !== null) { | ||
| 52 | + this.animateItem.destroy(this.name); | ||
| 53 | + this.animateItem = null; | ||
| 54 | + } | ||
| 68 | 55 | ||
| 69 | } | 56 | } |
| 70 | 57 | ||
| 71 | - aboutToDisappear(): void { | ||
| 72 | - // console.error('XXXXZZZZ', '-------aboutToDisappear-------' + this.title) | ||
| 73 | - // if(this.init){ | ||
| 74 | - // lottie?.destroy(this.name) | ||
| 75 | - // | ||
| 76 | - // if (this.onComplete) { | ||
| 77 | - // this.animateItem?.removeEventListener('complete', this.onComplete) | ||
| 78 | - // } | ||
| 79 | - // this.animateItem = null; | ||
| 80 | - // // } | ||
| 81 | - | ||
| 82 | - } | ||
| 83 | 58 | ||
| 84 | build() { | 59 | build() { |
| 85 | Stack({ alignContent: Alignment.TopStart }) { | 60 | Stack({ alignContent: Alignment.TopStart }) { |
| @@ -92,10 +67,10 @@ export struct LottieView { | @@ -92,10 +67,10 @@ export struct LottieView { | ||
| 92 | this.onReady(this.animateItem) | 67 | this.onReady(this.animateItem) |
| 93 | } | 68 | } |
| 94 | }) | 69 | }) |
| 95 | - .onDisAppear(() => { | ||
| 96 | - lottie.destroy(this.name) | ||
| 97 | - this.animateItem = null; | ||
| 98 | - }).onAppear(()=>{ | 70 | + .onDisAppear(()=>{ |
| 71 | + this.onDestroyAnimation() | ||
| 72 | + }) | ||
| 73 | + .onAppear(()=>{ | ||
| 99 | this.loadAnimation(); | 74 | this.loadAnimation(); |
| 100 | }) | 75 | }) |
| 101 | 76 |
| @@ -34,20 +34,13 @@ export default struct MinePageUserSimpleInfoUI { | @@ -34,20 +34,13 @@ export default struct MinePageUserSimpleInfoUI { | ||
| 34 | Row(){ | 34 | Row(){ |
| 35 | //头像 | 35 | //头像 |
| 36 | Stack(){ | 36 | Stack(){ |
| 37 | - if (this.headPhotoUrl.length > 0){ | ||
| 38 | - Image(this.headPhotoUrl) | ||
| 39 | - .alt(this.userType === "1"?$r('app.media.default_head'):$r('app.media.AccountOwner_DefaultIcon')) | ||
| 40 | - .width(`${this.calcHeight(100)}lpx`) | ||
| 41 | - .height(`${this.calcHeight(100)}lpx`) | ||
| 42 | - .objectFit(ImageFit.Cover) | ||
| 43 | - .borderRadius(50) | ||
| 44 | - }else { | ||
| 45 | - Image(this.userType === "1"?$r('app.media.default_head'):$r('app.media.AccountOwner_DefaultIcon')) | ||
| 46 | - .width(`${this.calcHeight(100)}lpx`) | ||
| 47 | - .height(`${this.calcHeight(100)}lpx`) | ||
| 48 | - .objectFit(ImageFit.Cover) | ||
| 49 | - .borderRadius(50) | ||
| 50 | - } | 37 | + |
| 38 | + Image(this.isLogin?(this.headPhotoUrl?this.headPhotoUrl:this.userType === "1"?$r('app.media.default_head'):$r('app.media.AccountOwner_DefaultIcon')):$r('app.media.default_head')) | ||
| 39 | + .alt($r('app.media.default_head')) | ||
| 40 | + .width(`${this.calcHeight(100)}lpx`) | ||
| 41 | + .height(`${this.calcHeight(100)}lpx`) | ||
| 42 | + .objectFit(ImageFit.Cover) | ||
| 43 | + .borderRadius(50) | ||
| 51 | 44 | ||
| 52 | if(StringUtils.isNotEmpty(this.levelHead)){ | 45 | if(StringUtils.isNotEmpty(this.levelHead)){ |
| 53 | Image(this.levelHead) | 46 | Image(this.levelHead) |
| @@ -395,7 +395,7 @@ export struct PaperSingleColumn999CardView { | @@ -395,7 +395,7 @@ export struct PaperSingleColumn999CardView { | ||
| 395 | private item: ContentDTO = new ContentDTO(); | 395 | private item: ContentDTO = new ContentDTO(); |
| 396 | private index: number = -1; | 396 | private index: number = -1; |
| 397 | @State isRead: boolean = false;//已读状态 | 397 | @State isRead: boolean = false;//已读状态 |
| 398 | - @State interactData: InteractDataDTO = {} as InteractDataDTO; | 398 | + @State interactData: InteractDataDTO = new InteractDataDTO |
| 399 | @Consume @Watch('onChangeCommentList') commentList: InteractDataDTO[] | 399 | @Consume @Watch('onChangeCommentList') commentList: InteractDataDTO[] |
| 400 | 400 | ||
| 401 | getPublishTime(): string { | 401 | getPublishTime(): string { |
| 1 | -import { CompDTO, | 1 | +import { |
| 2 | + CompDTO, | ||
| 2 | ContentBean, | 3 | ContentBean, |
| 3 | ContentDTO, | 4 | ContentDTO, |
| 4 | InteractDataDTO, | 5 | InteractDataDTO, |
| 5 | - InteractParam, LiveRoomDataBean, ReserveBean, ReserveItemBean } from 'wdBean/Index' | 6 | + InteractParam, |
| 7 | + LiveRoomDataBean, | ||
| 8 | + ReserveBean, | ||
| 9 | + ReserveItemBean, | ||
| 10 | + slideShows | ||
| 11 | +} from 'wdBean/Index' | ||
| 6 | import { BaseDTO } from 'wdBean/src/main/ets/bean/component/BaseDTO' | 12 | import { BaseDTO } from 'wdBean/src/main/ets/bean/component/BaseDTO' |
| 7 | import { CollectionUtils, DateTimeUtils, LazyDataSource, Logger, StringUtils } from 'wdKit/Index' | 13 | import { CollectionUtils, DateTimeUtils, LazyDataSource, Logger, StringUtils } from 'wdKit/Index' |
| 8 | import { HttpUtils, ResponseDTO } from 'wdNetwork/Index' | 14 | import { HttpUtils, ResponseDTO } from 'wdNetwork/Index' |
| @@ -22,7 +28,7 @@ export class BasePageHelp { | @@ -22,7 +28,7 @@ export class BasePageHelp { | ||
| 22 | if (HttpUtils.getUserId()) { | 28 | if (HttpUtils.getUserId()) { |
| 23 | 29 | ||
| 24 | let time = DateTimeUtils.getTimeStamp().toString() | 30 | let time = DateTimeUtils.getTimeStamp().toString() |
| 25 | - Logger.debug(TAG, 'getAppointmentInfo-->'+time) | 31 | + Logger.debug(TAG, 'getAppointmentInfo-->' + time) |
| 26 | const reserveBean = this.transformToLiveDetailsBeans(compList) | 32 | const reserveBean = this.transformToLiveDetailsBeans(compList) |
| 27 | LiveModel.getAppointmentStatus(reserveBean).then((result) => { | 33 | LiveModel.getAppointmentStatus(reserveBean).then((result) => { |
| 28 | Logger.debug(TAG, '是否预约数据:' + ` ${JSON.stringify(result)}`) | 34 | Logger.debug(TAG, '是否预约数据:' + ` ${JSON.stringify(result)}`) |
| @@ -116,11 +122,11 @@ export class BasePageHelp { | @@ -116,11 +122,11 @@ export class BasePageHelp { | ||
| 116 | return idList.join(',') | 122 | return idList.join(',') |
| 117 | } | 123 | } |
| 118 | 124 | ||
| 119 | -/** | ||
| 120 | - * 批查稿件的互动数据,如 评论人数等 | ||
| 121 | - * @param compList | ||
| 122 | - * @returns | ||
| 123 | - */ | 125 | + /** |
| 126 | + * 批查稿件的互动数据,如 评论人数等 | ||
| 127 | + * @param compList | ||
| 128 | + * @returns | ||
| 129 | + */ | ||
| 124 | async getInteractData(compList: CompDTO[]) { | 130 | async getInteractData(compList: CompDTO[]) { |
| 125 | let param: InteractParam = this.getInteractParams(compList); | 131 | let param: InteractParam = this.getInteractParams(compList); |
| 126 | const SIZE = 20; | 132 | const SIZE = 20; |
| @@ -165,13 +171,17 @@ export class BasePageHelp { | @@ -165,13 +171,17 @@ export class BasePageHelp { | ||
| 165 | allInteractDataList.push(...value); | 171 | allInteractDataList.push(...value); |
| 166 | } | 172 | } |
| 167 | }) | 173 | }) |
| 168 | - // 批查全部完成,统一设置到comp里 | ||
| 169 | - // this.resetInteract(allInteractDataList, compList); | ||
| 170 | success(allInteractDataList); | 174 | success(allInteractDataList); |
| 171 | }) | 175 | }) |
| 172 | }) | 176 | }) |
| 173 | } | 177 | } |
| 174 | 178 | ||
| 179 | + | ||
| 180 | + /** | ||
| 181 | + * 收集信息流页面,可参与批查稿件的业务信息 | ||
| 182 | + * @param compList | ||
| 183 | + * @returns | ||
| 184 | + */ | ||
| 175 | private getInteractParams(compList: CompDTO[]): InteractParam { | 185 | private getInteractParams(compList: CompDTO[]): InteractParam { |
| 176 | if (compList == null || compList.length == 0) { | 186 | if (compList == null || compList.length == 0) { |
| 177 | return {} as InteractParam; | 187 | return {} as InteractParam; |
| @@ -204,6 +214,34 @@ export class BasePageHelp { | @@ -204,6 +214,34 @@ export class BasePageHelp { | ||
| 204 | return param; | 214 | return param; |
| 205 | } | 215 | } |
| 206 | 216 | ||
| 217 | + /** | ||
| 218 | + * 获取组件中需要参与批查业务信息 | ||
| 219 | + * @param slideShowArray | ||
| 220 | + * @returns | ||
| 221 | + */ | ||
| 222 | + public getCompInteractParams(slideShowArray: slideShows[]): InteractParam { | ||
| 223 | + | ||
| 224 | + if (slideShowArray == null || slideShowArray.length == 0) { | ||
| 225 | + return {} as InteractParam; | ||
| 226 | + } | ||
| 227 | + let param: InteractParam = {} as InteractParam; | ||
| 228 | + param.contentList = new Array<ContentBean>(); | ||
| 229 | + slideShowArray.forEach((value) => { | ||
| 230 | + let bean = {} as ContentBean; | ||
| 231 | + bean.contentId = value.newsId; | ||
| 232 | + bean.contentType = value.objectType; | ||
| 233 | + param.contentList.push(bean); | ||
| 234 | + }) | ||
| 235 | + | ||
| 236 | + return param | ||
| 237 | + } | ||
| 238 | + | ||
| 239 | + | ||
| 240 | + /** | ||
| 241 | + * 查询互动相关数据,如收藏数、评论数等 | ||
| 242 | + * @param param | ||
| 243 | + * @returns | ||
| 244 | + */ | ||
| 207 | private createInteractDataPromise(param: InteractParam) { | 245 | private createInteractDataPromise(param: InteractParam) { |
| 208 | return new Promise<InteractDataDTO[]>((success, error) => { | 246 | return new Promise<InteractDataDTO[]>((success, error) => { |
| 209 | PageRepository.fetchInteractData(param).then((resDTO: ResponseDTO<InteractDataDTO[]>) => { | 247 | PageRepository.fetchInteractData(param).then((resDTO: ResponseDTO<InteractDataDTO[]>) => { |
| @@ -221,12 +259,24 @@ export class BasePageHelp { | @@ -221,12 +259,24 @@ export class BasePageHelp { | ||
| 221 | }); | 259 | }); |
| 222 | } | 260 | } |
| 223 | 261 | ||
| 262 | + async requestCompInteractData(param: InteractParam): Promise<InteractDataDTO[]> { | ||
| 263 | + return new Promise<InteractDataDTO[]>((success, error) => { | ||
| 264 | + this.createInteractDataPromise(param).then((result) => { | ||
| 265 | + if (!CollectionUtils.isArray(result)) { | ||
| 266 | + success(new Array<InteractDataDTO>()); | ||
| 267 | + return; | ||
| 268 | + } | ||
| 269 | + success(result); | ||
| 270 | + }) | ||
| 271 | + }) | ||
| 272 | + } | ||
| 273 | + | ||
| 224 | /** | 274 | /** |
| 225 | * 刷新互动数据到compList | 275 | * 刷新互动数据到compList |
| 226 | * @param interact 批查互动数据结果 | 276 | * @param interact 批查互动数据结果 |
| 227 | * @param compList comp list | 277 | * @param compList comp list |
| 228 | */ | 278 | */ |
| 229 | - resetInteract(interact: InteractDataDTO[], compList: BaseDTO[]) { | 279 | + resetInteract(interact: InteractDataDTO[], compList: BaseDTO[]) { |
| 230 | if (interact == null || interact.length == 0) { | 280 | if (interact == null || interact.length == 0) { |
| 231 | return | 281 | return |
| 232 | } | 282 | } |
| @@ -252,6 +302,4 @@ export class BasePageHelp { | @@ -252,6 +302,4 @@ export class BasePageHelp { | ||
| 252 | } | 302 | } |
| 253 | }) | 303 | }) |
| 254 | } | 304 | } |
| 255 | - | ||
| 256 | - | ||
| 257 | } | 305 | } |
| @@ -41,6 +41,7 @@ export default struct TemplatePageComponent { | @@ -41,6 +41,7 @@ export default struct TemplatePageComponent { | ||
| 41 | 41 | ||
| 42 | extra: string = '' | 42 | extra: string = '' |
| 43 | 43 | ||
| 44 | + | ||
| 44 | async aboutToAppear() { | 45 | async aboutToAppear() { |
| 45 | Logger.debug(TAG, 'aboutToAppear') | 46 | Logger.debug(TAG, 'aboutToAppear') |
| 46 | this.requestPageData() | 47 | this.requestPageData() |
| @@ -78,9 +79,6 @@ export default struct TemplatePageComponent { | @@ -78,9 +79,6 @@ export default struct TemplatePageComponent { | ||
| 78 | }) | 79 | }) |
| 79 | } | 80 | } |
| 80 | 81 | ||
| 81 | - aboutToDisappear(): void { | ||
| 82 | - | ||
| 83 | - } | ||
| 84 | 82 | ||
| 85 | build() { | 83 | build() { |
| 86 | if (this.templatePage.pageCompType === TemplatePageStateType.LOADING) { | 84 | if (this.templatePage.pageCompType === TemplatePageStateType.LOADING) { |
| 1 | -import { ContentDTO } from 'wdBean/Index'; | ||
| 2 | import { BaseDTO } from 'wdBean/src/main/ets/bean/component/BaseDTO'; | 1 | import { BaseDTO } from 'wdBean/src/main/ets/bean/component/BaseDTO'; |
| 3 | import { LazyDataSource } from 'wdKit/Index'; | 2 | import { LazyDataSource } from 'wdKit/Index'; |
| 4 | import { WDViewDefaultType } from '../../view/EmptyComponent'; | 3 | import { WDViewDefaultType } from '../../view/EmptyComponent'; |
| @@ -106,7 +106,10 @@ export struct CustomPullToRefresh { | @@ -106,7 +106,10 @@ export struct CustomPullToRefresh { | ||
| 106 | lottie.destroy(this.refreshingAnimName); | 106 | lottie.destroy(this.refreshingAnimName); |
| 107 | this.refreshAnimation?.removeEventListener('DOMLoaded') | 107 | this.refreshAnimation?.removeEventListener('DOMLoaded') |
| 108 | this.refreshAnimation?.removeEventListener('destroy') | 108 | this.refreshAnimation?.removeEventListener('destroy') |
| 109 | + this.refreshingAnimation?.removeEventListener('DOMLoaded') | ||
| 110 | + this.refreshingAnimation?.removeEventListener('destroy') | ||
| 109 | this.refreshAnimation = null | 111 | this.refreshAnimation = null |
| 112 | + this.refreshingAnimation = null | ||
| 110 | } | 113 | } |
| 111 | 114 | ||
| 112 | @Builder | 115 | @Builder |
| @@ -29,7 +29,7 @@ import { JSON } from '@kit.ArkTS' | @@ -29,7 +29,7 @@ import { JSON } from '@kit.ArkTS' | ||
| 29 | import { MoreComponent } from '../cardview/MoreComponent' | 29 | import { MoreComponent } from '../cardview/MoreComponent' |
| 30 | import { Card9Component } from '../cardview/Card9Component' | 30 | import { Card9Component } from '../cardview/Card9Component' |
| 31 | import { WDRouterRule, WDRouterPage } from 'wdRouter/Index' | 31 | import { WDRouterRule, WDRouterPage } from 'wdRouter/Index' |
| 32 | - | 32 | +import { EmptyComponent,WDViewDefaultType } from '../view/EmptyComponent' |
| 33 | const TAG = "SearchResultContentComponent" | 33 | const TAG = "SearchResultContentComponent" |
| 34 | 34 | ||
| 35 | @Component | 35 | @Component |
| @@ -270,7 +270,12 @@ export struct SearchResultContentComponent { | @@ -270,7 +270,12 @@ export struct SearchResultContentComponent { | ||
| 270 | build() { | 270 | build() { |
| 271 | Column() { | 271 | Column() { |
| 272 | if (this.count == 0) { | 272 | if (this.count == 0) { |
| 273 | - ListHasNoMoreDataUI({ style: 2 }) | 273 | + // ListHasNoMoreDataUI({ style: 2 }) |
| 274 | + EmptyComponent({ | ||
| 275 | + emptyType: WDViewDefaultType.WDViewDefaultType_NoSearchResult, | ||
| 276 | + emptyButton: false, | ||
| 277 | + | ||
| 278 | + }) | ||
| 274 | } else { | 279 | } else { |
| 275 | List({ scroller: this.scroller2 }) { | 280 | List({ scroller: this.scroller2 }) { |
| 276 | if (this.data_rmh != null && this.data_rmh.length > 0) { | 281 | if (this.data_rmh != null && this.data_rmh.length > 0) { |
| @@ -314,11 +319,7 @@ export struct SearchResultContentComponent { | @@ -314,11 +319,7 @@ export struct SearchResultContentComponent { | ||
| 314 | } | 319 | } |
| 315 | if (index != this.data.totalCount() - 1) { | 320 | if (index != this.data.totalCount() - 1) { |
| 316 | Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) | 321 | Divider().strokeWidth(1).color('#f5f5f5').padding({ left: 16, right: 16 }) |
| 317 | - // Divider() | ||
| 318 | - // .width('100%') | ||
| 319 | - // .height('1lpx') | ||
| 320 | - // .color($r('app.color.color_F5F5F5')) | ||
| 321 | - // .strokeWidth('1lpx') | 322 | + |
| 322 | } | 323 | } |
| 323 | } | 324 | } |
| 324 | } | 325 | } |
| @@ -59,7 +59,7 @@ export struct LiveOperRowListView { | @@ -59,7 +59,7 @@ export struct LiveOperRowListView { | ||
| 59 | @State needLike: boolean = true | 59 | @State needLike: boolean = true |
| 60 | @State styleType: number = -1 | 60 | @State styleType: number = -1 |
| 61 | @State bgColor: ResourceColor = Color.White | 61 | @State bgColor: ResourceColor = Color.White |
| 62 | - @State interactData: InteractDataDTO = {} as InteractDataDTO | 62 | + @State interactData: InteractDataDTO = new InteractDataDTO |
| 63 | @State newsStatusOfUser: batchLikeAndCollectResult | undefined = undefined // 点赞、收藏状态 | 63 | @State newsStatusOfUser: batchLikeAndCollectResult | undefined = undefined // 点赞、收藏状态 |
| 64 | @State bottomSafeHeight: number = AppStorage.get<number>('bottomSafeHeight') || 0 | 64 | @State bottomSafeHeight: number = AppStorage.get<number>('bottomSafeHeight') || 0 |
| 65 | @State dialogController: CustomDialogController | null = null; | 65 | @State dialogController: CustomDialogController | null = null; |
| @@ -221,9 +221,15 @@ export struct PlayUIComponent { | @@ -221,9 +221,15 @@ export struct PlayUIComponent { | ||
| 221 | .padding({ | 221 | .padding({ |
| 222 | top: 1, | 222 | top: 1, |
| 223 | right: 4, | 223 | right: 4, |
| 224 | - bottom: 1 | 224 | + bottom: 1, |
| 225 | }) | 225 | }) |
| 226 | - // .margin({left: this.contentDetailData?.rmhInfo ? 0 : 34}) | 226 | + .margin( |
| 227 | + { | ||
| 228 | + left: this.contentDetailData?.rmhInfo | ||
| 229 | + ? 0 | ||
| 230 | + : this.displayDirection === DisplayDirection.VIDEO_HORIZONTAL ? 34 : 0 | ||
| 231 | + } | ||
| 232 | + ) | ||
| 227 | } | 233 | } |
| 228 | //回看 | 234 | //回看 |
| 229 | else if (this.contentDetailData.liveInfo?.liveState == 'end') { | 235 | else if (this.contentDetailData.liveInfo?.liveState == 'end') { |
| @@ -85,6 +85,7 @@ export struct PlayerTitleComponent { | @@ -85,6 +85,7 @@ export struct PlayerTitleComponent { | ||
| 85 | Row() { | 85 | Row() { |
| 86 | this.getLiveStatusView() | 86 | this.getLiveStatusView() |
| 87 | } | 87 | } |
| 88 | + .margin({left: this.contentDetailData.rmhInfo?.rmhName ? 0 : 34}) | ||
| 88 | 89 | ||
| 89 | } | 90 | } |
| 90 | .width('100%') | 91 | .width('100%') |
| @@ -144,7 +145,6 @@ export struct PlayerTitleComponent { | @@ -144,7 +145,6 @@ export struct PlayerTitleComponent { | ||
| 144 | .fontWeight(400) | 145 | .fontWeight(400) |
| 145 | .fontColor(Color.White) | 146 | .fontColor(Color.White) |
| 146 | } | 147 | } |
| 147 | - | ||
| 148 | } | 148 | } |
| 149 | .backgroundColor('#4D000000') | 149 | .backgroundColor('#4D000000') |
| 150 | .borderRadius(2) | 150 | .borderRadius(2) |
| @@ -154,7 +154,6 @@ export struct PlayerTitleComponent { | @@ -154,7 +154,6 @@ export struct PlayerTitleComponent { | ||
| 154 | top: 0, | 154 | top: 0, |
| 155 | bottom: 0 | 155 | bottom: 0 |
| 156 | } : 4) | 156 | } : 4) |
| 157 | - .margin({left: this.contentDetailData.rmhInfo?.rmhName ? 0 : 34}) | ||
| 158 | } | 157 | } |
| 159 | } | 158 | } |
| 160 | } | 159 | } |
| @@ -86,7 +86,7 @@ export struct PlayerFullScreenView { | @@ -86,7 +86,7 @@ export struct PlayerFullScreenView { | ||
| 86 | .margin({ left: 10 }) | 86 | .margin({ left: 10 }) |
| 87 | } | 87 | } |
| 88 | 88 | ||
| 89 | - Image($r(`app.media.ic_share`)).height(24).width(24) | 89 | + Image($r(`app.media.ic_share_empty`)).height(24).width(24) |
| 90 | .onClick(() => { | 90 | .onClick(() => { |
| 91 | this.share() | 91 | this.share() |
| 92 | }) | 92 | }) |
sight_harmony/features/wdDetailPlayShortVideo/src/main/resources/base/media/ic_share_empty.png
0 → 100644
1.92 KB
| @@ -124,6 +124,14 @@ struct LoginPage { | @@ -124,6 +124,14 @@ struct LoginPage { | ||
| 124 | 124 | ||
| 125 | 125 | ||
| 126 | onPageHide(): void { | 126 | onPageHide(): void { |
| 127 | + ///关闭禁止截图 | ||
| 128 | + this.isPrivacyMode = false | ||
| 129 | + this.disableScreenCapture() | ||
| 130 | + | ||
| 131 | + this.loginPageBrowse() | ||
| 132 | + } | ||
| 133 | + | ||
| 134 | + loginPageBrowse(){ | ||
| 127 | this.pageHideTime = DateTimeUtils.getTimeStamp() | 135 | this.pageHideTime = DateTimeUtils.getTimeStamp() |
| 128 | let duration = 0 | 136 | let duration = 0 |
| 129 | duration = Math.floor((this.pageHideTime - this.pageShowTime)/1000) | 137 | duration = Math.floor((this.pageHideTime - this.pageShowTime)/1000) |
| @@ -261,10 +269,6 @@ struct LoginPage { | @@ -261,10 +269,6 @@ struct LoginPage { | ||
| 261 | right: { anchor: "__container__", align: HorizontalAlign.End } | 269 | right: { anchor: "__container__", align: HorizontalAlign.End } |
| 262 | }) | 270 | }) |
| 263 | .onClick(() => { | 271 | .onClick(() => { |
| 264 | - ///关闭禁止截图 | ||
| 265 | - this.isPrivacyMode = false | ||
| 266 | - this.disableScreenCapture() | ||
| 267 | - | ||
| 268 | router.back() | 272 | router.back() |
| 269 | }) | 273 | }) |
| 270 | .id('id_close') | 274 | .id('id_close') |
| @@ -375,7 +379,7 @@ struct LoginPage { | @@ -375,7 +379,7 @@ struct LoginPage { | ||
| 375 | .lineHeight(`${this.calcHeight(38)}lpx`) | 379 | .lineHeight(`${this.calcHeight(38)}lpx`) |
| 376 | } | 380 | } |
| 377 | .onClick(() => { | 381 | .onClick(() => { |
| 378 | - this.onPageHide() | 382 | + this.loginPageBrowse() |
| 379 | 383 | ||
| 380 | if(this.checkCodePage){ | 384 | if(this.checkCodePage){ |
| 381 | trackTypeClick(0,TrackConstants.PageName.Phone_Login_Page) | 385 | trackTypeClick(0,TrackConstants.PageName.Phone_Login_Page) |
| @@ -221,11 +221,12 @@ struct ModifyPasswordPage { | @@ -221,11 +221,12 @@ struct ModifyPasswordPage { | ||
| 221 | .width('100%') | 221 | .width('100%') |
| 222 | 222 | ||
| 223 | Column() { | 223 | Column() { |
| 224 | - Text("忘记密码").fontSize(12).maxLines(3).fontColor(0x999999).padding({top:`${this.calcHeight(10)}lpx`}) | 224 | + Text("忘记密码").fontSize(14).maxLines(3).fontColor(0x999999).padding({top:`${this.calcHeight(10)}lpx`}) |
| 225 | .onClick(()=>{ | 225 | .onClick(()=>{ |
| 226 | WDRouterRule.jumpWithPage(WDRouterPage.forgetPasswordPage) | 226 | WDRouterRule.jumpWithPage(WDRouterPage.forgetPasswordPage) |
| 227 | }) | 227 | }) |
| 228 | } | 228 | } |
| 229 | + .margin({top:15}) | ||
| 229 | .width('100%') | 230 | .width('100%') |
| 230 | .height(`${this.calcHeight(85)}lpx`) | 231 | .height(`${this.calcHeight(85)}lpx`) |
| 231 | .alignItems(HorizontalAlign.Center) | 232 | .alignItems(HorizontalAlign.Center) |
-
Please register or login to post a comment