From fa2c6c2f07bcd7f617678bddcf95b4798bc05a20 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 6 Sep 2026 13:18:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BC=9A=E8=AE=AE=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E9=A1=B5=E5=93=8D=E5=BA=94=E4=BC=9A=E8=AE=AE=E5=90=8E?= =?UTF-8?q?toast=E6=96=87=E6=A1=88"=E5=B7=B2=E5=B7=B2=E6=8E=A5=E5=8F=97"/"?= =?UTF-8?q?=E5=B7=B2=E5=B7=B2=E6=8B=92=E7=BB=9D"=E9=87=8D=E5=A4=8D"?= =?UTF-8?q?=E5=B7=B2"=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit MeetingDetail.respond()提交回应成功后用 `已${RESPONSE_LABEL[response]}` 拼toast文案, 但RESPONSE_LABEL的accepted/declined两项本身已经是"已接受"/"已拒绝"(给参与人列表 徽标用的),再拼一次"已"前缀就变成"已已接受"/"已已拒绝";tentative没有"已"前缀, 拼出来是"已待定",语义也不通顺。同页面另一个响应入口MeetingCard.respond() 早就手写了三条正确文案(已接受会议邀请/已拒绝会议邀请/已标记为待定), 两处本应一致却各写一套。 改为复用MeetingCard已有的正确文案,不再从RESPONSE_LABEL派生。 已用kcg051307发起、asn494180作为参会人的3场真实会议在浏览器逐一实测三种回应, 确认toast分别正确显示"已接受会议邀请"/"已拒绝会议邀请"/"已标记为待定"。 Co-Authored-By: Claude Sonnet 5 --- src/views/workplace-collaboration-view.jsx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/views/workplace-collaboration-view.jsx b/src/views/workplace-collaboration-view.jsx index 04984714..7fc1fba7 100644 --- a/src/views/workplace-collaboration-view.jsx +++ b/src/views/workplace-collaboration-view.jsx @@ -400,8 +400,15 @@ function MeetingDetail({hashParams, onToast}) { }; const respond = response => { setBusy(true); + // Live-repro'd (round 14): RESPONSE_LABEL's 'accepted'/'declined' entries are already prefixed + // ("已接受"/"已拒绝") for use as the disabled-button/participant-badge label elsewhere on this + // page -- reusing it here with an extra literal "已" in front produced a toast reading "已已接受"/ + // "已已拒绝" (and a slightly-off "已待定" for tentative, since that entry has no "已" to double up + // with). MeetingCard's own respond() (this same action, reached from the list card instead of this + // detail page) already had correct, un-doubled wording for all three -- reuse that instead of + // re-deriving new strings from RESPONSE_LABEL. getMeeting(meeting.meeting_id).then(fresh => respondMeeting(fresh.meeting_id, response, fresh.version)) - .then(_ => { onToast(RESPONSE_LABEL[response] ? `已${RESPONSE_LABEL[response]}` : '已回应'); load(); }) + .then(_ => { onToast(response === 'accepted' ? '已接受会议邀请' : response === 'declined' ? '已拒绝会议邀请' : '已标记为待定'); load(); }) .catch(err => onToast(err.message || '操作失败')).finally(() => setBusy(false)); };