王士厅
Showing 29 changed files with 1202 additions and 63 deletions
... ... @@ -122,6 +122,14 @@ export class HttpUrlUtils {
*/
static readonly OTHER_USER_DETAIL_DATA_PATH: string = "/api/rmrb-contact/contact/zh/c/master/detail";
/**
* 个人中心 其他用户的评论列表
*/
static readonly OTHER_COMMENT_LIST_DATA_PATH: string = "/api/rmrb-comment/comment/zh/c/othersCommentList";
/**
* 个人中心 我的关注列表
*/
static readonly OTHER_USER_FOLLOW_LIST_DATA_PATH: string = "/api/rmrb-interact/interact/zh/c/userAttention/list";
/**
* 早晚报列表
* 根据页面id获取页面楼层列表
* https://pdapis.pdnews.cn/api/rmrb-bff-display-zh/display/zh/c/pageInfo?pageId=28927
... ... @@ -291,7 +299,7 @@ export class HttpUrlUtils {
return '8a81226a-cabd-3e1b-b630-b51db4a720ed';
}
private static getUserId() {
public static getUserId() {
// TODO 对接登录
// let userid = await SPHelper.default.get(SpConstants.USER_ID,"")
// if(StringUtils.isNotEmpty(userid)) {
... ... @@ -405,6 +413,17 @@ export class HttpUrlUtils {
return url
}
static getOtherCommentListDataUrl() {
let url = HttpUrlUtils.HOST_SIT + HttpUrlUtils.OTHER_COMMENT_LIST_DATA_PATH
return url
}
static getOtherUserFollowListDataUrl() {
let url = HttpUrlUtils.HOST_SIT + HttpUrlUtils.OTHER_USER_FOLLOW_LIST_DATA_PATH
return url
}
static getYcgCommonHeaders(): HashMap<string, string> {
let headers: HashMap<string, string> = new HashMap<string, string>()
... ...
import { ReLInfo } from './ReLInfo';
export interface AudioDataList {
audioUrl: string;
coverUrl: string;
duration: number;
objectId: number;
objectType: number;
reLInfo: ReLInfo;
title: string;
}
\ No newline at end of file
... ...
import { AudioDataList } from './AudioDataList';
import { OperDataList } from './OperDataList';
export interface CompList {
// audioDataList: any[];
audioDataList: AudioDataList[];
backgroundImgUrl: string;
// bottomNavId?: any;
cardItemId: string;
// cardUpdateStrategy?: any;
compStyle: string;
compType: string;
dataSourceType: string;
expIds: string;
extraData: string;
// fullColumnImgUrls: any[];
hasMore: number;
id: number;
// imageScale?: any;
imgSize: string;
itemId: string;
itemType: string;
itemTypeCode: string;
linkUrl: string;
// localGovernance?: any;
name: string;
objectId: string;
... ... @@ -27,13 +33,16 @@ export interface CompList {
objectSummary: string;
objectTitle: string;
objectType: string;
// openComment?: any;
// openLikes?: any;
operDataList: OperDataList[];
pageId: string;
// position?: any;
posterSize: string;
posterUrl: string;
// questionSection?: any;
recommend: number;
relId: number;
... ... @@ -41,8 +50,10 @@ export interface CompList {
sortValue: number;
subSceneId: string;
summaryName: string;
// tabOperDataList: any[];
titleShowPolicy: number;
// topicTemplate?: any;
traceId: string;
traceInfo: string;
... ...
export interface ReLInfo {
channelId?: string;
relId: string;
relObjectId: number;
relType: string;
}
\ No newline at end of file
... ...
... ... @@ -13,6 +13,7 @@
"wdBean": "file:../../features/wdBean",
"wdRouter": "file:../../commons/wdRouter",
"wdNetwork": "file:../../commons/wdNetwork",
"wdPlayer": "file:../../features/wdPlayer",
"wdLogin": "file:../../features/wdLogin"
}
}
... ...
import { AudioDTO } from 'wdBean';
import { Logger } from 'wdKit/Index';
/**
* 早晚报页面音频bar
*/
@Entry
// @Entry
@Component
export struct AudioBarView {
@State audioDataList?: AudioDTO[] = []
@Consume isAudioPlaying?: boolean
aboutToAppear() {
}
... ... @@ -45,6 +47,11 @@ export struct AudioBarView {
.height(24)
.margin({ left: 10 })// .alignSelf(ItemAlign.Center)
.objectFit(ImageFit.Contain)
.onClick(() => {
Logger.info("TAG", "cj compInfoBean onClick1 = " + this.isAudioPlaying)
this.isAudioPlaying = !this.isAudioPlaying
Logger.info("TAG", "cj compInfoBean onClick2 = " + this.isAudioPlaying)
})
}
// .aspectRatio(7 / 4)
.height('100%')
... ...
// import { FrontLinkObject, MorningEveningPaperDTO, PageInfoBean } from 'wdBean';
import { CompList, PageInfoBean } from 'wdBean';
import { DateTimeUtils, Logger } from 'wdKit/Index';
import { PaperReaderSimpleDialog } from '../../dialog/PaperReaderDialog';
import { MorningEveningViewModel } from '../../viewmodel/MorningEveningViewModel';
import { AudioBarView } from './AudioBarView';
// import { AudioBarView } from './AudioBarView';
import { PaperTitleComponent } from './PaperTitleComponent';
import { SingleColumn999Component } from './SingleColumn999Component';
import { topicInfoView } from './topicInfoView';
import { WDPlayerController } from 'wdPlayer';
const TAG = 'MorningEveningPaperComponent';
... ... @@ -17,6 +19,7 @@ export struct MorningEveningPaperComponent {
@State pageInfoBean: PageInfoBean = {} as PageInfoBean
// @State compInfoBean: CompInfoBean = {} as CompInfoBean
@State compListItem: CompList = {} as CompList
@State audioPlayUrl: string = ""
// @Provide compListItem: CompList = {} as CompList
// @State morningEveningPaperDTO: MorningEveningPaperDTO = {
// name: "新闻夜读",
... ... @@ -36,6 +39,16 @@ export struct MorningEveningPaperComponent {
// } as MorningEveningPaperDTO
@Provide title: string = ''
@Provide subTitle: string = ''
@Provide isAudioPlaying: boolean = false
private playerController: WDPlayerController = new WDPlayerController();
private xComponentController: XComponentController = new XComponentController();
simpleAudioDialog: CustomDialogController = new CustomDialogController({
builder: PaperReaderSimpleDialog(),
autoCancel: false,
customStyle: true,
alignment: DialogAlignment.CenterStart,
offset: { dx: 12, dy: -150 }
})
async aboutToAppear() {
console.info(TAG, `aboutToAppear`)
... ... @@ -44,7 +57,7 @@ export struct MorningEveningPaperComponent {
Logger.info(TAG, "currentTime = " + currentTime)
Logger.info(TAG, `currentTime = ${currentTime}`)
try {
let pageInfoBean = await MorningEveningViewModel.getMorningEveningPageInfo("28949")
let pageInfoBean = await MorningEveningViewModel.getMorningEveningPageInfo("25091")
this.pageInfoBean = pageInfoBean;
this.title = this.pageInfoBean?.topicInfo?.title
let dateTime = DateTimeUtils.parseDate(this.pageInfoBean?.topicInfo?.topicDate ?? '', DateTimeUtils.PATTERN_DATE_HYPHEN);
... ... @@ -59,9 +72,13 @@ export struct MorningEveningPaperComponent {
// this.compInfoBean = compInfoBean
if (compInfoBean?.compList[0]) {
this.compListItem = compInfoBean?.compList[0]
if (compInfoBean?.compList[0].audioDataList) {
this.audioPlayUrl = compInfoBean?.compList[0].audioDataList[0].audioUrl
}
}
Logger.info(TAG, "compInfoBean compStyle = " + compInfoBean.compList[0].compStyle)
} catch (exception) {
}
... ... @@ -77,12 +94,15 @@ export struct MorningEveningPaperComponent {
}
ListItem() {
AudioBarView()
this.AudioBarView(this.simpleAudioDialog)
}
}
ListItem() {
SingleColumn999Component({ compListItem: this.compListItem }).margin({ top: $r('app.float.top_bar_height') })
SingleColumn999Component({ compListItem: this.compListItem })
.margin({
top: this.pageInfoBean?.topicInfo?.frontLinkObject ? 10 : 44
})
}
}
// .backgroundColor('#FFF1F3F5')
... ... @@ -104,4 +124,63 @@ export struct MorningEveningPaperComponent {
// .backgroundColor(Color.Black)
.backgroundColor(this.pageInfoBean?.backgroundColor ?? Color.Black)
}
@Builder
AudioBarView(dialog: CustomDialogController) {
Row() {
Stack({ alignContent: Alignment.Start }) {
Image($r('app.media.listen_left_bg'))
.width('100%')
.height('100%')
.objectFit(ImageFit.Contain)
Image($r('app.media.icon_listen'))
.width(24)
.height(24)
.margin({ left: 10 })
.alignSelf(ItemAlign.Start)
Text('晚上好, 请收听今日新闻播报')
.fontSize(14)
.margin({ left: 50 })
.fontColor(Color.Black)
.maxLines(1)
.textOverflow({ overflow: TextOverflow.Ellipsis })
}
.layoutWeight(1)
.height('100%')
Stack({ alignContent: Alignment.Center }) {
Image($r('app.media.listen_right_bg'))
.width('100%')
.height('100%')
.objectFit(ImageFit.Contain)
Image($r('app.media.ic_red_triangle'))
.width(24)
.height(24)
.margin({ left: 10 })// .alignSelf(ItemAlign.Center)
.objectFit(ImageFit.Contain)
.onClick(() => {
Logger.info("TAG", "cj compInfoBean onClick1 = " + this.isAudioPlaying)
dialog.open()
this.playerController.firstPlay(this.audioPlayUrl)
Logger.info("TAG", "cj compInfoBean onClick2 = " + this.isAudioPlaying)
})
}
// .aspectRatio(7 / 4)
.height('100%')
// .justifyContent(FlexAlign.Center)
// .width(94)
// .width(140)
.width('20%')
// .height(56)
.onClick(() => {
// console.info(TAG, `onClick listen_right_bg`);
})
}
// .width('100%')
.height(56)
.alignItems(VerticalAlign.Center)
.justifyContent(FlexAlign.SpaceBetween)
}
}
\ No newline at end of file
... ...
import { Params } from 'wdBean';
import { LazyDataSource, StringUtils } from 'wdKit';
import { WDRouterPage, WDRouterRule } from 'wdRouter';
import MinePageDatasModel from '../../../model/MinePageDatasModel';
import { FollowListDetailItem } from '../../../viewmodel/FollowListDetailItem'
import { FollowListDetailRequestItem } from '../../../viewmodel/FollowListDetailRequestItem';
... ... @@ -72,7 +74,7 @@ export struct FollowListDetailUI{
this.hasMore = false
}else{
value.list.forEach((value)=>{
this.data.push(new FollowListDetailItem(value.attentionHeadPhotoUrl,value.attentionUserName,value.fansNum,value.introduction,value.attentionCreatorId,"1"))
this.data.push(new FollowListDetailItem(value.attentionHeadPhotoUrl,value.attentionUserName,value.fansNum,value.introduction,value.attentionCreatorId,"1",value.attentionUserId))
})
this.data.notifyDataReload()
this.count = this.data.totalCount()
... ... @@ -90,9 +92,6 @@ export struct FollowListDetailUI{
}
}else{
if(this.hasMore){
if(this.creatorDirectoryId === 120){
console.log("console");
}
let object = new FollowListDetailRequestItem(this.creatorDirectoryId,20,this.curPageNum)
MinePageDatasModel.getFollowListDetailData(object,getContext(this)).then((value)=>{
... ... @@ -115,7 +114,7 @@ export struct FollowListDetailUI{
let data : FollowListDetailItem[] = []
value.list.forEach((item)=>{
status.creatorIds.push(new QueryListIsFollowedItem(item.creatorId))
data.push(new FollowListDetailItem(item.headPhotoUrl,item.cnUserName,item.cnFansNum,item.introduction,item.creatorId,"0"))
data.push(new FollowListDetailItem(item.headPhotoUrl,item.cnUserName,item.cnFansNum,item.introduction,item.creatorId,"0",item.attentionUserId))
})
MinePageDatasModel.getFollowListStatusData(status,getContext(this)).then((newValue)=>{
... ... @@ -128,7 +127,7 @@ export struct FollowListDetailUI{
})
data.forEach((item)=>{
this.data.push(new FollowListDetailItem(item.headPhotoUrl,item.cnUserName,item.cnFansNum,item.introduction,item.creatorId,item.status))
this.data.push(new FollowListDetailItem(item.headPhotoUrl,item.cnUserName,item.cnFansNum,item.introduction,item.creatorId,item.status,item.attentionUserId))
})
this.data.notifyDataReload()
... ... @@ -233,5 +232,11 @@ struct ChildComponent {
}.height('146lpx')
.justifyContent(FlexAlign.Center)
.onClick(()=>{
let params: Params = {
pageID: this.data.attentionUserId
}
WDRouterRule.jumpWithPage(WDRouterPage.otherNormalUserHomePagePage,params)
})
}
}
\ No newline at end of file
... ...
... ... @@ -154,7 +154,7 @@ export struct HomePageBottomComponent{
this.hasMore = false
}else{
value.list.forEach((value)=>{
this.data_follow.push(new FollowListDetailItem(value.attentionHeadPhotoUrl,value.attentionUserName,value.fansNum,value.introduction,value.attentionCreatorId,"1"))
this.data_follow.push(new FollowListDetailItem(value.attentionHeadPhotoUrl,value.attentionUserName,value.fansNum,value.introduction,value.attentionCreatorId,"1",value.attentionUserId))
})
this.data_follow.notifyDataReload()
this.count = this.data_follow.totalCount()
... ... @@ -179,7 +179,7 @@ export struct HomePageBottomComponent{
this.hasMore = false
}else{
value.list.forEach((value)=>{
this.data_comment.push(new CommentListItem(value.fromUserHeader,value.fromUserName,value.targetTitle,value.createTime,value.commentContent))
this.data_comment.push(new CommentListItem(value.fromUserHeader,value.fromUserName,value.targetTitle,value.createTime,value.commentContent,value.likeNum,0,value.id))
})
this.data_comment.notifyDataReload()
this.count = this.data_comment.totalCount()
... ...
import { LazyDataSource, StringUtils } from 'wdKit';
import { DateTimeUtils, LazyDataSource } from 'wdKit';
import MinePageDatasModel from '../../../model/MinePageDatasModel';
import { CommentListItem } from '../../../viewmodel/CommentListItem';
import { OtherUserCommentListRequestItem } from '../../../viewmodel/OtherUserCommentListRequestItem';
import { ListHasNoMoreDataUI } from '../../reusable/ListHasNoMoreDataUI';
import { MineCommentListDetailItem } from '../../../viewmodel/MineCommentListDetailItem';
import { OtherUserCommentLikeStatusRequestItem } from '../../../viewmodel/OtherUserCommentLikeStatusRequestItem';
const TAG = "HomePageBottomComponent"
@Component
... ... @@ -12,6 +15,7 @@ export struct OtherHomePageBottomCommentComponent{
@State hasMore:boolean = true
curPageNum:number = 1;
@State count:number = 0;
@Prop levelHead:string
aboutToAppear(){
this.getNewPageData()
... ... @@ -31,7 +35,7 @@ export struct OtherHomePageBottomCommentComponent{
List({ space: 3 }) {
LazyForEach(this.data_comment, (item: CommentListItem, index: number = 0) => {
ListItem() {
ChildCommentComponent({data: item})
ChildCommentComponent({data: item,levelHead:this.levelHead})
}
.onClick(() => {
})
... ... @@ -47,10 +51,10 @@ export struct OtherHomePageBottomCommentComponent{
.layoutWeight(1)
.scrollBar(BarState.Off)
.edgeEffect(EdgeEffect.None)
// .nestedScroll({
// scrollForward: NestedScrollMode.PARENT_FIRST,
// scrollBackward: NestedScrollMode.SELF_FIRST
// })
.nestedScroll({
scrollForward: NestedScrollMode.PARENT_FIRST,
scrollBackward: NestedScrollMode.SELF_FIRST
})
.onReachEnd(()=>{
console.log(TAG,"触底了");
if(!this.isLoading){
... ... @@ -76,45 +80,84 @@ export struct OtherHomePageBottomCommentComponent{
getNewPageData(){
this.isLoading = true
if(this.hasMore){
let object = new OtherUserCommentListRequestItem("",20,this.curPageNum,"","1",this.curUserId)
// MinePageDatasModel.getMineCommentListData(object,getContext(this)).then((value)=>{
// if (!this.data_comment || value.list.length == 0){
// this.hasMore = false
// }else{
// value.list.forEach((value)=>{
// this.data_comment.push(new CommentListItem(value.fromUserHeader,value.fromUserName,value.targetTitle,value.createTime,value.commentContent))
// })
// this.data_comment.notifyDataReload()
// this.count = this.data_comment.totalCount()
// if (this.data_comment.totalCount() < value.totalCount) {
// this.curPageNum++
// }else {
// this.hasMore = false
// }
// }
// this.isLoading = false
// }).catch((err:Error)=>{
// console.log(TAG,"请求失败")
// this.isLoading = false
// })
let time = encodeURI(DateTimeUtils.getCurDate(DateTimeUtils.PATTERN_DATE_TIME_HYPHEN))
let object = new OtherUserCommentListRequestItem("",20,this.curPageNum,time,"1",this.curUserId)
MinePageDatasModel.getOtherCommentListData(object,getContext(this)).then((value)=>{
if (!this.data_comment || value.list.length == 0){
this.hasMore = false
}else{
this.getFollowListStatus(value)
}
}).catch((err:Error)=>{
console.log(TAG,"请求失败")
this.isLoading = false
})
}
}
getFollowListStatus(value:MineCommentListDetailItem){
let status = new OtherUserCommentLikeStatusRequestItem()
let data : CommentListItem[] = []
value.list.forEach((item)=>{
status.commentIdList.push(item.id)
data.push(new CommentListItem(item.fromUserHeader,item.fromUserName,item.targetTitle,item.createTime,item.commentContent,item.likeNum,0,item.id))
})
MinePageDatasModel.getOtherUserCommentLikeStatusData(status,getContext(this)).then((newValue)=>{
newValue.forEach((item)=>{
data.forEach((list)=>{
if (item.commentId == list.id) {
list.like_status = item.status
}
})
})
data.forEach((item)=>{
this.data_comment.push(new CommentListItem(item.fromUserHeader,item.fromUserName,item.targetTitle,item.createTime,item.commentContent,item.likeNum,item.like_status,item.id))
})
this.data_comment.notifyDataReload()
this.count = this.data_comment.totalCount()
if (this.data_comment.totalCount() < value.totalCount) {
this.curPageNum++
}else {
this.hasMore = false
}
this.isLoading = false
}).catch((err:Error)=>{
console.log(TAG,"请求失败")
this.isLoading = false
})
}
}
@Component
struct ChildCommentComponent {
@ObjectLink data: CommentListItem
@Prop levelHead:string
build() {
Column(){
Row() {
Image(StringUtils.isEmpty(this.data.fromUserHeader)?$r('app.media.default_head'):this.data.fromUserHeader)
.objectFit(ImageFit.Auto)
.width('69lpx')
.height('69lpx')
.margin({right:'15lpx'})
Stack(){
Image(this.data.fromUserHeader)
.alt($r('app.media.default_head'))
.objectFit(ImageFit.Auto)
.width('69lpx')
.height('69lpx')
.margin({right:'15lpx'})
.borderRadius(50)
Image(this.levelHead)
.width('89lpx')
.height('89lpx')
.objectFit(ImageFit.Cover)
.borderRadius(50)
}
Column(){
Text(this.data.fromUserName)
... ... @@ -132,6 +175,22 @@ struct ChildCommentComponent {
.maxLines(1)
}.layoutWeight(1)
.alignItems(HorizontalAlign.Start)
Row(){
Text(this.data.likeNum.toString())
.fontWeight("500lpx")
.fontSize("27lpx")
.lineHeight("31lpx")
.fontColor(this.data.like_status===0?$r('app.color.color_666666'):$r('app.color.color_ED2800'))
.margin({right:'8lpx'})
Image(this.data.like_status===0?$r('app.media.like_default_status'):$r('app.media.liked_status'))
.width('31lpx')
.height('31lpx')
.objectFit(ImageFit.Auto)
.interpolation(ImageInterpolation.Medium)
.borderRadius(50)
}
}
.margin({bottom:'10lpx'})
.width('100%')
... ...
... ... @@ -4,6 +4,7 @@ import { WDRouterRule, WDRouterPage } from 'wdRouter';
import MinePageDatasModel from '../../../model/MinePageDatasModel';
import { FollowListDetailItem } from '../../../viewmodel/FollowListDetailItem';
import { FollowListDetailRequestItem } from '../../../viewmodel/FollowListDetailRequestItem';
import { UserFollowListRequestItem } from '../../../viewmodel/UserFollowListRequestItem';
import { ListHasNoMoreDataUI } from '../../reusable/ListHasNoMoreDataUI';
const TAG = "HomePageBottomComponent"
... ... @@ -14,6 +15,7 @@ export struct OtherHomePageBottomFollowComponent{
@State hasMore:boolean = true
curPageNum:number = 1;
@State count:number = 0;
@Prop curUserId: string
aboutToAppear(){
this.getNewPageData()
... ... @@ -77,10 +79,10 @@ export struct OtherHomePageBottomFollowComponent{
.layoutWeight(1)
.scrollBar(BarState.Off)
.edgeEffect(EdgeEffect.None)
// .nestedScroll({
// scrollForward: NestedScrollMode.PARENT_FIRST,
// scrollBackward: NestedScrollMode.SELF_FIRST
// })
.nestedScroll({
scrollForward: NestedScrollMode.PARENT_FIRST,
scrollBackward: NestedScrollMode.SELF_FIRST
})
.onReachEnd(()=>{
console.log(TAG,"触底了");
if(!this.isLoading){
... ... @@ -107,14 +109,14 @@ export struct OtherHomePageBottomFollowComponent{
this.isLoading = true
//我的关注列表
if(this.hasMore){
let object = new FollowListDetailRequestItem(20,this.curPageNum)
let object = new UserFollowListRequestItem(Number(this.curUserId),20,this.curPageNum,"1")
MinePageDatasModel.getMineFollowListData(object,getContext(this)).then((value)=>{
MinePageDatasModel.getOtherUserFollowListData(object,getContext(this)).then((value)=>{
if (!this.data_follow || value.list.length == 0){
this.hasMore = false
}else{
value.list.forEach((value)=>{
this.data_follow.push(new FollowListDetailItem(value.attentionHeadPhotoUrl,value.attentionUserName,value.fansNum,value.introduction,value.attentionCreatorId,"1"))
this.data_follow.push(new FollowListDetailItem(value.attentionHeadPhotoUrl,value.attentionUserName,value.fansNum,value.introduction,value.attentionCreatorId,"1",value.attentionUserId))
})
this.data_follow.notifyDataReload()
this.count = this.data_follow.totalCount()
... ...
/**
* 简易音频对话框
* */
@CustomDialog
export struct PaperReaderSimpleDialog {
private controllerSimple?: CustomDialogController;
build() {
Row() {
Image($r("app.media.icon_audio_pause"))
.objectFit(ImageFit.Contain)
.margin(18)
.width(24)
.height(24)
}
.width(60)
.height(60)
.backgroundColor(Color.White)
.onClick(() => {
if (this.controllerSimple) {
this.controllerSimple.close()
}
})
}
}
/**
* 图文音频对话框
* */
@CustomDialog
export struct PaperReaderDialog {
controllerDetail?: CustomDialogController
build() {
Stack() {
Column() { //标题 时间 进度条
Marquee({
start: true,
step: 50,
loop: Number.POSITIVE_INFINITY,
fromStart: true,
src: "Running Marquee starts rolling"
})
.width("60%")
.height(20)
.fontColor($r("app.color.color_222222"))
.fontSize(14)
.margin({ top: 10 })
.onStart(() => {
console.info('Marquee animation complete onStart')
})
.onBounce(() => {
console.info('Marquee animation complete onBounce')
})
.onFinish(() => {
console.info('Marquee animation complete onFinish')
})
Row() {
Text("00:00")
.fontSize($r('app.float.font_size_12'))
.fontColor($r('app.color.color_999999'))
.width("49%")
.height("100%")
Text("/00:00")
.fontSize($r('app.float.font_size_12'))
.fontColor($r('app.color.color_999999'))
.width("51%")
.height("100%")
}
.width("100%")
.height(16)
.margin({ top: 4 })
}
.width("100%")
.height("100%")
Progress({ value: 0, total: 100, type: ProgressType.Linear })
.color($r('app.color.color_ED2800'))
.width("100%")
.height(3)
Image($r("app.media.icon_audio_pause"))
.objectFit(ImageFit.Auto)
.align(Alignment.End)
.margin({ right: 12 })
Image($r("app.media.icon_audio_close"))
.objectFit(ImageFit.Auto)
.align(Alignment.End)
.margin({ right: 48 })
.onClick(() => {
if (this.controllerDetail) {
this.controllerDetail.close()
}
})
}
.width("65%")
.height(60)
.backgroundColor(Color.White)
.borderRadius(5)
}
}
\ No newline at end of file
... ...
... ... @@ -16,6 +16,10 @@ import { MineCommentListDetailItem } from '../viewmodel/MineCommentListDetailIte
import { MineUserLevelItem } from '../viewmodel/MineUserLevelItem';
import { MineUserDetailItem } from '../viewmodel/MineUserDetailItem';
import { OtherUserDetailRequestItem } from '../viewmodel/OtherUserDetailRequestItem';
import { OtherUserCommentListRequestItem } from '../viewmodel/OtherUserCommentListRequestItem';
import { OtherUserCommentLikeStatusRequestItem } from '../viewmodel/OtherUserCommentLikeStatusRequestItem';
import { QueryCommentListIsLikedItem } from '../viewmodel/QueryCommentListIsLikedItem';
import { UserFollowListRequestItem } from '../viewmodel/UserFollowListRequestItem';
const TAG = "MinePageDatasModel"
... ... @@ -495,7 +499,128 @@ class MinePageDatasModel{
return compRes.data
}
/**
* 其他用户的评论列表
* @param params
* @param context
* @returns
*/
getOtherCommentListData(params:OtherUserCommentListRequestItem,context: Context): Promise<MineCommentListDetailItem> {
return new Promise<MineCommentListDetailItem>((success, error) => {
Logger.info(TAG, `getAppointmentList start`);
this.fetchOtherCommentListData(params).then((navResDTO: ResponseDTO<MineCommentListDetailItem>) => {
if (!navResDTO || navResDTO.code != 0) {
success(this.getOtherCommentListDataLocal(context))
return
}
Logger.info(TAG, "getAppointmentList then,AppointmentResDTO.timeStamp:" + navResDTO.timestamp);
let navigationBean = navResDTO.data as MineCommentListDetailItem
success(navigationBean);
}).catch((err: Error) => {
Logger.error(TAG, `fetchAppointmentListDataApi catch, error.name : ${err.name}, error.message:${err.message}`);
success(this.getOtherCommentListDataLocal(context))
})
})
}
fetchOtherCommentListData(object:OtherUserCommentListRequestItem) {
let url = HttpUrlUtils.getOtherCommentListDataUrl()+`?pageSize=${object.pageSize}&pageNum=${object.pageNum}&creatorId=${object.creatorId}&time=${object.time}&userType=${object.userType}&userId=${object.userId}`
let headers: HashMap<string, string> = HttpUrlUtils.getYcgCommonHeaders();
return WDHttp.get<ResponseDTO<MineCommentListDetailItem>>(url, headers)
};
async getOtherCommentListDataLocal(context: Context): Promise<MineCommentListDetailItem> {
Logger.info(TAG, `getMineFollowListDataLocal start`);
let compRes: ResponseDTO<MineCommentListDetailItem> | null = await ResourcesUtils.getResourcesJson<ResponseDTO<MineCommentListDetailItem>>(context,'other_user512157124138245_comment_list_data.json' );
if (!compRes || !compRes.data) {
Logger.info(TAG, `getMineFollowListDataLocal compRes is empty`);
return new MineCommentListDetailItem()
}
Logger.info(TAG, `getMineFollowListDataLocal getResourcesJsonSync compRes : ${JSON.stringify(compRes)}`);
return compRes.data
}
/**
* 查询是否点赞了这条评论
* @param params
* @param context
* @returns
*/
getOtherUserCommentLikeStatusData(params:OtherUserCommentLikeStatusRequestItem,context: Context): Promise<QueryCommentListIsLikedItem[]> {
return new Promise<QueryCommentListIsLikedItem[]>((success, error) => {
Logger.info(TAG, `getAppointmentList start`);
this.fetchOtherUserCommentLikeStatusData(params).then((navResDTO: ResponseDTO<QueryCommentListIsLikedItem[]>) => {
if (!navResDTO || navResDTO.code != 0) {
success(this.getOtherUserCommentLikeStatusDataLocal(context))
return
}
Logger.info(TAG, "getAppointmentList then,AppointmentResDTO.timeStamp:" + navResDTO.timestamp);
let navigationBean = navResDTO.data as QueryCommentListIsLikedItem[]
success(navigationBean);
}).catch((err: Error) => {
Logger.error(TAG, `fetchAppointmentListDataApi catch, error.name : ${err.name}, error.message:${err.message}`);
success(this.getOtherUserCommentLikeStatusDataLocal(context))
})
})
}
fetchOtherUserCommentLikeStatusData(object:OtherUserCommentLikeStatusRequestItem) {
let url = HttpUrlUtils.getFollowListStatusDataUrl()
let headers: HashMap<string, string> = HttpUrlUtils.getYcgCommonHeaders();
return WDHttp.post<ResponseDTO<QueryCommentListIsLikedItem[]>>(url,object, headers)
};
async getOtherUserCommentLikeStatusDataLocal(context: Context): Promise<QueryCommentListIsLikedItem[]> {
Logger.info(TAG, `getMineFollowListDataLocal start`);
let compRes: ResponseDTO<QueryCommentListIsLikedItem[]> | null = await ResourcesUtils.getResourcesJson<ResponseDTO<QueryCommentListIsLikedItem[]>>(context,'other_user512157124138245_comment_list_liked_data.json' );
if (!compRes || !compRes.data) {
Logger.info(TAG, `getMineFollowListDataLocal compRes is empty`);
return []
}
Logger.info(TAG, `getMineFollowListDataLocal getResourcesJsonSync compRes : ${JSON.stringify(compRes)}`);
return compRes.data
}
/**
* 其他用户的关注列表
* @param params
* @param context
* @returns
*/
getOtherUserFollowListData(params:UserFollowListRequestItem,context: Context): Promise<MineFollowListItem> {
return new Promise<MineFollowListItem>((success, error) => {
Logger.info(TAG, `getAppointmentList start`);
this.fetchOtherUserFollowListData(params).then((navResDTO: ResponseDTO<MineFollowListItem>) => {
if (!navResDTO || navResDTO.code != 0) {
success(this.getOtherUserFollowListDataLocal(context))
return
}
Logger.info(TAG, "getAppointmentList then,AppointmentResDTO.timeStamp:" + navResDTO.timestamp);
let navigationBean = navResDTO.data as MineFollowListItem
success(navigationBean);
}).catch((err: Error) => {
Logger.error(TAG, `fetchAppointmentListDataApi catch, error.name : ${err.name}, error.message:${err.message}`);
success(this.getOtherUserFollowListDataLocal(context))
})
})
}
fetchOtherUserFollowListData(object:UserFollowListRequestItem) {
let url = HttpUrlUtils.getOtherUserFollowListDataUrl()+`?pageSize=${object.pageSize}&pageNum=${object.pageNum}&queryUserId=${object.queryUserId}&userType=${object.userType}&userId=${HttpUrlUtils.getUserId()}`
let headers: HashMap<string, string> = HttpUrlUtils.getYcgCommonHeaders();
return WDHttp.get<ResponseDTO<MineFollowListItem>>(url, headers)
};
async getOtherUserFollowListDataLocal(context: Context): Promise<MineFollowListItem> {
Logger.info(TAG, `getMineFollowListDataLocal start`);
let compRes: ResponseDTO<MineFollowListItem> | null = await ResourcesUtils.getResourcesJson<ResponseDTO<MineFollowListItem>>(context,'other_user_follow_list_data.json' );
if (!compRes || !compRes.data) {
Logger.info(TAG, `getMineFollowListDataLocal compRes is empty`);
return new MineFollowListItem()
}
Logger.info(TAG, `getMineFollowListDataLocal getResourcesJsonSync compRes : ${JSON.stringify(compRes)}`);
return compRes.data
}
}
... ...
... ... @@ -67,7 +67,7 @@ struct MineHomePage {
.borderRadius(50)
}.onClick(()=>{
let params: Params = {
pageID: "-1"
pageID: "512157124138245"
}
WDRouterRule.jumpWithPage(WDRouterPage.otherNormalUserHomePagePage,params)
})
... ...
... ... @@ -32,6 +32,7 @@ struct OtherNormalUserHomePage {
@State browseNum:number = 0//阅读数
@State commentNum:number = 0//评论数
@State attentionNum:number = 0//关注数
@State desc:string = ""
aboutToAppear(){
this.getUserInfo()
... ... @@ -146,17 +147,36 @@ struct OtherNormalUserHomePage {
.width('100%')
.padding({ left: '35lpx' })
//间隔符
//用户简介区域
Column() {
Row() {
Text(this.desc)
.fontSize('27lpx')
.maxLines(3)
.textOverflow({ overflow: TextOverflow.Ellipsis })
.lineHeight('40lpx')
.fontWeight('400lpx')
.fontColor($r('app.color.color_222222'))
.textAlign(TextAlign.Start)
}
}.padding({ left: '31lpx',right:'31lpx',top:'19lpx',bottom:'31lpx'})
.alignItems(HorizontalAlign.Start)
.justifyContent(FlexAlign.Center)
.width('100%')
.backgroundColor($r('app.color.white'))
.visibility(StringUtils.isEmpty(this.desc)?Visibility.Hidden:Visibility.Visible)
//间隔符
Divider().width('100%').height('12lpx').color($r('app.color.color_F5F5F5')).strokeWidth('12lpx')
//tab 页面
Tabs({controller: this.controller}) {
TabContent() {
OtherHomePageBottomCommentComponent({curUserId:this.curUserId})
OtherHomePageBottomCommentComponent({curUserId:this.curUserId,levelHead:this.levelHead})
}.tabBar(this.TabBuilder(0,"评论"))
TabContent() {
OtherHomePageBottomFollowComponent()
OtherHomePageBottomFollowComponent({curUserId:this.curUserId})
}.tabBar(this.TabBuilder(1,"关注"))
}
.backgroundColor($r('app.color.white'))
... ... @@ -288,7 +308,9 @@ struct OtherNormalUserHomePage {
if(value!=null){
this.userName = value.userName
this.headPhotoUrl = value.headPhotoUrl
if(StringUtils.isNotEmpty(value.introduction)){
this.desc = value.introduction
}
this.browseNum = StringUtils.isEmpty(value.browseNum)?0:value.browseNum
this.commentNum = StringUtils.isEmpty(value.commentNum)?0:value.commentNum
this.attentionNum = StringUtils.isEmpty(value.attentionNum)?0:value.attentionNum
... ...
... ... @@ -7,12 +7,18 @@ export class CommentListItem{
commentContent:string = ""
targetTitle:string = ""
createTime:string = ""
likeNum:number = 0
like_status:number = 0
id:number = 0
constructor(fromUserHeader:string,fromUserName:string,targetTitle:string,createTime:string,commentContent:string ) {
constructor(fromUserHeader:string,fromUserName:string,targetTitle:string,createTime:string,commentContent:string,likeNum:number,like_status:number,id:number) {
this.fromUserHeader = fromUserHeader
this.fromUserName = fromUserName
this.commentContent = commentContent
this.targetTitle = targetTitle
this.createTime = createTime
this.likeNum = likeNum
this.like_status = like_status
this.id = id
}
}
... ...
... ... @@ -67,6 +67,7 @@ export class FollowListDetailItem{
introduction:string //介绍
status:string = "0" //是否已经关注
creatorId:string = ""
attentionUserId:string = ""
attentionCreatorId:string = ""
attentionHeadPhotoUrl:string = ""
... ... @@ -74,12 +75,13 @@ export class FollowListDetailItem{
fansNum :number = 0
constructor(headPhotoUrl:string,cnUserName:string,cnFansNum:number,introduction:string,creatorId:string,status:string ) {
constructor(headPhotoUrl:string,cnUserName:string,cnFansNum:number,introduction:string,creatorId:string,status:string,attentionUserId:string) {
this.headPhotoUrl = headPhotoUrl
this.cnUserName = cnUserName
this.cnFansNum = cnFansNum
this.introduction = introduction
this.creatorId = creatorId
this.status = status
this.attentionUserId = attentionUserId
}
}
... ...
export class OtherUserCommentLikeStatusRequestItem{
commentIdList:number[] = []
}
\ No newline at end of file
... ...
export class QueryCommentListIsLikedItem{
commentId:number = 0
status:number = 0
}
\ No newline at end of file
... ...
export class UserFollowListRequestItem{
queryUserId:number = -1
pageSize:number = 20
pageNum:number = 1
userType:string = "1"
constructor(queryUserId:number, pageSize:number, pageNum:number, userType:string) {
this.queryUserId = queryUserId
this.pageSize = pageSize
this.pageNum = pageNum
this.userType = userType
}
}
\ No newline at end of file
... ...
{
"lockfileVersion": 2,
"ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.",
"specifiers": {
"@ohos/axios@^2.1.1": "@ohos/axios@2.2.0"
},
"packages": {
"@ohos/axios@2.2.0": {
"resolved": "https://repo.harmonyos.com/ohpm/@ohos/axios/-/axios-2.2.0.har",
"integrity": "sha512-v1QBWk6DfcN8wUW3D0ieFbHTR1taSI5cOgxp5l6B5cegXuNYhSc8ggKlAIXe6h/14LsfM+NW0ZGfSXcNEIM5yA==",
"registryType": "ohpm"
}
}
}
\ No newline at end of file
... ...
{
"code": "0",
"data": {
"hasNext": 0,
"list": [
{
"avatarFrame": "",
"checkStatus": 2,
"commentContent": "方法就是\\ud83d\\udc4d",
"commentContentSensitive": "",
"commentLevel": 1,
"commentPics": "",
"commentSensitive": "",
"commentType": "2",
"createTime": "2024-02-19 14:14:16",
"fromCreatorId": "",
"fromDeviceId": "F0B98E7F-6479-462C-BA25-5FC574511C8A",
"fromUserHeader": "https://sitcontentjdcdn.aikan.pdnews.cn/null20240127/1630371072/1706336907262.jpg?x-oss-process=image/resize,l_100/auto-orient,1/quality,q_90/format,jpg",
"fromUserId": "512157124138245",
"fromUserName": "树下🍑 1122334",
"fromUserType": 1,
"h5Url": "",
"id": 403445,
"keyArticle": 0,
"likeNum": 3,
"pageId": null,
"parentCommentVo": null,
"parentId": -1,
"rootCommentId": 403445,
"sensitiveExist": 0,
"sensitiveShow": 1,
"shareInfo": {
"shareCoverUrl": "http://sitcontentjdcdn.aikan.pdnews.cn/zhbj-20231012/image/content/7f1a342a809d4276aa975ba9e7fe2313.png",
"shareSummary": "这是一个开始、请持续关注这是一个开始、请持续关注这是一个开始、请持续关注这是一个开始、请持续关注这是",
"shareTitle": "这是一个开始、请持续关注这是一个开始、请",
"shareUrl": "https://pd-people-sit.pdnews.cn/column/30000633703-500000008559"
},
"targetId": "30000633703",
"targetRelId": "500000008559",
"targetRelObjectId": "2002",
"targetRelType": 1,
"targetStatus": 0,
"targetTitle": "这是一个开始、请持续关注这是一个开始、请持续关注这是一个开始、请持续关注这是一个开始、请持续关注这是一个开始、请持续关注这是一个开始、请持续关注这是一个开始、请持续关注",
"targetType": 8,
"topicType": null,
"uuid": "5901a353-79aa-4b81-81d7-f6f13f0a6817"
},
{
"avatarFrame": "",
"checkStatus": 2,
"commentContent": "毕业",
"commentContentSensitive": "",
"commentLevel": 1,
"commentPics": "",
"commentSensitive": "",
"commentType": "2",
"createTime": "2024-01-29 17:39:04",
"fromCreatorId": "",
"fromDeviceId": "",
"fromUserHeader": "https://sitcontentjdcdn.aikan.pdnews.cn/null20240127/1630371072/1706336907262.jpg?x-oss-process=image/resize,l_100/auto-orient,1/quality,q_90/format,jpg",
"fromUserId": "512157124138245",
"fromUserName": "树下🍑 1122334",
"fromUserType": 1,
"h5Url": "",
"id": 303318,
"keyArticle": 0,
"likeNum": 0,
"pageId": null,
"parentCommentVo": null,
"parentId": -1,
"rootCommentId": 303318,
"sensitiveExist": 0,
"sensitiveShow": 1,
"shareInfo": {
"shareCoverUrl": "http://sitcontentjdcdn.aikan.pdnews.cn/zhbj-20230923/image/content/4b8f615d1b134546aa4903300c38fb5b.png",
"shareSummary": "人民日报,有品质的新闻",
"shareTitle": "【广东爱情故事】人在广东已经漂泊十年",
"shareUrl": "https://pd-people-sit.pdnews.cn/column/30000627490-500000007811"
},
"targetId": "30000627490",
"targetRelId": "500000007811",
"targetRelObjectId": "10000002083",
"targetRelType": 2,
"targetStatus": 0,
"targetTitle": "【广东爱情故事】人在广东已经漂泊十年",
"targetType": 13,
"topicType": null,
"uuid": "59339983-a9ee-4054-98aa-0eddbc6275a1"
},
{
"avatarFrame": "",
"checkStatus": 2,
"commentContent": "索尼👍",
"commentContentSensitive": "",
"commentLevel": 1,
"commentPics": "",
"commentSensitive": "",
"commentType": "2",
"createTime": "2024-01-29 17:38:56",
"fromCreatorId": "",
"fromDeviceId": "",
"fromUserHeader": "https://sitcontentjdcdn.aikan.pdnews.cn/null20240127/1630371072/1706336907262.jpg?x-oss-process=image/resize,l_100/auto-orient,1/quality,q_90/format,jpg",
"fromUserId": "512157124138245",
"fromUserName": "树下🍑 1122334",
"fromUserType": 1,
"h5Url": "",
"id": 303317,
"keyArticle": 0,
"likeNum": 0,
"pageId": null,
"parentCommentVo": null,
"parentId": -1,
"rootCommentId": 303317,
"sensitiveExist": 0,
"sensitiveShow": 1,
"shareInfo": {
"shareCoverUrl": "http://sitcontentjdcdn.aikan.pdnews.cn/zhbj-20230923/image/content/4b8f615d1b134546aa4903300c38fb5b.png",
"shareSummary": "人民日报,有品质的新闻",
"shareTitle": "【广东爱情故事】人在广东已经漂泊十年",
"shareUrl": "https://pd-people-sit.pdnews.cn/column/30000627490-500000007811"
},
"targetId": "30000627490",
"targetRelId": "500000007811",
"targetRelObjectId": "10000002083",
"targetRelType": 2,
"targetStatus": 0,
"targetTitle": "【广东爱情故事】人在广东已经漂泊十年",
"targetType": 13,
"topicType": null,
"uuid": "8808cffa-6496-4dc9-ac79-a65c8ada09d2"
},
{
"avatarFrame": "",
"checkStatus": 2,
"commentContent": "游客评论苹果",
"commentContentSensitive": "",
"commentLevel": 1,
"commentPics": "",
"commentSensitive": "",
"commentType": "2",
"createTime": "2024-01-27 15:00:24",
"fromCreatorId": "",
"fromDeviceId": "F0B98E7F-6479-462C-BA25-5FC574511C8A",
"fromUserHeader": "https://sitcontentjdcdn.aikan.pdnews.cn/null20240127/1630371072/1706336907262.jpg?x-oss-process=image/resize,l_100/auto-orient,1/quality,q_90/format,jpg",
"fromUserId": "512157124138245",
"fromUserName": "树下🍑 1122334",
"fromUserType": 1,
"h5Url": "",
"id": 403426,
"keyArticle": 0,
"likeNum": 1,
"pageId": null,
"parentCommentVo": null,
"parentId": -1,
"rootCommentId": 403426,
"sensitiveExist": 0,
"sensitiveShow": 1,
"shareInfo": {
"shareCoverUrl": "http://sitcontentjdcdn.aikan.pdnews.cn/zhbj-20231012/image/content/7f1a342a809d4276aa975ba9e7fe2313.png",
"shareSummary": "这是一个开始、请持续关注这是一个开始、请持续关注这是一个开始、请持续关注这是一个开始、请持续关注这是",
"shareTitle": "这是一个开始、请持续关注这是一个开始、请",
"shareUrl": "https://pd-people-sit.pdnews.cn/column/30000633703-500000008559"
},
"targetId": "30000633703",
"targetRelId": "500000008559",
"targetRelObjectId": "2002",
"targetRelType": 1,
"targetStatus": 0,
"targetTitle": "这是一个开始、请持续关注这是一个开始、请持续关注这是一个开始、请持续关注这是一个开始、请持续关注这是一个开始、请持续关注这是一个开始、请持续关注这是一个开始、请持续关注",
"targetType": 8,
"topicType": null,
"uuid": "a272d091-3697-44ca-95e6-532028eee776"
},
{
"avatarFrame": "",
"checkStatus": 2,
"commentContent": "游客账号评论安卓",
"commentContentSensitive": "",
"commentLevel": 1,
"commentPics": "",
"commentSensitive": "",
"commentType": "2",
"createTime": "2024-01-27 15:00:15",
"fromCreatorId": "",
"fromDeviceId": "23c43f15-37e9-3f2d-9999-bd1abbb7e0ed",
"fromUserHeader": "https://sitcontentjdcdn.aikan.pdnews.cn/null20240127/1630371072/1706336907262.jpg?x-oss-process=image/resize,l_100/auto-orient,1/quality,q_90/format,jpg",
"fromUserId": "512157124138245",
"fromUserName": "树下🍑 1122334",
"fromUserType": 1,
"h5Url": "",
"id": 403425,
"keyArticle": 0,
"likeNum": 0,
"pageId": null,
"parentCommentVo": null,
"parentId": -1,
"rootCommentId": 403425,
"sensitiveExist": 0,
"sensitiveShow": 1,
"shareInfo": {
"shareCoverUrl": "http://sitcontentjdcdn.aikan.pdnews.cn/zhbj-20231012/image/content/7f1a342a809d4276aa975ba9e7fe2313.png",
"shareSummary": "这是一个开始、请持续关注这是一个开始、请持续关注这是一个开始、请持续关注这是一个开始、请持续关注这是",
"shareTitle": "这是一个开始、请持续关注这是一个开始、请",
"shareUrl": "https://pd-people-sit.pdnews.cn/column/30000633703-500000008559"
},
"targetId": "30000633703",
"targetRelId": "500000008559",
"targetRelObjectId": "2002",
"targetRelType": 1,
"targetStatus": 0,
"targetTitle": "这是一个开始、请持续关注这是一个开始、请持续关注这是一个开始、请持续关注这是一个开始、请持续关注这是一个开始、请持续关注这是一个开始、请持续关注这是一个开始、请持续关注",
"targetType": 8,
"topicType": null,
"uuid": "62225e7a-9afd-4b8c-b9b6-71a5d610997d"
},
{
"avatarFrame": "",
"checkStatus": 2,
"commentContent": "你理解吗",
"commentContentSensitive": "",
"commentLevel": 1,
"commentPics": "",
"commentSensitive": "",
"commentType": "2",
"createTime": "2024-01-27 14:45:21",
"fromCreatorId": "",
"fromDeviceId": "23c43f15-37e9-3f2d-9999-bd1abbb7e0ed",
"fromUserHeader": "https://sitcontentjdcdn.aikan.pdnews.cn/null20240127/1630371072/1706336907262.jpg?x-oss-process=image/resize,l_100/auto-orient,1/quality,q_90/format,jpg",
"fromUserId": "512157124138245",
"fromUserName": "树下🍑 1122334",
"fromUserType": 1,
"h5Url": "",
"id": 403422,
"keyArticle": 0,
"likeNum": 0,
"pageId": null,
"parentCommentVo": null,
"parentId": -1,
"rootCommentId": 403422,
"sensitiveExist": 0,
"sensitiveShow": 1,
"shareInfo": {
"shareCoverUrl": "http://sitcontentjdcdn.aikan.pdnews.cn/zhbj-20231130/image/content/09ee931569d34781b9bbe85f5348873f.jpg",
"shareSummary": "人民日报,有品质的新闻",
"shareTitle": "点亮香港“小航天迷”的“太空梦”——内地航天专家走进香港中小学校园",
"shareUrl": "https://pd-people-sit.pdnews.cn/rmhphotos/30000650925"
},
"targetId": "30000650925",
"targetRelId": "500000013228",
"targetRelObjectId": "2058",
"targetRelType": 1,
"targetStatus": 0,
"targetTitle": "点亮香港“小航天迷”的“太空梦”——内地航天专家走进香港中小学校园",
"targetType": 9,
"topicType": null,
"uuid": "cc6b2322-ffa4-4a59-a7af-5e4a18afcbd3"
},
{
"avatarFrame": "",
"checkStatus": 2,
"commentContent": "你好我是游客",
"commentContentSensitive": "",
"commentLevel": 1,
"commentPics": "",
"commentSensitive": "",
"commentType": "2",
"createTime": "2024-01-27 14:40:19",
"fromCreatorId": "",
"fromDeviceId": "23c43f15-37e9-3f2d-9999-bd1abbb7e0ed",
"fromUserHeader": "https://sitcontentjdcdn.aikan.pdnews.cn/null20240127/1630371072/1706336907262.jpg?x-oss-process=image/resize,l_100/auto-orient,1/quality,q_90/format,jpg",
"fromUserId": "512157124138245",
"fromUserName": "树下🍑 1122334",
"fromUserType": 1,
"h5Url": "",
"id": 303306,
"keyArticle": 0,
"likeNum": 0,
"pageId": null,
"parentCommentVo": null,
"parentId": -1,
"rootCommentId": 303306,
"sensitiveExist": 0,
"sensitiveShow": 1,
"shareInfo": {
"shareCoverUrl": "http://sitcontentjdcdn.aikan.pdnews.cn/zhbj-20231130/image/content/09ee931569d34781b9bbe85f5348873f.jpg",
"shareSummary": "人民日报,有品质的新闻",
"shareTitle": "点亮香港“小航天迷”的“太空梦”——内地航天专家走进香港中小学校园",
"shareUrl": "https://pd-people-sit.pdnews.cn/rmhphotos/30000650925"
},
"targetId": "30000650925",
"targetRelId": "500000013228",
"targetRelObjectId": "2058",
"targetRelType": 1,
"targetStatus": 0,
"targetTitle": "点亮香港“小航天迷”的“太空梦”——内地航天专家走进香港中小学校园",
"targetType": 9,
"topicType": null,
"uuid": "9fac53da-603f-444a-8807-4f5feacf55bb"
},
{
"avatarFrame": "",
"checkStatus": 2,
"commentContent": "你好我是游客",
"commentContentSensitive": "",
"commentLevel": 1,
"commentPics": "",
"commentSensitive": "",
"commentType": "2",
"createTime": "2024-01-27 14:34:30",
"fromCreatorId": "",
"fromDeviceId": "23c43f15-37e9-3f2d-9999-bd1abbb7e0ed",
"fromUserHeader": "https://sitcontentjdcdn.aikan.pdnews.cn/null20240127/1630371072/1706336907262.jpg?x-oss-process=image/resize,l_100/auto-orient,1/quality,q_90/format,jpg",
"fromUserId": "512157124138245",
"fromUserName": "树下🍑 1122334",
"fromUserType": 1,
"h5Url": "",
"id": 403420,
"keyArticle": 0,
"likeNum": 0,
"pageId": null,
"parentCommentVo": null,
"parentId": -1,
"rootCommentId": 403420,
"sensitiveExist": 0,
"sensitiveShow": 1,
"shareInfo": {
"shareCoverUrl": "http://sitcontentjdcdn.aikan.pdnews.cn/image/creator/2024012911/f2f9fe93ca464d05bc0407a385ad877b.png",
"shareSummary": "爸爸角色扮演医生,在宝蓝比赛摔倒的时候悉心照顾,其他小朋友也要注意呀!",
"shareTitle": "爸爸角色扮演医生,在宝蓝比赛摔倒的时候悉心照顾,其他小朋友也要注意呀!",
"shareUrl": "https://pd-people-sit.pdnews.cn/rmhvideo/30000716043"
},
"targetId": "30000716043",
"targetRelId": "500000030952",
"targetRelObjectId": "2058",
"targetRelType": 1,
"targetStatus": 0,
"targetTitle": "爸爸角色扮演医生,在宝蓝比赛摔倒的时候悉心照顾,其他小朋友也要注意呀!",
"targetType": 1,
"topicType": null,
"uuid": "31305151-6b9c-49ea-8e5b-9e4b8fffe79d"
},
{
"avatarFrame": "",
"checkStatus": 2,
"commentContent": "游客账号",
"commentContentSensitive": "",
"commentLevel": 1,
"commentPics": "",
"commentSensitive": "",
"commentType": "2",
"createTime": "2024-01-27 14:27:52",
"fromCreatorId": "",
"fromDeviceId": "23c43f15-37e9-3f2d-9999-bd1abbb7e0ed",
"fromUserHeader": "https://sitcontentjdcdn.aikan.pdnews.cn/null20240127/1630371072/1706336907262.jpg?x-oss-process=image/resize,l_100/auto-orient,1/quality,q_90/format,jpg",
"fromUserId": "512157124138245",
"fromUserName": "树下🍑 1122334",
"fromUserType": 1,
"h5Url": "",
"id": 403417,
"keyArticle": 0,
"likeNum": 0,
"pageId": null,
"parentCommentVo": null,
"parentId": -1,
"rootCommentId": 403417,
"sensitiveExist": 0,
"sensitiveShow": 1,
"shareInfo": {
"shareCoverUrl": "",
"shareSummary": "人民日报,有品质的新闻",
"shareTitle": "跟着习主席看世界|同舟共济 打造人类卫生健康共同体",
"shareUrl": "https://pd-people-sit.pdnews.cn/column/30000628337-500000004210"
},
"targetId": "30000628337",
"targetRelId": "500000004210",
"targetRelObjectId": "2002",
"targetRelType": 1,
"targetStatus": 0,
"targetTitle": "跟着习主席看世界|同舟共济 打造人类卫生健康共同体",
"targetType": 8,
"topicType": null,
"uuid": "034911cc-34ca-4209-add2-46f48f4b2104"
},
{
"avatarFrame": "",
"checkStatus": 2,
"commentContent": "我是游客",
"commentContentSensitive": "",
"commentLevel": 1,
"commentPics": "",
"commentSensitive": "",
"commentType": "2",
"createTime": "2024-01-27 14:25:34",
"fromCreatorId": "",
"fromDeviceId": "F0B98E7F-6479-462C-BA25-5FC574511C8A",
"fromUserHeader": "https://sitcontentjdcdn.aikan.pdnews.cn/null20240127/1630371072/1706336907262.jpg?x-oss-process=image/resize,l_100/auto-orient,1/quality,q_90/format,jpg",
"fromUserId": "512157124138245",
"fromUserName": "树下🍑 1122334",
"fromUserType": 1,
"h5Url": "",
"id": 303305,
"keyArticle": 0,
"likeNum": 0,
"pageId": null,
"parentCommentVo": null,
"parentId": -1,
"rootCommentId": 303305,
"sensitiveExist": 0,
"sensitiveShow": 1,
"shareInfo": {
"shareCoverUrl": "http://sitcontentjdcdn.aikan.pdnews.cn/zhbj-20240127/image/content/e8d93872483a48c7a4eaa48f70211ab1.png",
"shareSummary": "人民日报,有品质的新闻",
"shareTitle": "“大学也有家长群",
"shareUrl": "https://pd-people-sit.pdnews.cn/column/30000723442-500000031275"
},
"targetId": "30000723442",
"targetRelId": "500000031275",
"targetRelObjectId": "2002",
"targetRelType": 1,
"targetStatus": 0,
"targetTitle": "“大学也有家长群",
"targetType": 8,
"topicType": null,
"uuid": "0b0aa5ef-b2de-4d01-9f5a-274c5122560f"
},
{
"avatarFrame": "",
"checkStatus": 2,
"commentContent": "你好,我是游客动态",
"commentContentSensitive": "",
"commentLevel": 1,
"commentPics": "",
"commentSensitive": "",
"commentType": "2",
"createTime": "2024-01-27 14:24:56",
"fromCreatorId": "",
"fromDeviceId": "23c43f15-37e9-3f2d-9999-bd1abbb7e0ed",
"fromUserHeader": "https://sitcontentjdcdn.aikan.pdnews.cn/null20240127/1630371072/1706336907262.jpg?x-oss-process=image/resize,l_100/auto-orient,1/quality,q_90/format,jpg",
"fromUserId": "512157124138245",
"fromUserName": "树下🍑 1122334",
"fromUserType": 1,
"h5Url": "",
"id": 303304,
"keyArticle": 0,
"likeNum": 0,
"pageId": null,
"parentCommentVo": null,
"parentId": -1,
"rootCommentId": 303304,
"sensitiveExist": 0,
"sensitiveShow": 1,
"shareInfo": {
"shareCoverUrl": "http://sitcontentjdcdn.aikan.pdnews.cn/zhbj-20231130/image/content/3e0cce06724740f0807ff0731c4a1d03/C4BC1C53-2B9C-4A54-BF95-044242D78260.jpg",
"shareSummary": "发布动态带活动13",
"shareTitle": "发布动态带活动13",
"shareUrl": "https://pd-people-sit.pdnews.cn/rmhmoments/30000650969"
},
"targetId": "30000650969",
"targetRelId": "500000013237",
"targetRelObjectId": "2058",
"targetRelType": 1,
"targetStatus": 0,
"targetTitle": "发布动态带活动13",
"targetType": 14,
"topicType": null,
"uuid": "ae2b2ece-d036-4b01-91e7-9708b0b5fe1c"
},
{
"avatarFrame": "",
"checkStatus": 2,
"commentContent": "你好我是游客",
"commentContentSensitive": "",
"commentLevel": 1,
"commentPics": "",
"commentSensitive": "",
"commentType": "2",
"createTime": "2024-01-27 14:24:19",
"fromCreatorId": "",
"fromDeviceId": "23c43f15-37e9-3f2d-9999-bd1abbb7e0ed",
"fromUserHeader": "https://sitcontentjdcdn.aikan.pdnews.cn/null20240127/1630371072/1706336907262.jpg?x-oss-process=image/resize,l_100/auto-orient,1/quality,q_90/format,jpg",
"fromUserId": "512157124138245",
"fromUserName": "树下🍑 1122334",
"fromUserType": 1,
"h5Url": "",
"id": 303302,
"keyArticle": 0,
"likeNum": 0,
"pageId": null,
"parentCommentVo": null,
"parentId": -1,
"rootCommentId": 303302,
"sensitiveExist": 0,
"sensitiveShow": 1,
"shareInfo": {
"shareCoverUrl": "http://sitcontentjdcdn.aikan.pdnews.cn/zhbj-20240127/image/content/e8d93872483a48c7a4eaa48f70211ab1.png",
"shareSummary": "人民日报,有品质的新闻",
"shareTitle": "“大学也有家长群",
"shareUrl": "https://pd-people-sit.pdnews.cn/column/30000723442-500000031275"
},
"targetId": "30000723442",
"targetRelId": "500000031275",
"targetRelObjectId": "2002",
"targetRelType": 1,
"targetStatus": 0,
"targetTitle": "“大学也有家长群",
"targetType": 8,
"topicType": null,
"uuid": "766a6bac-aa1d-4e88-a798-f19bade201ee"
}
],
"pageNum": 1,
"pageSize": 20,
"totalCommentNum": 12,
"totalCount": 12
},
"message": "Success",
"meta": null,
"requestId": "",
"success": true,
"timestamp": 1711440876958
}
\ No newline at end of file
... ...
{
"code": "0",
"data": [
{
"commentId": 403445,
"status": 1
},
{
"commentId": 303318,
"status": 0
},
{
"commentId": 303317,
"status": 0
},
{
"commentId": 403426,
"status": 1
},
{
"commentId": 403425,
"status": 0
},
{
"commentId": 403422,
"status": 0
},
{
"commentId": 303306,
"status": 0
},
{
"commentId": 403420,
"status": 0
},
{
"commentId": 403417,
"status": 0
},
{
"commentId": 303305,
"status": 0
},
{
"commentId": 303304,
"status": 0
},
{
"commentId": 303302,
"status": 0
}
],
"message": "Success",
"meta": null,
"requestId": "",
"success": true,
"timestamp": 1711440877105
}
\ No newline at end of file
... ...
{
"code": "0",
"data": {
"hasNext": 0,
"list": [
{
"attentionCreatorId": "3259284",
"attentionHeadPhotoUrl": "https://sitcontentjdcdn.aikan.pdnews.cn/vod/content/202401/20240127161739536/eUj.png?x-oss-process=image/resize,l_400/auto-orient,1/quality,q_90/format,jpg",
"attentionNum": 0,
"attentionUserId": "535571576006021",
"attentionUserName": "斯特的7778",
"attentionUserType": 2,
"authIcon": "",
"authId": 0,
"authPersional": "",
"authTitle": "",
"banControl": 0,
"categoryAuth": "",
"cnLiveCommentControl": 1,
"cnLiveGiftControl": 1,
"cnLiveLikeControl": 1,
"cnLiveShareControl": 1,
"cnShareControl": 1,
"collectNum": 1,
"commentNum": 0,
"createTime": 1706344099000,
"fansNum": 1,
"honoraryIcon": "",
"honoraryTitle": "",
"id": 100703,
"introduction": "暗黑世界顶级",
"isAttention": 0,
"isComment": 1,
"isLike": 1,
"isVisiable": 1,
"likeNum": 0,
"liveCommentControl": 1,
"liveGiftControl": 1,
"liveLikeControl": 1,
"liveShareControl": 1,
"mainControl": 1,
"posterShareControl": 0,
"registTime": 1706343790000,
"shareControl": 1,
"shareNum": 7,
"status": 1,
"subjectType": null,
"updateTime": 1706344099000,
"userId": "512157124138245",
"userType": 1
}
],
"pageNum": 1,
"pageSize": 20,
"totalCount": 1
},
"message": "Success",
"meta": null,
"requestId": "",
"success": true,
"timestamp": 1711441048304
}
\ No newline at end of file
... ...