+
-
{channel.name}
-
{ago(channel.last_seen_at)}
+
+ {QR_TEXT[qrStatus] ?? "等扫码结果…"}
+
+
+ 二维码 5 分钟内有效。扫完手机上会问「是否允许登录」,点确认就配好了。
+
+ {qrStatus === "expired" || qrStatus === "error" ? (
+
+ ) : null}
-
- {channel.status === "active" ? "接收中" : "已停用"}
-
- {canManage ? (
-
-
-
-
-
+
+
+ ) : null}
+
+ {channel ? (
+
+
+
+
+
+
+
+ {channel.name || "微信"}
+
+ {channel.polling ? 正在接收 : null}
- ) : null}
+
+ {channel.status === "active"
+ ? ago(channel.last_seen_at)
+ : "还没连上微信,扫码之后才收得到消息"}
+ {channel.ilink_user_id ? ` · 微信用户 ${channel.ilink_user_id}` : ""}
+
+ {channel.last_error ? (
+
{channel.last_error}
+ ) : null}
+
+
+
+ {canManage ? (
+ <>
+
+
+ >
+ ) : null}
+
- {channel.last_error ? (
- 上次出错:{channel.last_error}
- ) : null}
-
{messages[channel.id] ? (
- messages[channel.id].length === 0 ? (
- 还没有收到过消息。
- ) : (
-
- {messages[channel.id].map((m) => (
- -
-
+
+ {messages[channel.id].length === 0 ? (
+
还没收到过消息。
+ ) : (
+ messages[channel.id].map((m) => (
+
+
+
{m.text || "(没有文字)"}
+
{m.sender}
+
+
{ACTION_TEXT[m.action] ?? m.action}
-
{m.text || "(空)"}
-
- {new Date(m.created_at).toLocaleTimeString("zh-CN", {
- hour: "2-digit",
- minute: "2-digit",
- })}
-
-
- ))}
-
- )
+
+ ))
+ )}
+
) : null}
-
- ))}
-
- )}
+
+ ) : (
+
+ }
+ title="还没连微信"
+ hint={
+ canManage
+ ? "点右上「扫码连接微信」,用手机扫一下就行。"
+ : "只有工作区管理员能连微信,让他扫一下。"
+ }
+ />
+
+ )}
- {!canManage && user ? (
-
接入通道只有所有者和管理员能改。
- ) : null}
+ {!canManage ? (
+
+ 你不是这个工作区的管理员,能看到接入状态,但不能扫码或断开。
+
+ ) : null}
+ >
+ )}
);
}