From 9e08cba05a8629e2f3a8a0fca5d3ccc941c3dbd8 Mon Sep 17 00:00:00 2001
From: jiangchen <1703935164@qq.com>
Date: Tue, 1 Sep 2026 23:08:07 +0800
Subject: [PATCH] feat: keyboard numbers row + Chinese phrase keys;
auto-collapse keyboard when leaving chat
---
src/pages/index/index.ux | 62 ++++++++++++++++++++++++++++++++++------
1 file changed, 54 insertions(+), 8 deletions(-)
diff --git a/src/pages/index/index.ux b/src/pages/index/index.ux
index c2ad13f..5813ed0 100644
--- a/src/pages/index/index.ux
+++ b/src/pages/index/index.ux
@@ -6,14 +6,15 @@
选择对话
-
DeepSeek_Harness_Watch
-
小米手环10 Pro远程控制
-
DSHWatch 验收
-
reactor
-
任务-001
-
任务-002
-
truestudio.online
-
评估-今天
+
+
工作区
+
+
📁 {{$item.name}}
+
+ {{$item.title}}
+ {{$item.time}}
+
+
@@ -134,6 +135,15 @@
zxcvbnm
+
+ 1234567890
+
+
+ 帮我看看任务
+ 总结一下
+ 停止
+ 继续
+
空格
退格
@@ -223,6 +233,12 @@ export default {
{ name:'reactor', conversations:['任务-001','任务-002'] },
{ name:'truestudio.online', conversations:['评估-今天'] }
],
+ workTree: [
+ { name:'DeepSeek_Harness_Watch', convs:[ { title:'小米手环10 Pro远程控制', time:'刚刚' }, { title:'DSHWatch 验收', time:'1小时' } ] },
+ { name:'reactor', convs:[ { title:'排查Git文件乱码问题', time:'15天' } ] },
+ { name:'project', convs:[ { title:'修改API配置为固定密钥', time:'8天' }, { title:'检测DeepSeek API可用性', time:'9天' } ] },
+ { name:'truestudio.online', convs:[ { title:'评估一下项目状态', time:'9天' } ] }
+ ],
currentConv: '小米手环10 Pro远程控制',
showSelect: false,
inputText: '',
@@ -308,6 +324,12 @@ export default {
onSwipeChange(e) {
if (e && typeof e.index === 'number') {
this.currentIndex = e.index
+ // 离开对话页(index 1)自动收起键盘/选择器
+ if (this.currentIndex !== 1) {
+ this.showKeyboard = false
+ this.showOptionPicker = false
+ this.showFontPicker = false
+ }
}
},
@@ -326,6 +348,20 @@ export default {
this.showSelect = false
},
+ newSession() {
+ this.currentConv = '新会话'
+ this.currentIndex = 1
+ },
+
+ cycleConv() {
+ const titles = []
+ for (const ws of this.workTree) {
+ for (const c of ws.convs) titles.push(c.title)
+ }
+ const idx = titles.indexOf(this.currentConv)
+ this.currentConv = titles[(idx + 1) % titles.length]
+ },
+
toggleThink(index) {
const m = this.messages[index]
if (m) m.showThink = !m.showThink
@@ -354,6 +390,10 @@ export default {
this.inputText = (this.inputText + ch).slice(0, 80)
},
+ kbPhrase(ph) {
+ this.inputText = (this.inputText + ph).slice(0, 80)
+ },
+
kbSpace() {
this.inputText = (this.inputText + ' ').slice(0, 80)
},
@@ -1021,6 +1061,12 @@ export default {
width: 64px;
}
+.kb-phrase {
+ width: auto;
+ min-width: 56px;
+ padding: 0 6px;
+}
+
.kb-send {
background-color: #33b4ff;
color: #08131f;