yangchenggong1_wd

desc:预约消息

... ... @@ -3,6 +3,7 @@ import { WDRouterPage, WDRouterRule } from 'wdRouter/Index'
import { WDMessageCenterMessageType } from '../../../model/InteractMessageModel'
import MinePageDatasModel from '../../../model/MinePageDatasModel'
import { MessageItem } from '../../../viewmodel/MessageItem'
import { CustomPullToRefresh } from '../../reusable/CustomPullToRefresh'
import { CustomTitleUI } from '../../reusable/CustomTitleUI'
import { MessageListItemUI } from './MessageListItemUI'
... ... @@ -11,6 +12,7 @@ const TAG = "MessageListUI"
@Component
export struct MessageListUI {
@State msgData: MessageItem[] = []
private scroller: Scroller = new Scroller();
aboutToAppear() {
this.msgData = MinePageDatasModel.getMessageData()
... ... @@ -138,7 +140,27 @@ export struct MessageListUI {
//标题栏目
CustomTitleUI({ titleName: "消息" })
List() {
CustomPullToRefresh({
alldata:this.msgData,
scroller:this.scroller,
customList:()=>{
this.ListLayout()
},
onRefresh:(resolve)=>{
if(resolve) resolve('刷新成功')
},
onLoadMore:(resolve)=> {
}
})
}
.backgroundColor($r('app.color.white'))
.height('100%')
.width('100%')
}
@Builder ListLayout(){
List({scroller: this.scroller}) {
ForEach(this.msgData, (item: MessageItem, index: number) => {
ListItem() {
MessageListItemUI({ item: item, index: index })
... ... @@ -169,14 +191,21 @@ export struct MessageListUI {
})
}
}
.backgroundColor($r('app.color.white'))
.height('100%')
.width('100%')
}
sendEnterEvent(type:number){
MinePageDatasModel.sendEnterMessageData(type).then((value) => {
console.log(TAG, "消息已读")
this.msgData.forEach((item) => {
if (item.title == "预约消息" && type === 2) {
if(item.unReadCount > 0){
item.unReadCount = 0
}
}else if(item.title == "互动消息" && type === 1){
if(item.unReadCount > 0){
item.unReadCount = 0
}
}
})
}).catch((err: Error) => {
console.log(TAG, JSON.stringify(err))
})
... ...
... ... @@ -2,6 +2,7 @@ import { LazyDataSource, StringUtils } from 'wdKit/Index';
import { Remark, SubscribeMessageModel,
WDMessageCenterMessageType } from '../../../../model/InteractMessageModel';
import MinePageDatasModel from '../../../../model/MinePageDatasModel';
import { CustomPullToRefresh } from '../../../reusable/CustomPullToRefresh';
import { CustomTitleUI } from '../../../reusable/CustomTitleUI';
import { ListHasNoMoreDataUI } from '../../../reusable/ListHasNoMoreDataUI';
import { EmptyComponent } from '../../../view/EmptyComponent';
... ... @@ -17,6 +18,7 @@ export struct SubscribeMessageComponent{
@State hasMore: boolean = true
curPageNum: number = 1;
@State isGetRequest: boolean = false
private scroller: Scroller = new Scroller();
aboutToAppear() {
this.getNewPageData()
... ... @@ -32,19 +34,44 @@ export struct SubscribeMessageComponent{
.height('100%')
.width('100%')
}
} else {
//刷新控件 TODO
//List
List() {
CustomPullToRefresh({
alldata:this.data,
scroller:this.scroller,
customList:()=>{
this.ListLayout()
},
onRefresh:(resolve)=>{
this.curPageNum = 1;
this.hasMore = true
this.isGetRequest = false
this.data.clear()
if (!this.isLoading) {
this.getNewPageData()
}
if(resolve) resolve('刷新成功')
},
onLoadMore:(resolve)=> {
if (!this.isLoading) {
//加载分页数据
this.getNewPageData()
}
}
})
}
}
.backgroundColor($r('app.color.color_F9F9F9'))
.height('100%')
.width('100%')
}
@Builder ListLayout(){
List({scroller: this.scroller}) {
LazyForEach(this.data, (item: SubscribeMessageModel, index: number) => {
ListItem() {
SubscribeListChildComponent({ item: item })
}.width('100%')
.onClick(() => {
})
})
//没有更多数据 显示提示
if (!this.hasMore) {
ListItem() {
... ... @@ -55,17 +82,6 @@ export struct SubscribeMessageComponent{
.cachedCount(4)
.scrollBar(BarState.Off)
.layoutWeight(1)
.onReachEnd(() => {
if (!this.isLoading) {
//加载分页数据
this.getNewPageData()
}
})
}
}
.backgroundColor($r('app.color.color_F9F9F9'))
.height('100%')
.width('100%')
}
getNewPageData() {
... ...