eb0388c8b0
- StaffChat.vue: 路由驱动 tab(single/group/moments/contacts/stats)+折叠态, 三栏 flex(左栏240/中列280/右列flex:1,高calc(100vh-120px));资料卡走 getAccounts(channel=wechat) 按 account_id 匹配,失败退 ownerId 兜底 - StaffChatSide.vue: 员工资料卡(头像/昵称/真名·电话/微信号)+竖排5导航+ 底部收起;墨玉主题沿用 ChatSidebar 手法(点阵底/玉绿渐变分隔线/药丸按钮) - 5 占位组件(SessionPane/ChatMain/MomentsPane/ContactsPane/StatsPane), defineProps/defineEmits 签名按 Task 10-14 锁定 - relativeChatTime 签名可空友好(ms?: number|null,null→''),spec+1例 Co-Authored-By: Claude <noreply@anthropic.com>
14 lines
377 B
Vue
14 lines
377 B
Vue
<!-- 占位组件: Task 11 实现聊天窗口(消息流+定位 msgid),签名锁定如下。 -->
|
|
<script setup lang="ts">
|
|
defineProps<{
|
|
ownerId: string
|
|
/** single=单聊(talkerId=客户 wxid), group=群聊(talkerId=room_id) */
|
|
kind: 'single' | 'group'
|
|
talkerId: string
|
|
}>()
|
|
</script>
|
|
|
|
<template>
|
|
<div class="yk-empty">聊天窗口 — Task 11 实现</div>
|
|
</template>
|