yangchenggong1_wd

desc:个人中心 评论 ui 展现

  1 +import { ContentDTO } from 'wdBean/Index'
  2 +import { StringUtils, UserDataLocal } from 'wdKit/Index'
  3 +import { ProcessUtils } from 'wdRouter/Index'
  4 +import MinePageDatasModel from '../../../model/MinePageDatasModel'
  5 +import { CommentLikeOperationRequestItem } from '../../../viewmodel/CommentLikeOperationRequestItem'
  6 +import { CommentListItem } from '../../../viewmodel/CommentListItem'
  7 +import measure from '@ohos.measure'
  8 +
  9 +@Component
  10 +export struct ChildCommentComponent {
  11 + @ObjectLink data: CommentListItem
  12 + @State levelHead: string = ""
  13 + isLastItem: boolean = false
  14 + @State isExpand: boolean = false;
  15 + @State isExpandParent: boolean = false;
  16 + @State isOverLines: boolean = false
  17 + @State isOverLinesParent: boolean = false
  18 +
  19 + build() {
  20 + Column() {
  21 + Row() {
  22 + Stack({ alignContent: Alignment.Center }) {
  23 + Image(this.data.fromUserHeader)
  24 + .alt($r('app.media.default_head'))
  25 + .objectFit(ImageFit.Auto)
  26 + .width('69lpx')
  27 + .height('69lpx')
  28 + .borderRadius(50)
  29 + Image(this.levelHead)
  30 + .width('89lpx')
  31 + .height('89lpx')
  32 + .objectFit(ImageFit.Cover)
  33 + .borderRadius(50)
  34 + }.width('89lpx')
  35 + .height('89lpx')
  36 + .margin({ right: '15lpx' })
  37 +
  38 + Column() {
  39 + Text(this.data.fromUserName)
  40 + .fontSize('25lpx')
  41 + .lineHeight('35lpx')
  42 + .fontWeight('600lpx')
  43 + .fontColor($r('app.color.color_222222'))
  44 + .margin({ bottom: '6lpx' })
  45 + .maxLines(1)
  46 + Text(`${this.data.createTime}`)
  47 + .fontColor($r('app.color.color_B0B0B0'))
  48 + .fontSize('23lpx')
  49 + .lineHeight('31lpx')
  50 + .fontWeight('400lpx')
  51 + .maxLines(1)
  52 + }.layoutWeight(1)
  53 + .alignItems(HorizontalAlign.Start)
  54 +
  55 + if (this.data.checkStatus === 2) {
  56 + Row() {
  57 + Text(this.data.likeNum.toString())
  58 + .fontWeight("500lpx")
  59 + .fontSize("27lpx")
  60 + .lineHeight("31lpx")
  61 + .fontColor(this.data.like_status === 0 ? $r('app.color.color_666666') : $r('app.color.color_ED2800'))
  62 + .margin({ right: '8lpx' })
  63 + Image(this.data.like_status === 0 ? $r('app.media.like_default_status') : $r('app.media.liked_status'))
  64 + .width('31lpx')
  65 + .height('31lpx')
  66 + .objectFit(ImageFit.Auto)
  67 + .interpolation(ImageInterpolation.Medium)
  68 + .borderRadius(50)
  69 + }.onClick(() => {
  70 + this.commentLikeOperation()
  71 + })
  72 + }
  73 + }
  74 + .margin({ bottom: '10lpx' })
  75 + .width('100%')
  76 + .height('108lpx')
  77 + .padding({ left: '31lpx', right: '31lpx' })
  78 +
  79 + Row() {
  80 + if (this.isExpand) {
  81 + Text() {
  82 + Span(this.data.commentContent)
  83 + }
  84 + .textStyle()
  85 + } else {
  86 + Text() {
  87 + Span(this.clipText(this.data.commentContent, 31, 5, 630, 0))
  88 + if (this.isOverLines) {
  89 + Span('...展开')
  90 + .fontColor($r('app.color.color_999999'))
  91 + .onClick(() => {
  92 + this.isExpand = true
  93 + })
  94 + }
  95 + }.maxLines(5)
  96 + .textStyle()
  97 + }
  98 + }.padding({ left: '31lpx', right: '31lpx' })
  99 + .width('100%')
  100 +
  101 + Column() {
  102 + if (StringUtils.isNotEmpty(this.data.parentCommentContent)) {
  103 + //父评论
  104 + Row() {
  105 + if (this.isExpandParent) {
  106 + Text() {
  107 + Span(`@${this.data.parentCommentUserName}:`)
  108 + .fontColor($r('app.color.color_000000'))
  109 + .fontWeight('500lpx')
  110 + .fontSize('27lpx')
  111 + .lineHeight('40lpx')
  112 + Span(this.data.parentCommentContent)
  113 + .fontColor($r('app.color.color_000000'))
  114 + .fontWeight('400lpx')
  115 + .fontSize('27lpx')
  116 + .lineHeight('40lpx')
  117 + }
  118 + .width('100%')
  119 + .textAlign(TextAlign.Start)
  120 + } else {
  121 + Text() {
  122 + Span(`@${this.data.parentCommentUserName}:`)
  123 + .fontColor($r('app.color.color_000000'))
  124 + .fontWeight('500lpx')
  125 + .fontSize('27lpx')
  126 + .lineHeight('40lpx')
  127 +
  128 + Span(this.clipText(this.data.parentCommentContent, 31, 5, 630, 1))
  129 + .fontColor($r('app.color.color_000000'))
  130 + .fontWeight('400lpx')
  131 + .fontSize('27lpx')
  132 + .lineHeight('40lpx')
  133 + if (this.isOverLinesParent) {
  134 + Span('...展开')
  135 + .fontColor($r('app.color.color_999999'))
  136 + .onClick(() => {
  137 + this.isExpandParent = true
  138 + })
  139 + }
  140 + }.maxLines(5)
  141 + .textAlign(TextAlign.Start)
  142 + .width('100%')
  143 + }
  144 + }
  145 + .width('100%')
  146 + .padding({ top: '23lpx', bottom: '15lpx', right: '23lpx' })
  147 +
  148 + Divider()
  149 + .width('100%')
  150 + .height('1lpx')
  151 + .strokeWidth('1lpx')
  152 + .backgroundColor($r('app.color.color_EDEDED'))
  153 + .margin({ top: '4lpx', bottom: '4lpx' })
  154 + }
  155 +
  156 + Column() {
  157 + Row() {
  158 + Row() {
  159 + Image($r('app.media.comment_link_icon'))
  160 + .objectFit(ImageFit.Auto)
  161 + .width('31lpx')
  162 + .height('31lpx')
  163 + .margin({ right: '10lpx' })
  164 +
  165 + Column() {
  166 + Row() {
  167 + Text(`${this.data.targetTitle}`)
  168 + .fontWeight('400lpx')
  169 + .fontColor($r('app.color.color_666666'))
  170 + .lineHeight('38lpx')
  171 + .fontSize('27lpx')
  172 + .layoutWeight(1)
  173 + .maxLines(1)
  174 + .textOverflow({ overflow: TextOverflow.Ellipsis })
  175 + }.width('100%')
  176 + }
  177 + .layoutWeight(1)
  178 + .alignItems(HorizontalAlign.Start)
  179 + }.layoutWeight(1)
  180 +
  181 + Image($r('app.media.arrow_icon_right'))
  182 + .margin({ right: '4lpx' })
  183 + .width('23lpx')
  184 + .height('23lpx')
  185 + .margin({right:'23lpx'})
  186 + }
  187 + .width('100%')
  188 + .height('69lpx')
  189 + .justifyContent(FlexAlign.SpaceBetween)
  190 +
  191 + }.height('69lpx')
  192 + .justifyContent(FlexAlign.Center)
  193 + .onClick(() => {
  194 + ProcessUtils.processPage(
  195 + {
  196 + objectId: this.data.targetId,
  197 + relType: this.data.targetRelType + "",
  198 + relId: this.data.targetRelId,
  199 + objectType: this.data.targetType + "",
  200 + } as ContentDTO)
  201 + })
  202 + }
  203 + .margin({ top: '19lpx', bottom: '31lpx', left: '31lpx', right: '31lpx' })
  204 + .padding({ left: '23lpx' })
  205 + .width('662lpx')
  206 + .backgroundColor($r('app.color.color_F5F5F5'))
  207 +
  208 + if (!this.isLastItem) {
  209 + Divider().width('100%')
  210 + .height('12lpx')
  211 + .strokeWidth('12lpx')
  212 + .color($r('app.color.color_F5F5F5'))
  213 + }
  214 + }
  215 + .justifyContent(FlexAlign.Center)
  216 + }
  217 +
  218 + commentLikeOperation() {
  219 + let item = new CommentLikeOperationRequestItem(this.data.targetId, this.data.id + "", this.data.targetType + "", UserDataLocal.getUserName(), UserDataLocal.getUserHeaderUrl(), this.data.like_status === 0 ? 1 : 0)
  220 + MinePageDatasModel.getCommentLikeOperation(item, getContext(this)).then((value) => {
  221 + if (value != null) {
  222 + if (value.code === 0 || value.code.toString() === "0") {
  223 + this.data.like_status = this.data.like_status === 0 ? 1 : 0
  224 + this.data.likeNum = this.data.like_status === 0 ? this.data.likeNum - 1 : this.data.likeNum + 1
  225 + }
  226 + }
  227 + })
  228 + }
  229 +
  230 + /**
  231 + * 截断文本
  232 + * @author liuzhendong(猩猩G)
  233 + * @param {string} str 要截断的文本 '啊啊啊啊啊'
  234 + * @param {number} fontSize 字体大小(px)
  235 + * @param {number} maxLines 最大行数 3
  236 + * @param {number} textWidth 文本宽度(px) vp 需要转换vp2px()
  237 + * @returns {string} clipStr 截断后的文本 '啊啊'
  238 + * @param {type} 0 我的评论 1 父评论
  239 + */
  240 + clipText(str: string, fontSize: number, maxLines: number, textWidth: number, type: number): string {
  241 + let strArr: string[] = str.split("")
  242 + let truncateContent: string = '啊啊啊啊啊' // ...比正常文字宽度更小,这里使用啊啊啊(任意三个文字)代替计算
  243 + let measureTruncateWidth: number = measure.measureText({
  244 + textContent: truncateContent,
  245 + fontSize: px2fp(fontSize),
  246 + })
  247 + if(type === 1){
  248 + measureTruncateWidth = measureTruncateWidth + measure.measureText({
  249 + textContent: `@${this.data.parentCommentUserName}:`,
  250 + fontSize: px2fp(fontSize),
  251 + })
  252 + }
  253 + let clipStr: string = ''
  254 + for (let i = 0; i < strArr.length; i++) {
  255 + if (measure.measureText({
  256 + textContent: clipStr,
  257 + fontSize: px2fp(fontSize),
  258 + }) >= textWidth * maxLines - measureTruncateWidth) {
  259 + if (type === 0) {
  260 + this.isOverLines = true
  261 + } else {
  262 + this.isOverLinesParent = true
  263 + }
  264 + break;
  265 + }
  266 + clipStr += strArr[i]
  267 + }
  268 + return clipStr
  269 + }
  270 +}
  271 +
  272 +@Extend(Text)
  273 +function textStyle() {
  274 + .width('630lpx')
  275 + .fontSize('31lpx')
  276 + .fontWeight('400lpx')
  277 + .fontColor($r('app.color.color_222222'))
  278 + .lineHeight('46lpx')
  279 +}
  280 +
