From 0fb8b98c729d8625d4be6172dc7634cb059c37cb Mon Sep 17 00:00:00 2001 From: iven Date: Fri, 1 May 2026 18:18:51 +0800 Subject: [PATCH] =?UTF-8?q?feat(miniprogram):=20=E9=80=9A=E7=9F=A5=20Tab?= =?UTF-8?q?=20=E5=AF=B9=E6=8E=A5=20erp-message=20=E6=B6=88=E6=81=AF=20API?= =?UTF-8?q?=20=E2=80=94=20=E6=9B=BF=E6=8D=A2=E7=A9=BA=E5=A3=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/miniprogram/src/pages/messages/index.tsx | 6 +++--- apps/miniprogram/src/services/notification.ts | 12 ++++++++++++ 2 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 apps/miniprogram/src/services/notification.ts diff --git a/apps/miniprogram/src/pages/messages/index.tsx b/apps/miniprogram/src/pages/messages/index.tsx index adb5126..6253c76 100644 --- a/apps/miniprogram/src/pages/messages/index.tsx +++ b/apps/miniprogram/src/pages/messages/index.tsx @@ -2,6 +2,7 @@ import { useState } from 'react'; import { View, Text } from '@tarojs/components'; import Taro, { useDidShow } from '@tarojs/taro'; import { listConsultations, ConsultationSession } from '../../services/consultation'; +import { notificationService } from '../../services/notification'; import Loading from '../../components/Loading'; import './index.scss'; @@ -32,9 +33,8 @@ export default function Messages() { const res = await listConsultations({ page: 1, page_size: 20 }); setSessions(res.data || []); } else { - // 通知目前从咨询中提取状态变化作为示例 - // 后续可对接独立通知 API - setNotifications([]); + const res = await notificationService.list<{ data: unknown[] }>({ page: 1, page_size: 20 }); + setNotifications((res as { data?: unknown[] })?.data || []); } } catch { if (tab === 'consultation') setSessions([]); diff --git a/apps/miniprogram/src/services/notification.ts b/apps/miniprogram/src/services/notification.ts new file mode 100644 index 0000000..50cb0e9 --- /dev/null +++ b/apps/miniprogram/src/services/notification.ts @@ -0,0 +1,12 @@ +import { api } from './request'; + +export const notificationService = { + list: (params?: { page?: number; page_size?: number }) => + api.get('/messages', params as Record), + markRead: (id: string) => + api.put(`/messages/${id}/read`), + markAllRead: () => + api.put('/messages/read-all'), + getUnreadCount: () => + api.get('/messages/unread-count'), +};