Compare commits
No commits in common. "7d39a6dbe9b7b9c372f2dc9da39b37029787418c" and "e98cd2844d4284260306fb658422a84e9b4b90c2" have entirely different histories.
7d39a6dbe9
...
e98cd2844d
@ -7,14 +7,6 @@
|
||||
我的ID: <span class="id-text">{{ myId || "等待连接..." }}</span>
|
||||
<Button type="primary" @click="copyId" v-if="myId">复制</Button>
|
||||
<Button type="link" @click="shareUrl" v-if="myId">分享</Button>
|
||||
<span
|
||||
v-if="connectedPeerId"
|
||||
class="connection-badge"
|
||||
:class="{ inbound: isInboundConnected }"
|
||||
>
|
||||
{{ isInboundConnected ? "被连接" : "已连接" }}:
|
||||
<span class="connected-peer">{{ connectedPeerLabel }}</span>
|
||||
</span>
|
||||
</div>
|
||||
<!-- 显示流量 丢包率-->
|
||||
<div class="status-info">
|
||||
@ -120,9 +112,6 @@ const isPhone = ref(false);
|
||||
const receiveLoading = ref(false);
|
||||
const myId = ref("");
|
||||
const targetId = ref("");
|
||||
const connectedPeerId = ref("");
|
||||
const connectedPeerLabel = ref("");
|
||||
const isInboundConnected = ref(false);
|
||||
const isConnected = ref(false);
|
||||
const isDesktopActive = ref(false);
|
||||
const isCallActive = ref(false);
|
||||
@ -189,26 +178,6 @@ const handleConnect = () => {
|
||||
if (!targetId.value) return;
|
||||
peer.connect(targetId.value);
|
||||
};
|
||||
|
||||
const updateConnectedPeer = (peerId: string, inbound: boolean) => {
|
||||
connectedPeerId.value = peerId;
|
||||
connectedPeerLabel.value = inbound ? `${peerId.slice(0, 8)}...` : targetId.value;
|
||||
isInboundConnected.value = inbound;
|
||||
isConnected.value = !inbound;
|
||||
};
|
||||
|
||||
const clearConnectedPeer = (peerId?: string) => {
|
||||
if (peerId && connectedPeerId.value && connectedPeerId.value !== peerId) return;
|
||||
connectedPeerId.value = "";
|
||||
connectedPeerLabel.value = "";
|
||||
isInboundConnected.value = false;
|
||||
isConnected.value = false;
|
||||
};
|
||||
|
||||
const isActivePeer = (peerId: string) => {
|
||||
const targetPeerId = targetId.value ? sign2peerid(targetId.value) : "";
|
||||
return peerId === connectedPeerId.value || peerId === targetPeerId;
|
||||
};
|
||||
let lastBytes = 0;
|
||||
let lastPackets = 0;
|
||||
const transInfo = ref({
|
||||
@ -272,13 +241,12 @@ onMounted(() => {
|
||||
peer.on("connection-open", ((event: CustomEvent) => {
|
||||
if (event.detail.peer == peer.remoteConnection?.peer) {
|
||||
checkBytes();
|
||||
updateConnectedPeer(event.detail.peer, false);
|
||||
isConnected.value = peer.remoteConnection?.open;
|
||||
fileMgrInstance.remoteRootFile.loadLocalDirectory();
|
||||
notification.success({
|
||||
message: "连接成功",
|
||||
});
|
||||
} else {
|
||||
updateConnectedPeer(event.detail.peer, true);
|
||||
notification.success({
|
||||
message: "出现新的连接",
|
||||
});
|
||||
@ -286,7 +254,7 @@ onMounted(() => {
|
||||
}) as EventListener);
|
||||
|
||||
peer.on("peer-disconnected", ((event: CustomEvent) => {
|
||||
clearConnectedPeer(event.detail.peer);
|
||||
isConnected.value = peer.remoteConnection?.open;
|
||||
isDesktopActive.value = false;
|
||||
isCallActive.value = false;
|
||||
notification.error({
|
||||
@ -302,7 +270,7 @@ onMounted(() => {
|
||||
}) as EventListener);
|
||||
|
||||
peer.on("stream", ((event: CustomEvent) => {
|
||||
if (!isActivePeer(event.detail.peerId)) return;
|
||||
if (event.detail.peerId !== sign2peerid(targetId.value)) return;
|
||||
if (event.detail.type === "desktop") {
|
||||
isDesktopActive.value = true;
|
||||
} else if (event.detail.type === "call") {
|
||||
@ -311,19 +279,19 @@ onMounted(() => {
|
||||
}) as EventListener);
|
||||
|
||||
peer.on("desktop-started", ((event: CustomEvent) => {
|
||||
if (isActivePeer(event.detail.peerId)) {
|
||||
if (event.detail.peerId === sign2peerid(targetId.value)) {
|
||||
isDesktopActive.value = true;
|
||||
}
|
||||
}) as EventListener);
|
||||
|
||||
peer.on("call-started", ((event: CustomEvent) => {
|
||||
if (isActivePeer(event.detail.peerId)) {
|
||||
if (event.detail.peerId === sign2peerid(targetId.value)) {
|
||||
isCallActive.value = true;
|
||||
}
|
||||
}) as EventListener);
|
||||
|
||||
peer.on("media-ended", ((event: CustomEvent) => {
|
||||
if (!isActivePeer(event.detail.peerId)) return;
|
||||
if (event.detail.peerId !== sign2peerid(targetId.value)) return;
|
||||
if (event.detail.type === "desktop") {
|
||||
isDesktopActive.value = false;
|
||||
} else if (event.detail.type === "call") {
|
||||
@ -356,30 +324,6 @@ onMounted(() => {
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.connection-badge {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
padding: 4px 10px;
|
||||
border: 1px solid #95de64;
|
||||
border-radius: 999px;
|
||||
background: #f6ffed;
|
||||
color: #389e0d;
|
||||
font-size: 12px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.connection-badge.inbound {
|
||||
border-color: #91caff;
|
||||
background: #e6f4ff;
|
||||
color: #0958d9;
|
||||
}
|
||||
|
||||
.connected-peer {
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.connect-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
@ -30,20 +30,16 @@ import { getPermissionSet, setPermissionSet } from "../utils/common";
|
||||
const visible = ref(false);
|
||||
const localPermissionSet = reactive({ ...getPermissionSet() });
|
||||
|
||||
const permissionLabels: Record<Permission, string> = {
|
||||
const permissionLabels = {
|
||||
[Permission.edit]: "编辑权限",
|
||||
[Permission.view]: "查看权限",
|
||||
[Permission.download]: "下载权限",
|
||||
[Permission.desktop]: "桌面预览权限",
|
||||
[Permission.call]: "语音通话权限",
|
||||
};
|
||||
|
||||
const permissionDescs: Record<Permission, string> = {
|
||||
const permissionDescs = {
|
||||
[Permission.edit]: "允许创建、修改、删除文件和文件夹",
|
||||
[Permission.view]: "允许查看文件内容和目录结构",
|
||||
[Permission.download]: "允许传输文件到本地",
|
||||
[Permission.desktop]: "允许对方请求预览当前桌面",
|
||||
[Permission.call]: "允许对方请求语音通话",
|
||||
};
|
||||
|
||||
const handleOk = () => {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user