feat(borrow): 全局待办强提醒(接收人不再处于盲区)
新增无渲染组件 PendingTransferNotifier,挂在 Layout(路由切换常驻、且只在
已登录区域渲染,天然保证「有 token 才查」)。
UI
----
ElNotification,type=warning、duration=0(不自动关闭,须用户处理或手动点掉):
标题:待办通知:借库转交
内容:您有 X 件物品等待接收确认,请及时处理。【去处理 >】
点击【去处理】关闭通知并 router.push('/operation/records')(借还记录页)。
message 用 VNode 构造而非 dangerouslyUseHTMLString —— 不必把数量拼进 HTML 字符串。
防骚扰(两道)
----
· 会话级去重:sessionStorage 记「上次已提醒过的数量」,只有数量**变化**才再弹。
用 sessionStorage 而非 Pinia —— 前者跨刷新存活,后者会重置,刷新即轰炸。
· 数量归零时清掉记录,下次新转交能重新提醒。
★ 加了 2 分钟低频轮询(超出需求所写,但需求目标需要它):
需求只要求「初始化时查一次」,而 SPA 只在首次进入时初始化 —— 已打开页面的
用户永远收不到提醒,与「第一时间响应」的目标相悖。有去重逻辑兜底,
轮询不会造成重复打扰。不需要的话删掉定时器即可。
错误一律静默:提醒是锦上添花,不能因接口抖动弹错误框刷屏。
验证:去重状态机用 node 复刻验证 —— 3→2→1 各弹一次,刷新与轮询均不重复,
归零后再来新转交能重新提醒。
This commit is contained in:
@ -8,6 +8,10 @@
|
||||
|
||||
<!-- 全局规格连号助手 -->
|
||||
<SpecHelper />
|
||||
|
||||
<!-- 全局待办强提醒:借库转交的接收人若不来查看,责任会一直悬空。
|
||||
Layout 常驻(路由切换不卸载),轮询定时器放这里最稳。 -->
|
||||
<PendingTransferNotifier />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -15,6 +19,7 @@
|
||||
import Sidebar from './components/Sidebar/index.vue'
|
||||
import AppMain from './components/AppMain.vue'
|
||||
import SpecHelper from '@/components/SpecHelper/index.vue'
|
||||
import PendingTransferNotifier from '@/components/PendingTransferNotifier/index.vue'
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
Reference in New Issue
Block a user