diff --git a/src/assets/config/modules.ts b/src/assets/config/modules.ts index 45a5de6..0150b98 100644 --- a/src/assets/config/modules.ts +++ b/src/assets/config/modules.ts @@ -12,6 +12,9 @@ import conf from "@/assets/config/host.config"; export const MODULE_CONTEXT: Record = { homeleave: "home-leave", campusnotice: "campusnotice", + // ★ 通知公告(NoticeFront)与校园公告(CampusAnnouncement)是**两个应用**: + // 模块 key 都叫「公告」,但前缀 /notice ≠ /campusnotice,字段与权限也不同。 + notice: "notice", dormnotice: "dormnotice", familyactivity: "familyactivity", coursehomework: "coursehomework", @@ -22,6 +25,7 @@ export const MODULE_CONTEXT: Record = { export const MODULE_LABEL: Record = { homeleave: "学生请假", campusnotice: "校园公告", + notice: "通知公告", dormnotice: "宿舍通知", familyactivity: "家校活动", coursehomework: "课程作业", @@ -41,6 +45,8 @@ export const MODULE_LABEL: Record = { export const MODULE_LANDING: Record = { homeleave: "/my", campusnotice: "/", + // 通知公告路由见 NoticeFront/src/router/routes.ts:「/」是「已收到」(收件箱) + notice: "/", dormnotice: "/par/notices", familyactivity: "/par/activities", coursehomework: "/stu/today", @@ -57,6 +63,7 @@ export const MODULE_LANDING: Record = { export const MODULE_META: Record = { homeleave: { icon: "假", tone: "blue", sample: "我要请假" }, campusnotice: { icon: "公", tone: "violet", sample: "我有哪些未读的校园公告?" }, + notice: { icon: "通", tone: "cyan", sample: "我有哪些未读的通知?" }, dormnotice: { icon: "舍", tone: "teal", sample: "宿舍有什么通知需要我回执吗?" }, familyactivity: { icon: "活", tone: "amber", sample: "报名秋季亲子运动会,2 人参加" }, coursehomework: { icon: "作", tone: "rose", sample: "看看我还有哪些作业没做" }, @@ -74,6 +81,7 @@ export const MODULE_META: Record(); const PRESET_TEXT: Record = { homeleave: { title: "我要请假", desc: "说清类型与时间,直接提交", text: "我要请假" }, campusnotice: { title: "有什么新公告", desc: "查看未读校园公告", text: "我有哪些未读的校园公告?" }, + // 通知公告是另一个应用(NoticeFront):按「用户」下发,没有审批/草稿/推送范围 + notice: { title: "通知公告", desc: "查看未读通知 / 发布通知", text: "我有哪些未读的通知?" }, dormnotice: { title: "宿舍通知回执", desc: "查看待回执的宿舍通知", text: "宿舍有什么通知需要我回执吗?" }, familyactivity: { title: "报名校园活动", desc: "活动广场报名,一次填清", text: "报名秋季亲子运动会,2 人参加" }, coursehomework: { title: "今天有什么作业", desc: "查看待做作业与截止时间", text: "看看我还有哪些作业没做" }, diff --git a/src/views/Chat.vue b/src/views/Chat.vue index b0391b7..d06d3c3 100644 --- a/src/views/Chat.vue +++ b/src/views/Chat.vue @@ -54,6 +54,10 @@ const EXAMPLES: { text: string; module: string; tool?: string }[] = [ { text: "我要发布校园公告", module: "campusnotice", tool: "notice.publish" }, { text: "发一条关于社团招新的通知", module: "campusnotice", tool: "notice.publish" }, { text: "这周有什么新的校园公告?", module: "campusnotice", tool: "notice.received" }, + // 教师:说「我要发布通知公告」直接弹**通知公告**的发布表单(按用户下发,无审批/草稿)。 + // ★ 必须带「通知公告」后缀 —— 光说「发通知」在两个公告模块之间是有歧义的。 + { text: "我要发布通知公告", module: "notice", tool: "notify.publish" }, + { text: "我有哪些未读的通知?", module: "notice", tool: "notify.received" }, { text: "提交数学作业", module: "coursehomework", tool: "homework.submit" }, { text: "看看我还有哪些作业没做", module: "coursehomework", tool: "homework.myList" }, // 教师/宿管:说"我要发布宿舍通知"直接弹发布表单(标题/正文/通知类型/发文部门/回执方式) @@ -88,7 +92,7 @@ const placeholder = computed(() => { /** 边说边提示:命中关键词时告诉用户"这样说更准" */ const TIPS: { key: RegExp; text: string }[] = [ { key: /请假|病假|事假/, text: "直接说「我要请假」就会弹出请假表单;也可以一次说全:10月12日上午病假,发烧就医" }, - { key: /公告|通知/, text: "直接说「我要发布校园公告」就会弹出发布表单(标题 + 正文 + 发文部门);也可以一次说全:发一条关于运动会的通知" }, + { key: /公告|通知/, text: "「校园公告」和「通知公告」是两个模块,说全称最稳:说「我要发布校园公告」/「我要发布通知公告」会直接弹出各自的发布表单" }, { key: /作业|作答|提交作/, text: "可以说「我有哪些作业没做」,或「提交数学作业」,我会列出作业让你选" }, { key: /宿舍|回执|床位|调宿/, text: "教师说「我要发布宿舍通知」直接弹发布表单;也可问「这条通知还有谁没回执」「304 房住了谁」" }, { key: /报名|活动/, text: "家长说「报名秋季亲子运动会,2 人参加」;教师说「我要发布活动」直接弹发布表单,或问「报名情况怎么样」" }, diff --git a/vite.config.ts b/vite.config.ts index d611e29..c1abe80 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -98,6 +98,9 @@ export default defineConfig((): UserConfig => { // (请假的佐证材料就曾因为拼成 /homeleave/api/base/FileUpload 而 404,直到上线才发现)。 "/home-leave": { target: "http://localhost:8093", changeOrigin: true }, "/campusnotice": { target: "http://localhost:8093", changeOrigin: true }, + // 通知公告:与「校园公告」是两个应用 —— 它是 notice(前缀 /notice), + // 而校园公告是 campusnotice(前缀 /campusnotice)。key 与前缀同名,仍显式列出。 + "/notice": { target: "http://localhost:8093", changeOrigin: true }, "/dormnotice": { target: "http://localhost:8093", changeOrigin: true }, "/familyactivity": { target: "http://localhost:8093", changeOrigin: true }, "/coursehomework": { target: "http://localhost:8093", changeOrigin: true },