diff --git a/frontend/src/pages/chat/search.vue b/frontend/src/pages/chat/search.vue
new file mode 100644
index 0000000..53e37d9
--- /dev/null
+++ b/frontend/src/pages/chat/search.vue
@@ -0,0 +1,217 @@
+
+
+
+
+
+
+ 🔍
+
+
+ 取消
+
+
+
+
+
+
+ 未找到相关消息
+
+
+
+
+
+
+
+ {{ (item.sender_nickname || '?')[0] }}
+
+
+
+ {{ item.sender_nickname || '未知用户' }}
+ {{ item.content }}
+ {{ item.created_at }}
+
+
+
+
+
+
+
+
+
diff --git a/frontend/src/pages/chat/settings.vue b/frontend/src/pages/chat/settings.vue
new file mode 100644
index 0000000..f053f99
--- /dev/null
+++ b/frontend/src/pages/chat/settings.vue
@@ -0,0 +1,186 @@
+
+
+
+
+
+
+
+
+ {{ (peerName || '?')[0] }}
+
+
+ {{ peerName || '未知用户' }}
+
+
+
+
+
+ {{ isPinned ? '取消置顶' : '置顶聊天' }}
+ {{ isPinned ? '已置顶' : '' }}
+
+
+
+
+
+ 清空聊天记录
+
+
+ 删除会话
+
+
+
+
+
+
+
+
diff --git a/frontend/src/pages/contact/detail.vue b/frontend/src/pages/contact/detail.vue
index e4619a0..d652596 100644
--- a/frontend/src/pages/contact/detail.vue
+++ b/frontend/src/pages/contact/detail.vue
@@ -136,7 +136,11 @@ const selectGroup = () => {
}
const sendMessage = () => {
- uni.showToast({ title: '聊天功能开发中', icon: 'none' })
+ const f = friend.value
+ if (!f) return
+ uni.navigateTo({
+ url: `/pages/chat/conversation?conversationId=0&peerId=${f.user_id}&peerName=${encodeURIComponent(f.remark || f.nickname || f.username)}&peerAvatar=${encodeURIComponent(f.avatar || '')}`
+ })
}
const handleBlock = () => {