Files
yunke/yunkes/src/components/staffchat/ChatMain.vue
T
浅念 eb0388c8b0 feat(staffchat): 页面骨架+左侧资料卡/5导航/折叠(三栏布局对齐云客)
- 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>
2026-08-25 17:03:19 +08:00

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>