diff --git a/docs/superpowers/plans/2026-06-27-message-card-component.md b/docs/superpowers/plans/2026-06-27-message-card-component.md new file mode 100644 index 0000000..66504f8 --- /dev/null +++ b/docs/superpowers/plans/2026-06-27-message-card-component.md @@ -0,0 +1,658 @@ +--- +author: claude +created_at: 2026-06-27 +purpose: MessageCard 组件统一提取实现计划 +--- + +# MessageCard 组件统一实现计划 + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** 提取 MessageCard.vue 组件,统一 story-card 和 result-chat-list 中 AI 消息卡片的样式,并按 100 字阈值自动切换短消息/完整卡片模式 + +**Architecture:** 新建 `MessageCard.vue` 组件封装长消息卡片结构,ScriptView.vue 中 story-card 和 result-chat-list 都复用该组件,短消息直接渲染简洁气泡 + +**Tech Stack:** Vue 3, UniApp, 微信小程序 + +--- + +## 文件结构 + +**创建:** +- `mini-program/src/components/MessageCard.vue` - 通用 AI 消息卡片组件 + +**修改:** +- `mini-program/src/pages/main/ScriptView.vue` - 替换 story-card 和 result-chat-list 中的 assistant 消息渲染,并迁移相关样式 + +--- + +### Task 1: 创建 MessageCard.vue 组件(短消息模式 + 基础结构) + +**Files:** +- Create: `mini-program/src/components/MessageCard.vue` +- Modify: 无 + +- [ ] **Step 1: 创建组件文件并写入基础模板** + +在 `mini-program/src/components/MessageCard.vue` 写入以下内容: + +```vue + + + + + +``` + +- [ ] **Step 2: 验证组件文件创建成功** + +确认文件路径:`mini-program/src/components/MessageCard.vue` 存在。 + +```bash +ls "G:/IdeaProjects/emotion-museun/mini-program/src/components/MessageCard.vue" +``` + +- [ ] **Step 3: 提交组件创建** + +```bash +cd "G:/IdeaProjects/emotion-museun" +git add mini-program/src/components/MessageCard.vue +git commit -m "feat: 创建 MessageCard 组件 + +封装长消息/故事卡片结构,支持短消息简洁气泡模式" +``` + +--- + +### Task 2: 在 ScriptView.vue 中注册并使用 MessageCard 组件 + +**Files:** +- Modify: `mini-program/src/pages/main/ScriptView.vue` + +- [ ] **Step 1: 导入组件** + +在 `ScriptView.vue` 的 `