@@ -8,6 +8,10 @@ import { FollowListDetailRequestItem } from '../../../viewmodel/FollowListDetail @@ -8,6 +8,10 @@ import { FollowListDetailRequestItem } from '../../../viewmodel/FollowListDetail
8 import { ListHasNoMoreDataUI } from '../../reusable/ListHasNoMoreDataUI'; 8 import { ListHasNoMoreDataUI } from '../../reusable/ListHasNoMoreDataUI';
9 import { FollowChildComponent } from '../follow/FollowChildComponent'; 9 import { FollowChildComponent } from '../follow/FollowChildComponent';
10 import dataPreferences from '@ohos.data.preferences'; 10 import dataPreferences from '@ohos.data.preferences';
  11 +import { EmptyComponent } from '../../view/EmptyComponent';
  12 +import { ChildCommentComponent } from './ChildCommentComponent';
  13 +import { MineCommentListDetailItem } from '../../../viewmodel/MineCommentListDetailItem';
  14 +import { OtherUserCommentLikeStatusRequestItem } from '../../../viewmodel/OtherUserCommentLikeStatusRequestItem';
11 15
12 const TAG = "HomePageBottomComponent" 16 const TAG = "HomePageBottomComponent"
13 @Component 17 @Component
@@ -90,6 +94,10 @@ export struct HomePageBottomComponent{ @@ -90,6 +94,10 @@ export struct HomePageBottomComponent{
90 } 94 }
91 WDRouterRule.jumpWithPage(WDRouterPage.followListPage,params) 95 WDRouterRule.jumpWithPage(WDRouterPage.followListPage,params)
92 }) 96 })
  97 +
  98 + EmptyComponent({emptyType:4})
  99 + .layoutWeight(1)
  100 + .width('100%')
