提供普瑞互联网医院智慧医院小程序 V2.0 的消息列表、分类筛选、消息详情、已读/删除、未读徽标和动态跳转白名单能力。
系统 MUST 提供 pages/tabBar/message/message 一级 tab,支持:
03100201 获取消息列表与未读数;请求参数至少包含 receiveUser, receiveTypeCode, hospCode, messageTypeCode,分页参数 pageNo / pageSize。messageList, unreadNmber, unreadObj, remainingQty。messageTypeCode 关键词归一,未命中归入"其他"。remainingQty === 0 时停止触底。appReady=true, hospitalReady=trueonShow 触发fetchMessageList({ messageTypeCode: '' }) 与 fetchHomeUnreadCount();未读数写入 tabBarSettings.messageUnreadCount 并 getTabBar().refresh()。fetchMessageList({ messageTypeCode: <缴费 code> }),列表与 chip 选中态同步更新,未读徽标按 categorizeMessageType 重算。系统 MUST 提供 pages/message/messageDetail/messageDetail 二级页:
messageID(单条)/ messageTypeCode(分类),可附带 jumpPages。03100098 标记已读;失败保留未读态并展示重试。messageJumpRouter.resolveJumpTarget(jumpPages);命中走白名单,未命中走兜底。messageIDonLoadmarkMessageRead({ messageID }),同时渲染消息体;若 jumpPages 存在则底部展示"查看原文"。messageTypeCode,无 messageIDonLoadfetchMessageList({ messageTypeCode }) 渲染分类列表;底部不展示"查看原文"。03100098 支持消息已读/已处理。onLoad 自动调用;列表长按菜单也可手动调用。markMessageRead({ messageID }) 调用成功03100212 支持删除消息。wx.showModal 二次确认,标题"确认删除",内容"删除后将不再展示该消息"。jumpPages MUST 经过 utils/messageJumpRouter.js 的 resolveJumpTarget(jumpPages)。eventCode === '2004' → /pages/tabBar/order/order;否则 routePath 必须在 utils/homeRoute.js 的白名单内。01030009 菜单:仅渲染 routePath 在白名单内的项;其余项隐藏。{ eventCode: '2004', params: { ... } }resolveJumpTarget 返回 { kind: 'tab', path: '/pages/tabBar/order/order', params },调用 navigateToRoute 走 wx.switchTab。{ routePath: '/pages/unknown/page' }resolveJumpTarget 返回 null;调用方展示 wx.showToast({ title: '暂不支持打开该消息', icon: 'none' })。unreadBadge.syncMessageUnread(count) 写入 getApp().globalData.tabBarSettings.messageUnreadCount。getTabBar().refresh() 刷新徽标。syncMessageUnread(count)