yangchenggong1_wd

desc:预约消息

1 import { DateTimeUtils, StringUtils, ToastUtils } from 'wdKit/Index' 1 import { DateTimeUtils, StringUtils, ToastUtils } from 'wdKit/Index'
2 import { WDRouterPage, WDRouterRule } from 'wdRouter/Index' 2 import { WDRouterPage, WDRouterRule } from 'wdRouter/Index'
  3 +import { WDMessageCenterMessageType } from '../../../model/InteractMessageModel'
3 import MinePageDatasModel from '../../../model/MinePageDatasModel' 4 import MinePageDatasModel from '../../../model/MinePageDatasModel'
4 import { MessageItem } from '../../../viewmodel/MessageItem' 5 import { MessageItem } from '../../../viewmodel/MessageItem'
5 import { CustomTitleUI } from '../../reusable/CustomTitleUI' 6 import { CustomTitleUI } from '../../reusable/CustomTitleUI'
@@ -146,9 +147,15 @@ export struct MessageListUI { @@ -146,9 +147,15 @@ export struct MessageListUI {
146 .onClick(() => { 147 .onClick(() => {
147 switch (index) { 148 switch (index) {
148 case 0: //互动消息 149 case 0: //互动消息
  150 + if(item.unReadCount > 0){
  151 + this.sendEnterEvent(WDMessageCenterMessageType.WDMessageCenterMessageType_Interact)
  152 + }
149 WDRouterRule.jumpWithPage(WDRouterPage.interactMessagePage) 153 WDRouterRule.jumpWithPage(WDRouterPage.interactMessagePage)
150 break; 154 break;
151 case 1: //预约消息 155 case 1: //预约消息
  156 + if(item.unReadCount > 0){
  157 + this.sendEnterEvent(WDMessageCenterMessageType.WDMessageCenterMessageType_Subscribe)
  158 + }
152 WDRouterRule.jumpWithPage(WDRouterPage.subscribeMessagePage) 159 WDRouterRule.jumpWithPage(WDRouterPage.subscribeMessagePage)
153 break; 160 break;
154 case 2: //历史推送 161 case 2: //历史推送
@@ -166,4 +173,12 @@ export struct MessageListUI { @@ -166,4 +173,12 @@ export struct MessageListUI {
166 .height('100%') 173 .height('100%')
167 .width('100%') 174 .width('100%')
168 } 175 }
  176 +
  177 + sendEnterEvent(type:number){
  178 + MinePageDatasModel.sendEnterMessageData(type).then((value) => {
  179 + console.log(TAG, "消息已读")
  180 + }).catch((err: Error) => {
  181 + console.log(TAG, JSON.stringify(err))
  182 + })
  183 + }
169 } 184 }
@@ -701,6 +701,29 @@ class MinePageDatasModel{ @@ -701,6 +701,29 @@ class MinePageDatasModel{
701 }; 701 };
702 702
703 703
  704 + /**
  705 + * 点击预约消息(进入预约页面) 主要为了 未读 变出 已读
  706 + * @returns
  707 + */
  708 + sendEnterMessageData(type:number): Promise<String> {
  709 + return new Promise<String>((success, error) => {
  710 + this.fetchEnterMessageData(type).then((navResDTO: ResponseDTO<String>) => {
  711 + if (!navResDTO || navResDTO.code != 0) {
  712 + error(null)
  713 + return
  714 + }
  715 + success("1");
  716 + }).catch((err: Error) => {
  717 + error(err)
  718 + })
  719 + })
  720 + }
  721 +
  722 + fetchEnterMessageData(type:number) {
  723 + let url = HttpUrlUtils.getEnterClickMessageUrl() + `${type}`
  724 + return WDHttp.get<ResponseDTO<String>>(url)
  725 + };
  726 +
704 } 727 }
705 728
706 const minePageDatasModel = MinePageDatasModel.getInstance() 729 const minePageDatasModel = MinePageDatasModel.getInstance()
1 import { SubscribeMessageComponent } from '../components/mine/message/subscribe/SubscribeMessageComponent' 1 import { SubscribeMessageComponent } from '../components/mine/message/subscribe/SubscribeMessageComponent'
2 2
  3 +const TAG = "SubscribeMessagePage"
3 //预约消息 页面 4 //预约消息 页面
4 @Entry 5 @Entry
5 @Component 6 @Component