feat(shopOrder): 实现电脑版后台全局新订单红点提示
- 新建模块级全局单例 useOrderNotify,统一轮询检测新订单,避免多组件重复请求 - 轮询检测到新订单时触发叮声、语音播报,通知所有已注册回调刷新数据 - 订单管理菜单及 dashboard 快速入口显示红点提示新订单未查看 - 进入订单列表页时调用 clearBadge 同步最新订单ID并清除红点,标记订单已查看 - layout 全局启动新订单提醒,任意页面均生效 - menu-title 组件新增纯红点(dot)徽章显示支持 - dashboard 快速入口图标加红点显示及脉冲动画,提升视觉提示效果 - 维护新订单提醒回调集合,组件卸载自动移除回调避免内存泄漏 - 新订单提醒配置项和状态均为模块共享响应式,支持多组件无冲突使用
This commit is contained in:
@@ -100,6 +100,7 @@
|
||||
import HeaderTools from './components/header-tools.vue';
|
||||
import PageFooter from './components/page-footer.vue';
|
||||
import MenuTitle from './components/menu-title.vue';
|
||||
import { useOrderNotify } from '@/views/shop/shopOrder/useOrderNotify';
|
||||
import {
|
||||
HIDE_SIDEBARS,
|
||||
HIDE_FOOTERS,
|
||||
@@ -127,6 +128,11 @@
|
||||
const { t, locale } = useI18n();
|
||||
const userStore = useUserStore();
|
||||
|
||||
// 全局启动新订单提醒:任意页面都会轮询检测新订单,
|
||||
// 检测到后在「订单管理」菜单显示红点 + 叮声/语音播报
|
||||
const { start: startOrderNotify } = useOrderNotify();
|
||||
startOrderNotify();
|
||||
|
||||
// 是否刷新页面
|
||||
if (localStorage.getItem('Reload')) {
|
||||
window.location.reload();
|
||||
|
||||
Reference in New Issue
Block a user