93 }.layoutWeight(1) 101 }.layoutWeight(1)
94 .justifyContent(FlexAlign.Start) 102 .justifyContent(FlexAlign.Start)
95 }else{ 103 }else{
@@ -161,7 +169,7 @@ export struct HomePageBottomComponent{ @@ -161,7 +169,7 @@ export struct HomePageBottomComponent{
161 List({ space: 3 }) { 169 List({ space: 3 }) {
162 LazyForEach(this.data_comment, (item: CommentListItem, index: number = 0) => { 170 LazyForEach(this.data_comment, (item: CommentListItem, index: number = 0) => {
163 ListItem() { 171 ListItem() {
164 - ChildCommentComponent({data: item,isLastItem:index===this.data_comment.totalCount()-1}) 172 + ChildCommentComponent({data: item,levelHead:UserDataLocal.getUserLevelHeaderUrl(),isLastItem:index===this.data_comment.totalCount()-1})
165 } 173 }
166 .onClick(() => { 174 .onClick(() => {
167 }) 175 })
@@ -263,17 +271,7 @@ export struct HomePageBottomComponent{ @@ -263,17 +271,7 @@ export struct HomePageBottomComponent{
263 if (!this.data_comment || value.list.length == 0){ 271 if (!this.data_comment || value.list.length == 0){
264 this.hasMore = false 272 this.hasMore = false
265 }else{ 273 }else{
266 - value.list.forEach((value)=>{  
267 - let publishTime = DateTimeUtils.getCommentTime(DateTimeUtils.parseDate(value.createTime,DateTimeUtils.PATTERN_DATE_TIME_HYPHEN))  
268 - this.data_comment.push(new CommentListItem(value.fromUserHeader,value.fromUserName,value.targetTitle,publishTime,value.commentContent,value.likeNum,0,value.id,value.targetId,value.targetType,value.targetRelId,value.targetRelObjectId,value.targetRelType,value.targetStatus))  
269 - })  
270 - this.data_comment.notifyDataReload()  
271 - this.count = this.data_comment.totalCount()  
272 - if (this.data_comment.totalCount() < value.totalCount) {  
273 - this.curPageNum++  
274 - }else {  
275 - this.hasMore = false  
276 - } 274 + this.getCommentListStatus(value)
277 } 275 }
278 this.isLoading = false 276 this.isLoading = false
279 this.commentNum = value.totalCount 277 this.commentNum = value.totalCount
@@ -286,102 +284,59 @@ export struct HomePageBottomComponent{ @@ -286,102 +284,59 @@ export struct HomePageBottomComponent{
286 } 284 }
287 } 285 }
288 } 286 }
289 -}  
290 287
291 -@Component  
292 -struct ChildCommentComponent {  
293 - @ObjectLink data: CommentListItem  
294 - isLastItem: boolean = false 288 + getCommentListStatus(value:MineCommentListDetailItem){
295 289
296 - build() {  
297 - Column(){  
298 - Row() {  
299 - Stack({alignContent: Alignment.Center}){  
300 - Image(this.data.fromUserHeader)  
301 - .alt($r('app.media.default_head'))  
302 - .objectFit(ImageFit.Auto)  
303 - .width('69lpx')  
304 - .height('69lpx')  
305 - .borderRadius(50)  
306 - Image(UserDataLocal.getUserLevelHeaderUrl())  
307 - .width('89lpx')  
308 - .height('89lpx')  
309 - .objectFit(ImageFit.Cover)  
310 - .borderRadius(50)  
311 - }.width('89lpx')  
312 - .height('89lpx')  
313 - .margin({right:'15lpx'})  
314 -  
315 - Column(){  
316 - Text(this.data.fromUserName)  
317 - .fontSize('25lpx')  
318 - .lineHeight('35lpx')  
319 - .fontWeight('600lpx')  
320 - .fontColor($r('app.color.color_222222'))  
321 - .margin({bottom:'6lpx'})  
322 - .maxLines(1)  
323 - Text(`${this.data.createTime}`)  
324 - .fontColor($r('app.color.color_B0B0B0'))  
325 - .fontSize('23lpx')  
326 - .lineHeight('31lpx')  
327 - .fontWeight('400lpx')  
328 - .maxLines(1)  
329 - }.layoutWeight(1)  
330 - .alignItems(HorizontalAlign.Start) 290 + let status = new OtherUserCommentLikeStatusRequestItem()
  291 + let data : CommentListItem[] = []
  292 + value.list.forEach((item)=>{
  293 + if(item.checkStatus === 2){
  294 + status.commentIdList.push(item.id)
  295 + }
  296 + let commentContent = item.commentContent
  297 + if(item.sensitiveShow === 0 && item.sensitiveExist === 1){
  298 + commentContent = item.commentContentSensitive
  299 + }
  300 + let parentCommentContent = ""
  301 + if(item.parentCommentVo!=null ){
  302 + parentCommentContent = item.parentCommentVo.commentContent
  303 + }
  304 + let parentCommentUserName = ""
  305 + if(item.parentCommentVo!=null ){
  306 + parentCommentUserName = item.parentCommentVo.fromUserName
331 } 307 }
332 - .margin({bottom:'10lpx'})  
333 - .width('100%')  
334 - .height('108lpx')  
335 - .padding({left:'31lpx',right:'31lpx'}) 308 + data.push(new CommentListItem(item.fromUserHeader,item.fromUserName,item.targetTitle,item.createTime,commentContent,item.likeNum,0,item.id,item.targetId,item.targetType,item.targetRelId,item.targetRelObjectId,item.targetRelType,item.targetStatus,item.checkStatus,parentCommentContent,parentCommentUserName))
  309 + })
336 310
337 - Row(){  
338 - Text(this.data.commentContent)  
339 - .maxLines(3)  
340 - .textOverflow({ overflow: TextOverflow.Ellipsis })  
341 - .fontWeight('400lpx')  
342 - .fontSize('31lpx')  
343 - .lineHeight('46lpx')  
344 - .fontColor($r('app.color.color_222222'))  
345 - .margin({bottom:'10lpx'})  
346 - }.padding({left:'31lpx',right:'31lpx'})  
347 - .width('100%') 311 + MinePageDatasModel.getOtherUserCommentLikeStatusData(status,getContext(this)).then((newValue)=>{
  312 + newValue.forEach((item)=>{
  313 + data.forEach((list)=>{
  314 + if (item.commentId == list.id) {
  315 + list.like_status = item.status
  316 + }
  317 + })
  318 + })
348 319
349 - Row(){  
350 - Text(this.data.targetTitle)  
351 - .fontWeight('400lpx')  
352 - .fontColor($r('app.color.color_222222'))  
353 - .lineHeight('38lpx')  
354 - .fontSize('27lpx')  
355 - .textAlign(TextAlign.Center)  
356 - .margin({right:'4lpx'})  
357 - .maxLines(3)  
358 - .width('616lpx')  
359 - Image($r('app.media.arrow_icon_right'))  
360 - .objectFit(ImageFit.Auto)  
361 - .width('27lpx')  
362 - .height('27lpx')  
363 - }  
364 - .padding({top:'17lpx',bottom:'17lpx',left:'23lpx',right:'23lpx'})  
365 - .width('662lpx')  
366 - .backgroundColor($r('app.color.color_F5F5F5'))  
367 - .margin({top:'19lpx',bottom:'31lpx'})  
368 - .onClick(()=>{  
369 - ProcessUtils.processPage(  
370 - {objectId: this.data.targetId,  
371 - relType:this.data.targetRelType+"",  
372 - relId:this.data.targetRelId,  
373 - objectType:this.data.targetType+"",  
374 - } as ContentDTO ) 320 + data.forEach((item)=>{
  321 + let publishTime = DateTimeUtils.getCommentTime(DateTimeUtils.parseDate(item.createTime,DateTimeUtils.PATTERN_DATE_TIME_HYPHEN))
  322 + this.data_comment.push(new CommentListItem(item.fromUserHeader,item.fromUserName,item.targetTitle,publishTime,item.commentContent,item.likeNum,item.like_status,item.id,item.targetId,item.targetType,item.targetRelId,item.targetRelObjectId,item.targetRelType,item.targetStatus,item.checkStatus,item.parentCommentContent,item.parentCommentUserName))
375 }) 323 })
376 324
377 - if(!this.isLastItem){  
378 - Divider().width('100%')  
379 - .height('12lpx')  
380 - .strokeWidth('12lpx')  
381 - .color($r('app.color.color_F5F5F5')) 325 + this.data_comment.notifyDataReload()
  326 +
  327 + this.count = this.data_comment.totalCount()
  328 + this.commentNum = value.totalCount
  329 + if (this.data_comment.totalCount() < value.totalCount) {
  330 + this.curPageNum++
  331 + }else {
  332 + this.hasMore = false
382 } 333 }
383 334
384 - }  
385 - .justifyContent(FlexAlign.Center) 335 + this.isLoading = false
  336 + }).catch((err:Error)=>{
  337 + console.log(TAG,"请求失败")
  338 + this.isLoading = false
  339 + })
386 } 340 }
  341 +
387 } 342 }
@@ -5,9 +5,7 @@ import { OtherUserCommentListRequestItem } from '../../../viewmodel/OtherUserCom @@ -5,9 +5,7 @@ import { OtherUserCommentListRequestItem } from '../../../viewmodel/OtherUserCom
5 import { ListHasNoMoreDataUI } from '../../reusable/ListHasNoMoreDataUI'; 5 import { ListHasNoMoreDataUI } from '../../reusable/ListHasNoMoreDataUI';
6 import { MineCommentListDetailItem } from '../../../viewmodel/MineCommentListDetailItem'; 6 import { MineCommentListDetailItem } from '../../../viewmodel/MineCommentListDetailItem';
7 import { OtherUserCommentLikeStatusRequestItem } from '../../../viewmodel/OtherUserCommentLikeStatusRequestItem'; 7 import { OtherUserCommentLikeStatusRequestItem } from '../../../viewmodel/OtherUserCommentLikeStatusRequestItem';
8 -import { CommentLikeOperationRequestItem } from '../../../viewmodel/CommentLikeOperationRequestItem';  
9 -import { ProcessUtils } from 'wdRouter/Index';  
10 -import { ContentDTO } from 'wdBean/Index'; 8 +import { ChildCommentComponent } from './ChildCommentComponent';
11 9
12 const TAG = "HomePageBottomComponent" 10 const TAG = "HomePageBottomComponent"
13 @Component 11 @Component
@@ -108,8 +106,22 @@ export struct OtherHomePageBottomCommentComponent{ @@ -108,8 +106,22 @@ export struct OtherHomePageBottomCommentComponent{
108 let status = new OtherUserCommentLikeStatusRequestItem() 106 let status = new OtherUserCommentLikeStatusRequestItem()
109 let data : CommentListItem[] = [] 107 let data : CommentListItem[] = []
110 value.list.forEach((item)=>{ 108 value.list.forEach((item)=>{
111 - status.commentIdList.push(item.id)  
112 - data.push(new CommentListItem(item.fromUserHeader,item.fromUserName,item.targetTitle,item.createTime,item.commentContent,item.likeNum,0,item.id,item.targetId,item.targetType,item.targetRelId,item.targetRelObjectId,item.targetRelType,item.targetStatus)) 109 + if(item.checkStatus === 2){
  110 + status.commentIdList.push(item.id)
  111 + }
  112 + let commentContent = item.commentContent
  113 + if(item.sensitiveShow === 0 && item.sensitiveExist === 1){
  114 + commentContent = item.commentContentSensitive
  115 + }
  116 + let parentCommentContent = ""
  117 + if(item.parentCommentVo!=null ){
  118 + parentCommentContent = item.parentCommentVo.commentContent
  119 + }
  120 + let parentCommentUserName = ""
  121 + if(item.parentCommentVo!=null ){
  122 + parentCommentUserName = item.parentCommentVo.fromUserName
  123 + }
  124 + data.push(new CommentListItem(item.fromUserHeader,item.fromUserName,item.targetTitle,item.createTime,commentContent,item.likeNum,0,item.id,item.targetId,item.targetType,item.targetRelId,item.targetRelObjectId,item.targetRelType,item.targetStatus,item.checkStatus,parentCommentContent,parentCommentUserName))
113 }) 125 })
114 126
115 MinePageDatasModel.getOtherUserCommentLikeStatusData(status,getContext(this)).then((newValue)=>{ 127 MinePageDatasModel.getOtherUserCommentLikeStatusData(status,getContext(this)).then((newValue)=>{
@@ -122,7 +134,7 @@ export struct OtherHomePageBottomCommentComponent{ @@ -122,7 +134,7 @@ export struct OtherHomePageBottomCommentComponent{
122 }) 134 })
123 135
124 data.forEach((item)=>{ 136 data.forEach((item)=>{
125 - this.data_comment.push(new CommentListItem(item.fromUserHeader,item.fromUserName,item.targetTitle,item.createTime,item.commentContent,item.likeNum,item.like_status,item.id,item.targetId,item.targetType,item.targetRelId,item.targetRelObjectId,item.targetRelType,item.targetStatus)) 137 + this.data_comment.push(new CommentListItem(item.fromUserHeader,item.fromUserName,item.targetTitle,item.createTime,item.commentContent,item.likeNum,item.like_status,item.id,item.targetId,item.targetType,item.targetRelId,item.targetRelObjectId,item.targetRelType,item.targetStatus,item.checkStatus,item.parentCommentContent,item.parentCommentUserName))
126 }) 138 })
127 139
128 this.data_comment.notifyDataReload() 140 this.data_comment.notifyDataReload()
@@ -141,133 +153,4 @@ export struct OtherHomePageBottomCommentComponent{ @@ -141,133 +153,4 @@ export struct OtherHomePageBottomCommentComponent{
141 this.isLoading = false 153 this.isLoading = false
142 }) 154 })
143 } 155 }
144 -  
145 -}  
146 -  
147 -@Component  
148 -struct ChildCommentComponent {  
149 - @ObjectLink data: CommentListItem  
150 - @Prop levelHead:string  
151 - isLastItem: boolean = false  
152 -  
153 - build() {  
154 - Column(){  
155 - Row() {  
156 - Stack({alignContent: Alignment.Center}){  
157 - Image(this.data.fromUserHeader)  
158 - .alt($r('app.media.default_head'))  
159 - .objectFit(ImageFit.Auto)  
160 - .width('69lpx')  
161 - .height('69lpx')  
162 - .borderRadius(50)  
163 - Image(this.levelHead)  
164 - .width('89lpx')  
165 - .height('89lpx')  
166 - .objectFit(ImageFit.Cover)  
167 - .borderRadius(50)  
168 - }.width('89lpx')  
169 - .height('89lpx')  
170 - .margin({right:'15lpx'})  
171 -  
172 - Column(){  
173 - Text(this.data.fromUserName)  
174 - .fontSize('25lpx')  
175 - .lineHeight('35lpx')  
176 - .fontWeight('600lpx')  
177 - .fontColor($r('app.color.color_222222'))  
178 - .margin({bottom:'6lpx'})  
179 - .maxLines(1)  
180 - Text(`${this.data.createTime}`)  
181 - .fontColor($r('app.color.color_B0B0B0'))  
182 - .fontSize('23lpx')  
183 - .lineHeight('31lpx')  
184 - .fontWeight('400lpx')  
185 - .maxLines(1)  
186 - }.layoutWeight(1)  
187 - .alignItems(HorizontalAlign.Start)  
188 -  
189 - Row(){  
190 - Text(this.data.likeNum.toString())  
191 - .fontWeight("500lpx")  
192 - .fontSize("27lpx")  
193 - .lineHeight("31lpx")  
194 - .fontColor(this.data.like_status===0?$r('app.color.color_666666'):$r('app.color.color_ED2800'))  
195 - .margin({right:'8lpx'})  
196 - Image(this.data.like_status===0?$r('app.media.like_default_status'):$r('app.media.liked_status'))  
197 - .width('31lpx')  
198 - .height('31lpx')  
199 - .objectFit(ImageFit.Auto)  
200 - .interpolation(ImageInterpolation.Medium)  
201 - .borderRadius(50)  
202 - }.onClick(()=>{  
203 - this.commentLikeOperation()  
204 - })  
205 - }  
206 - .margin({bottom:'10lpx'})  
207 - .width('100%')  
208 - .height('108lpx')  
209 - .padding({left:'31lpx',right:'31lpx'})  
210 -  
211 - Row(){  
212 - Text(this.data.commentContent)  
213 - .maxLines(3)  
214 - .textOverflow({ overflow: TextOverflow.Ellipsis })  
215 - .fontWeight('400lpx')  
216 - .fontSize('31lpx')  
217 - .lineHeight('46lpx')  
218 - .fontColor($r('app.color.color_222222'))  
219 - .margin({bottom:'10lpx'})  
220 - }.padding({left:'31lpx',right:'31lpx'})  
221 - .width('100%')  
222 -  
223 - Row(){  
224 - Text(this.data.targetTitle)  
225 - .fontWeight('400lpx')  
226 - .fontColor($r('app.color.color_222222'))  
227 - .lineHeight('38lpx')  
228 - .fontSize('27lpx')  
229 - .textAlign(TextAlign.Center)  
230 - .margin({right:'4lpx'})  
231 - .maxLines(3)  
232 - .width('616lpx')  
233 - Image($r('app.media.arrow_icon_right'))  
234 - .objectFit(ImageFit.Auto)  
235 - .width('27lpx')  
236 - .height('27lpx')  
237 - }  
238 - .padding({top:'17lpx',bottom:'17lpx',left:'23lpx',right:'23lpx'})  
239 - .width('662lpx')  
240 - .backgroundColor($r('app.color.color_F5F5F5'))  
241 - .margin({top:'19lpx',bottom:'31lpx'})  
242 - .onClick(()=>{  
243 - ProcessUtils.processPage(  
244 - {objectId: this.data.targetId,  
245 - relType:this.data.targetRelType+"",  
246 - relId:this.data.targetRelId,  
247 - objectType:this.data.targetType+"",  
248 - } as ContentDTO )  
249 - })  
250 -  
251 - if(!this.isLastItem){  
252 - Divider().width('100%')  
253 - .height('12lpx')  
254 - .strokeWidth('12lpx')  
255 - .color($r('app.color.color_F5F5F5'))  
256 - }  
257 -  
258 - }  
259 - .justifyContent(FlexAlign.Center)  
260 - }  
261 -  
262 - commentLikeOperation(){  
263 - let item = new CommentLikeOperationRequestItem(this.data.targetId,this.data.id+"",this.data.targetType+"",UserDataLocal.getUserName(),UserDataLocal.getUserHeaderUrl(),this.data.like_status===0?1:0)  
264 - MinePageDatasModel.getCommentLikeOperation(item,getContext(this)).then((value)=>{  
265 - if(value!=null){  
266 - if (value.code === 0 || value.code.toString() === "0") {  
267 - this.data.like_status = this.data.like_status===0?1:0  
268 - this.data.likeNum = this.data.like_status===0?this.data.likeNum-1:this.data.likeNum+1  
269 - }  
270 - }  
271 - })  
272 - }  
273 } 156 }
@@ -323,6 +323,7 @@ class MinePageDatasModel{ @@ -323,6 +323,7 @@ class MinePageDatasModel{
323 Logger.info(TAG, "getAppointmentList then,AppointmentResDTO.timeStamp:" + navResDTO.timestamp); 323 Logger.info(TAG, "getAppointmentList then,AppointmentResDTO.timeStamp:" + navResDTO.timestamp);
324 let navigationBean = navResDTO.data as MineCommentListDetailItem 324 let navigationBean = navResDTO.data as MineCommentListDetailItem
325 success(navigationBean); 325 success(navigationBean);
  326 + // success(this.getMineCommentListDataLocal(context))
326 }).catch((err: Error) => { 327 }).catch((err: Error) => {
327 Logger.error(TAG, `fetchAppointmentListDataApi catch, error.name : ${err.name}, error.message:${err.message}`); 328 Logger.error(TAG, `fetchAppointmentListDataApi catch, error.name : ${err.name}, error.message:${err.message}`);
328 success(this.getMineCommentListDataLocal(context)) 329 success(this.getMineCommentListDataLocal(context))
@@ -338,7 +339,7 @@ class MinePageDatasModel{ @@ -338,7 +339,7 @@ class MinePageDatasModel{
338 339
339 async getMineCommentListDataLocal(context: Context): Promise<MineCommentListDetailItem> { 340 async getMineCommentListDataLocal(context: Context): Promise<MineCommentListDetailItem> {
340 Logger.info(TAG, `getMineFollowListDataLocal start`); 341 Logger.info(TAG, `getMineFollowListDataLocal start`);
341 - let compRes: ResponseDTO<MineCommentListDetailItem> | null = await ResourcesUtils.getResourcesJson<ResponseDTO<MineCommentListDetailItem>>(context,'mine_comment_list_data.json' ); 342 + let compRes: ResponseDTO<MineCommentListDetailItem> | null = await ResourcesUtils.getResourcesJson<ResponseDTO<MineCommentListDetailItem>>(context,'mine_comment_list_data2.json' );
342 if (!compRes || !compRes.data) { 343 if (!compRes || !compRes.data) {
343 Logger.info(TAG, `getMineFollowListDataLocal compRes is empty`); 344 Logger.info(TAG, `getMineFollowListDataLocal compRes is empty`);
344 return new MineCommentListDetailItem() 345 return new MineCommentListDetailItem()
@@ -24,7 +24,7 @@ export class CommentListItem{ @@ -24,7 +24,7 @@ export class CommentListItem{
24 keyArticle: number = -1 24 keyArticle: number = -1
25 likeNum: number = 0 25 likeNum: number = 0
26 // pageId: null 26 // pageId: null
27 - // parentCommentVo: null 27 + parentCommentVo: ParentCommentVo = new ParentCommentVo()
28 parentId: number = -1 28 parentId: number = -1
29 rootCommentId: number = -1 29 rootCommentId: number = -1
30 sensitiveExist: number = -1 30 sensitiveExist: number = -1
@@ -39,9 +39,12 @@ export class CommentListItem{ @@ -39,9 +39,12 @@ export class CommentListItem{
39 targetTitle: string = "" 39 targetTitle: string = ""
40 // topicType: null 40 // topicType: null
41 uuid: string = "" 41 uuid: string = ""
  42 + parentCommentContent = ""
  43 + parentCommentUserName = ""
  44 + isShowAll:boolean = false
42 45
43 46
44 - constructor(fromUserHeader:string,fromUserName:string,targetTitle:string,createTime:string,commentContent:string,likeNum:number,like_status:number,id:number,targetId:string,targetType:number,targetRelId: string,targetRelObjectId: string,targetRelType: number,targetStatus: number,) { 47 + constructor(fromUserHeader:string,fromUserName:string,targetTitle:string,createTime:string,commentContent:string,likeNum:number,like_status:number,id:number,targetId:string,targetType:number,targetRelId: string,targetRelObjectId: string,targetRelType: number,targetStatus: number,checkStatus:number,parentCommentContent:string,parentCommentUserName:string) {
45 this.fromUserHeader = fromUserHeader 48 this.fromUserHeader = fromUserHeader
46 this.fromUserName = fromUserName 49 this.fromUserName = fromUserName
47 this.commentContent = commentContent 50 this.commentContent = commentContent
@@ -56,5 +59,18 @@ export class CommentListItem{ @@ -56,5 +59,18 @@ export class CommentListItem{
56 this.targetRelObjectId = targetRelObjectId 59 this.targetRelObjectId = targetRelObjectId
57 this.targetRelType = targetRelType 60 this.targetRelType = targetRelType
58 this.targetStatus = targetStatus 61 this.targetStatus = targetStatus
  62 + this.checkStatus = checkStatus
  63 + this.parentCommentContent = parentCommentContent
  64 + this.parentCommentUserName = parentCommentUserName
59 } 65 }
60 } 66 }
  67 +
  68 +class ParentCommentVo{
  69 + avatarFrame: string = ""
  70 + checkStatus: number = -1
  71 + commentContent: string = ""
  72 + commentPics: string = ""
  73 + commentType: string = ""
  74 + fromUserName: string = ""
  75 + id: number = -1
  76 +}
  1 +{
  2 + "code": "0",
  3 + "data": {
  4 + "hasNext": 0,
  5 + "list": [
  6 + {
  7 + "avatarFrame": "",
  8 + "checkStatus": 0,
  9 + "commentContent": "说得很好啊你牛魔突突突突兔兔突突突你牛魔突突突突兔兔突突突你牛魔突突突突兔兔突突突你牛魔突突突突兔兔突突突你牛魔突突突突兔兔突突突你牛魔突突突突兔兔突突突你牛魔突突突突兔兔突突突你牛魔突突突突兔兔突突突你牛魔突突突突兔兔突突突你牛魔突突突突兔兔突突突你牛魔突突突突兔兔突突突你牛魔突突突突兔兔突突突你牛魔突突突突兔兔突突突你牛魔突突突突兔兔突突突你牛魔突突突突兔兔突突突",
  10 + "commentContentSensitive": "",
  11 + "commentLevel": 2,
  12 + "commentPics": "",
  13 + "commentSensitive": "",
  14 + "commentType": "2",
  15 + "createTime": "2024-04-24 10:22:37",
  16 + "fromCreatorId": "",
  17 + "fromDeviceId": "",
  18 + "fromUserHeader": "https://rmrbcmsonline.peopleapp.com/upload/default.png?x-oss-process=image/resize,l_100/auto-orient,1/quality,q_90/format,jpg",
  19 + "fromUserId": "559509019499205",
  20 + "fromUserName": "人民wH38q",
  21 + "fromUserType": 1,
  22 + "h5Url": "",
  23 + "id": 58110548,
  24 + "keyArticle": 0,
  25 + "likeNum": 0,
  26 + "pageId": null,
  27 + "parentCommentVo": {
  28 + "avatarFrame": "",
  29 + "checkStatus": 2,
  30 + "commentContent": "1,因为读书的人\n是低着头向上看的人\n身处一隅,却能放眼世界\n2,因为读书的人\n总是比不读书的人\n活得有趣一点\n3,因为读书的人\n即使平凡,绝不平庸",
  31 + "commentPics": "",
  32 + "commentType": "1",
  33 + "fromUserName": "胡德清",
  34 + "id": 58109773
  35 + },
  36 + "parentId": 58109773,
  37 + "rootCommentId": 58109773,
  38 + "sensitiveExist": 0,
  39 + "sensitiveShow": 1,
  40 + "shareInfo": {
  41 + "shareCoverUrl": "",
  42 + "shareSummary": "读书,就是一个让生命变得更加辽阔的过程",
  43 + "shareTitle": "读书,就是低着头向上看",
  44 + "shareUrl": "https://people.pdnews.cn/column/30044549051-500005339313"
  45 + },
  46 + "targetId": "30044549051",
  47 + "targetRelId": "500005339313",
  48 + "targetRelObjectId": "2002",
  49 + "targetRelType": 1,
  50 + "targetStatus": 0,
  51 + "targetTitle": "读书,就是低着头向上看",
  52 + "targetType": 13,
  53 + "topicType": null,
  54 + "uuid": "6425f699-d762-4d33-b73c-64c780fc9693"
  55 + },
  56 + {
  57 + "avatarFrame": "",
  58 + "checkStatus": 0,
  59 + "commentContent": "你牛魔突突突突兔兔突突突你牛魔突突突突兔兔突突突你牛魔突突突突兔兔突突突你牛魔突突突突兔兔突突突你牛魔突突突突兔兔突突突你牛魔突突突突兔兔突突突",
  60 + "commentContentSensitive": "",
  61 + "commentLevel": 2,
  62 + "commentPics": "",
  63 + "commentSensitive": "",
  64 + "commentType": "2",
  65 + "createTime": "2024-04-24 10:21:42",
  66 + "fromCreatorId": "",
  67 + "fromDeviceId": "",
  68 + "fromUserHeader": "https://rmrbcmsonline.peopleapp.com/upload/default.png?x-oss-process=image/resize,l_100/auto-orient,1/quality,q_90/format,jpg",
  69 + "fromUserId": "559509019499205",
  70 + "fromUserName": "人民wH38q",
  71 + "fromUserType": 1,
  72 + "h5Url": "",
  73 + "id": 58092145,
  74 + "keyArticle": 0,
  75 + "likeNum": 0,
  76 + "pageId": null,
  77 + "parentCommentVo": {
  78 + "avatarFrame": "",
  79 + "checkStatus": 2,
  80 + "commentContent": "这是继续把自己塑造成受害者角色,其实不过是历史原因造成,这也改不了以色列这半年来对加沙人民的种族灭绝行为!",
  81 + "commentPics": "",
  82 + "commentType": "1",
  83 + "fromUserName": "人民pn5SI",
  84 + "id": 58063914
  85 + },
  86 + "parentId": 58063914,
  87 + "rootCommentId": 58063914,
  88 + "sensitiveExist": 0,
  89 + "sensitiveShow": 1,
  90 + "shareInfo": {
  91 + "shareCoverUrl": "",
  92 + "shareSummary": "报道说,福克斯请辞与以国防军军事情报局局长哈利瓦的辞职没有关联。",
  93 + "shareTitle": "以色列媒体:以军中央司令部司令请辞",
  94 + "shareUrl": "https://people.pdnews.cn/column/30044533884-500005335271"
  95 + },
  96 + "targetId": "30044533884",
  97 + "targetRelId": "500005335271",
  98 + "targetRelObjectId": "2002",
  99 + "targetRelType": 1,
  100 + "targetStatus": 0,
  101 + "targetTitle": "以色列媒体:以军中央司令部司令请辞",
  102 + "targetType": 8,
  103 + "topicType": null,
  104 + "uuid": "0950adb8-542c-4c11-bc0c-708b1b41554d"
  105 + },
  106 + {
  107 + "avatarFrame": "",
  108 + "checkStatus": 3,
  109 + "commentContent": "【华为】您报名的“鸿蒙生态学堂·线上培训 第二期”直播于今晚19:00开始。本次主题:HarmonyOS NEXT 界面开发,点击观看https://url.cloud.huawei.com/q56YcuTFvO。回放观看https://url.cloud.huawei.com/q5Upzl3GOA。【华为】您报名的“鸿蒙生态学堂·线上培训 第二期”直播于今晚19:00开始。本次主题:HarmonyOS NEXT 界面开发,点击观看https://url.cloud.huawei.com/q56YcuTFvO。回放观看https://url.cloud.huawei.com/q5Upzl3GOA。【华为】您报名的“鸿蒙生态学堂·线上培训 第二期”直播于今晚19:00开始。本次主题:HarmonyOS NEXT 界面开发,点击观看https://url.cloud.huawei.com/q56YcuTFvO。回放观看https://url.cloud.huawei.com/q5Upzl3GOA。【华为】您报名的“鸿蒙生态学堂·线上培训 第二期”直播于今晚19:00开始。本次主题:HarmonyOS NEXT 界面开发,点击观看https://url.cloud.huawei.com/q56YcuTFvO。回放观看https://url.cloud.huawei.com/q5Upzl3GOA。",
  110 + "commentContentSensitive": "",
  111 + "commentLevel": 1,
  112 + "commentPics": "",
  113 + "commentSensitive": "",
  114 + "commentType": "2",
  115 + "createTime": "2024-04-24 10:19:22",
  116 + "fromCreatorId": "",
  117 + "fromDeviceId": "",
  118 + "fromUserHeader": "https://rmrbcmsonline.peopleapp.com/upload/default.png?x-oss-process=image/resize,l_100/auto-orient,1/quality,q_90/format,jpg",
  119 + "fromUserId": "559509019499205",
  120 + "fromUserName": "人民wH38q",
  121 + "fromUserType": 1,
  122 + "h5Url": "",
  123 + "id": 58091980,
  124 + "keyArticle": 0,
  125 + "likeNum": 0,
  126 + "pageId": null,
  127 + "parentCommentVo": null,
  128 + "parentId": -1,
  129 + "rootCommentId": 58091980,
  130 + "sensitiveExist": 0,
  131 + "sensitiveShow": 1,
  132 + "shareInfo": {
  133 + "shareCoverUrl": "",
  134 + "shareSummary": "报道说,福克斯请辞与以国防军军事情报局局长哈利瓦的辞职没有关联。",
  135 + "shareTitle": "以色列媒体:以军中央司令部司令请辞",
  136 + "shareUrl": "https://people.pdnews.cn/column/30044533884-500005335271"
  137 + },
  138 + "targetId": "30044533884",
  139 + "targetRelId": "500005335271",
  140 + "targetRelObjectId": "2002",
  141 + "targetRelType": 1,
  142 + "targetStatus": 0,
  143 + "targetTitle": "以色列媒体:以军中央司令部司令请辞",
  144 + "targetType": 8,
  145 + "topicType": null,
  146 + "uuid": "320ac584-4ad9-4c38-822d-82dcbf366063"
  147 + },
  148 + {
  149 + "avatarFrame": "",
  150 + "checkStatus": 0,
  151 + "commentContent": "说得好",
  152 + "commentContentSensitive": "",
  153 + "commentLevel": 2,
  154 + "commentPics": "",
  155 + "commentSensitive": "",
  156 + "commentType": "2",
  157 + "createTime": "2024-04-24 10:17:30",
  158 + "fromCreatorId": "",
  159 + "fromDeviceId": "",
  160 + "fromUserHeader": "https://rmrbcmsonline.peopleapp.com/upload/default.png?x-oss-process=image/resize,l_100/auto-orient,1/quality,q_90/format,jpg",
  161 + "fromUserId": "559509019499205",
  162 + "fromUserName": "人民wH38q",
  163 + "fromUserType": 1,
  164 + "h5Url": "",
  165 + "id": 58091767,
  166 + "keyArticle": 0,
  167 + "likeNum": 0,
  168 + "pageId": null,
  169 + "parentCommentVo": {
  170 + "avatarFrame": "",
  171 + "checkStatus": 2,
  172 + "commentContent": "一级战犯!",
  173 + "commentPics": "",
  174 + "commentType": "1",
  175 + "fromUserName": "一把火",
  176 + "id": 57995700
  177 + },
  178 + "parentId": 57995700,
  179 + "rootCommentId": 57995700,
  180 + "sensitiveExist": 0,
  181 + "sensitiveShow": 1,
  182 + "shareInfo": {
  183 + "shareCoverUrl": "",
  184 + "shareSummary": "报道说,福克斯请辞与以国防军军事情报局局长哈利瓦的辞职没有关联。",
  185 + "shareTitle": "以色列媒体:以军中央司令部司令请辞",
  186 + "shareUrl": "https://people.pdnews.cn/column/30044533884-500005335271"
  187 + },
  188 + "targetId": "30044533884",
  189 + "targetRelId": "500005335271",
  190 + "targetRelObjectId": "2002",
  191 + "targetRelType": 1,
  192 + "targetStatus": 0,
  193 + "targetTitle": "以色列媒体:以军中央司令部司令请辞",
  194 + "targetType": 8,
  195 + "topicType": null,
  196 + "uuid": "a8f009c7-6fa1-44c9-bc99-107d14acbac7"
  197 + },
  198 + {
  199 + "avatarFrame": "",
  200 + "checkStatus": 2,
  201 + "commentContent": "你好",
  202 + "commentContentSensitive": "",
  203 + "commentLevel": 1,
  204 + "commentPics": "",
  205 + "commentSensitive": "",
  206 + "commentType": "2",
  207 + "createTime": "2024-04-19 16:19:02",
  208 + "fromCreatorId": "",
  209 + "fromDeviceId": "",
  210 + "fromUserHeader": "https://rmrbcmsonline.peopleapp.com/upload/default.png?x-oss-process=image/resize,l_100/auto-orient,1/quality,q_90/format,jpg",
  211 + "fromUserId": "559509019499205",
  212 + "fromUserName": "人民wH38q",
  213 + "fromUserType": 1,
  214 + "h5Url": "",
  215 + "id": 57870182,
  216 + "keyArticle": 1,
  217 + "likeNum": 0,
  218 + "pageId": null,
  219 + "parentCommentVo": null,
  220 + "parentId": -1,
  221 + "rootCommentId": 57870182,
  222 + "sensitiveExist": 0,
  223 + "sensitiveShow": 1,
  224 + "shareInfo": {
  225 + "shareCoverUrl": "https://rmrbcmsonline.peopleapp.com/upload/ueditor/image/20240419/a_965759026988052480.jpeg",
  226 + "shareSummary": "中央宣传部直属单位2024年度公开招聘工作人员面试公告",
  227 + "shareTitle": "中央宣传部直属单位2024年度公开招聘工作人员面试公告",
  228 + "shareUrl": "https://people.pdnews.cn/rmharticle/30044466109"
  229 + },
  230 + "targetId": "30044466109",
  231 + "targetRelId": "500005326186",
  232 + "targetRelObjectId": "2058",
  233 + "targetRelType": 1,
  234 + "targetStatus": 0,
  235 + "targetTitle": "中央宣传部直属单位2024年度公开招聘工作人员面试公告",
  236 + "targetType": 8,
  237 + "topicType": null,
  238 + "uuid": "849612f9-3880-4e7a-a8c3-d7281706ec0e"
  239 + }
  240 + ],
  241 + "pageNum": 1,
  242 + "pageSize": 20,
  243 + "totalCommentNum": 5,
  244 + "totalCount": 5
  245 + },
  246 + "message": "Success",
  247 + "meta": null,
  248 + "requestId": "",
  249 + "success": true,
  250 + "timestamp": 1713925942006
  251 +}