@wenbin_wb/dsh-bridge 1.2.2 → 1.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/wechat/node.js +15 -1
- package/package.json +1 -1
package/lib/wechat/node.js
CHANGED
|
@@ -898,7 +898,7 @@ async function routeCommand(node, text) {
|
|
|
898
898
|
return true
|
|
899
899
|
case 'use': {
|
|
900
900
|
const index = Number(rest[0])
|
|
901
|
-
const sessions = await listSessions(node)
|
|
901
|
+
const sessions = sessionsInDisplayOrder(await listSessions(node))
|
|
902
902
|
if (!Number.isInteger(index) || index < 1 || index > sessions.length) {
|
|
903
903
|
await sendTextToPeer(node, `${MARK.err} 无效编号。可用: 1–${sessions.length}(/sessions 查看列表)`)
|
|
904
904
|
return true
|
|
@@ -1017,6 +1017,19 @@ async function renderSessions(node) {
|
|
|
1017
1017
|
return `${MARK.list}\n${parts.join('\n')}`
|
|
1018
1018
|
}
|
|
1019
1019
|
|
|
1020
|
+
// 与 renderSessions 完全一致的显示顺序:按工作区字母序分组、组内保持 listSessions 顺序。
|
|
1021
|
+
// /use N 用这个数组索引,保证显示的编号 N 与切换的会话一一对应。
|
|
1022
|
+
function sessionsInDisplayOrder(all) {
|
|
1023
|
+
const groups = new Map()
|
|
1024
|
+
for (const s of all) {
|
|
1025
|
+
const key = s.cwd || '(未指定)'
|
|
1026
|
+
if (!groups.has(key)) groups.set(key, [])
|
|
1027
|
+
groups.get(key).push(s)
|
|
1028
|
+
}
|
|
1029
|
+
const sortedGroups = [...groups.entries()].sort((a, b) => String(a[0]).localeCompare(String(b[0])))
|
|
1030
|
+
return sortedGroups.flatMap(([, sessions]) => sessions)
|
|
1031
|
+
}
|
|
1032
|
+
|
|
1020
1033
|
// 时间戳 → 可读时间
|
|
1021
1034
|
function fmtTime(ms) {
|
|
1022
1035
|
try {
|
|
@@ -1056,6 +1069,7 @@ export const wechatNodeHelpers = {
|
|
|
1056
1069
|
extractText,
|
|
1057
1070
|
isGroupMessage,
|
|
1058
1071
|
listSessions,
|
|
1072
|
+
sessionsInDisplayOrder,
|
|
1059
1073
|
}
|
|
1060
1074
|
|
|
1061
1075
|
function sleep(ms) {
|
package/package.json
CHANGED