perf: ♻️ Update scrcpy to 2.6.1

This commit is contained in:
viarotel 2024-08-03 23:38:40 +08:00
parent 9e584085a0
commit 1eef9d23e4
14 changed files with 44 additions and 8 deletions

View File

@ -109,7 +109,7 @@
<EleTooltipButton <EleTooltipButton
v-if="['progress'].includes(taskStatus)" v-if="['progress'].includes(taskStatus)"
text text
type="danger" type="warning"
effect="light" effect="light"
:content="$t('common.stop')" :content="$t('common.stop')"
icon="CircleClose" icon="CircleClose"
@ -126,13 +126,14 @@
:content="$t('device.task.restart')" :content="$t('device.task.restart')"
icon="RefreshLeft" icon="RefreshLeft"
circle circle
:disabled="!checkExpired(row)"
@click="handleReStart(row)" @click="handleReStart(row)"
> >
</EleTooltipButton> </EleTooltipButton>
<EleTooltipButton <EleTooltipButton
text text
type="info" type="danger"
effect="light" effect="light"
:content="$t('common.remove')" :content="$t('common.remove')"
icon="Remove" icon="Remove"
@ -152,6 +153,7 @@
<script setup> <script setup>
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
import dayjs from 'dayjs'
import { import {
timeUnit as intervalModel, timeUnit as intervalModel,
@ -214,6 +216,14 @@ function handleRemove(row) {
taskStore.remove(row) taskStore.remove(row)
} }
function checkExpired(row) {
if (!row?.formatTimeout || ['interval'].includes(row.timerType)) {
return true
}
return dayjs(row.formatTimeout).unix() > dayjs().unix()
}
defineExpose({ defineExpose({
open, open,
close, close,

View File

@ -60,6 +60,7 @@
"device.task.frequency.interval": "Periodic repetition", "device.task.frequency.interval": "Periodic repetition",
"device.task.timeout": "Execution Time", "device.task.timeout": "Execution Time",
"device.task.timeout.tips": "Cannot be earlier than the current time", "device.task.timeout.tips": "Cannot be earlier than the current time",
"device.task.timeout.expired": "The task has expired",
"device.task.interval": "Repeat Interval", "device.task.interval": "Repeat Interval",
"device.task.devices": "Involved Devices", "device.task.devices": "Involved Devices",
"device.task.noRepeat": "No Repeat", "device.task.noRepeat": "No Repeat",
@ -311,6 +312,9 @@
"preferences.audio.disable-audio.name": "Disable Audio Forwarding", "preferences.audio.disable-audio.name": "Disable Audio Forwarding",
"preferences.audio.disable-audio.placeholder": "Audio forwarding will be disabled when enabled", "preferences.audio.disable-audio.placeholder": "Audio forwarding will be disabled when enabled",
"preferences.audio.disable-audio.tips": "If your device audio capture is abnormal, you can open this option to ensure that you can open the mirror normally", "preferences.audio.disable-audio.tips": "If your device audio capture is abnormal, you can open this option to ensure that you can open the mirror normally",
"preferences.audio.audioDup.name": "Keep device audio",
"preferences.audio.audioDup.placeholder": "When enabled, audio will continue to play on the device during mirroring",
"preferences.audio.audioDup.tips": "Note: This option requires Android 13+ and apps can opt out (in which case they won't be captured)",
"preferences.audio.audio-source.name": "Audio Source", "preferences.audio.audio-source.name": "Audio Source",
"preferences.audio.audio-source.placeholder": "Device Audio Output", "preferences.audio.audio-source.placeholder": "Device Audio Output",
"preferences.audio.audio-source.tips": "Tip: Selecting 'Microphone' as the source will allow you to record audio.", "preferences.audio.audio-source.tips": "Tip: Selecting 'Microphone' as the source will allow you to record audio.",
@ -335,8 +339,8 @@
"preferences.input.mouse.options[2].placeholder": "Simulates a physical HID mouse using the AOAv2 protocol", "preferences.input.mouse.options[2].placeholder": "Simulates a physical HID mouse using the AOAv2 protocol",
"preferences.input.mouse.options[3].placeholder": "Disable mouse input", "preferences.input.mouse.options[3].placeholder": "Disable mouse input",
"preferences.input.mouse-bind.name": "Mouse Bind", "preferences.input.mouse-bind.name": "Mouse Bind",
"preferences.input.mouse-bind.tips": "Mouse button bindings can be configured using the \"xxxx\" parameter, where each \"x\" represents a button (right click, middle click, 4th click, 5th click), and can be set to forward (+), ignore (-), back (b), home (h), app switch (s), or expand notification panel (n).", "preferences.input.mouse-bind.tips": "This option allows customization of mouse button functions. It uses two sets of 4-character sequences to define primary and secondary (Shift key) bindings. Each character represents a mouse button (right, middle, 4th, 5th) and can be set to: '+' forward to device, '-' ignore, 'b' back, 'h' home, 's' app switch, 'n' expand notification panel. For example, --mouse-bind=bhsn:++++ means primary bindings are back/home/app switch/notification, while secondary bindings all forward to the device.",
"preferences.input.mouse-bind.placeholder": "bhsn", "preferences.input.mouse-bind.placeholder": "bhsn:++++",
"preferences.input.keyboard.name": "Keyboard Mode", "preferences.input.keyboard.name": "Keyboard Mode",
"preferences.input.keyboard.placeholder": "sdk", "preferences.input.keyboard.placeholder": "sdk",
"preferences.input.keyboard.tips": "Set keyboard input mode", "preferences.input.keyboard.tips": "Set keyboard input mode",

View File

@ -60,6 +60,7 @@
"device.task.frequency.interval": "周期重复", "device.task.frequency.interval": "周期重复",
"device.task.timeout": "执行时间", "device.task.timeout": "执行时间",
"device.task.timeout.tips": "不能小于当前时间", "device.task.timeout.tips": "不能小于当前时间",
"device.task.timeout.expired": "该任务已过期",
"device.task.interval": "重复间隔", "device.task.interval": "重复间隔",
"device.task.devices": "涉及设备", "device.task.devices": "涉及设备",
"device.task.noRepeat": "不重复", "device.task.noRepeat": "不重复",
@ -311,6 +312,9 @@
"preferences.audio.disable-audio.name": "禁用音频转发", "preferences.audio.disable-audio.name": "禁用音频转发",
"preferences.audio.disable-audio.placeholder": "开启后将禁用音频转发", "preferences.audio.disable-audio.placeholder": "开启后将禁用音频转发",
"preferences.audio.disable-audio.tips": "如果您的设备音频捕获异常,则可以打开此选项,以确保可以正常打开镜像", "preferences.audio.disable-audio.tips": "如果您的设备音频捕获异常,则可以打开此选项,以确保可以正常打开镜像",
"preferences.audio.audioDup.name": "保持设备音频",
"preferences.audio.audioDup.placeholder": "开启后镜像时将保持音频在设备上播放",
"preferences.audio.audioDup.tips": "注意:该选项需要 Android 13+,并且应用程序可以选择退出(这种情况下它们将不会被捕获)",
"preferences.audio.audio-source.name": "音频源", "preferences.audio.audio-source.name": "音频源",
"preferences.audio.audio-source.placeholder": "设备音频输出", "preferences.audio.audio-source.placeholder": "设备音频输出",
"preferences.audio.audio-source.tips": "技巧:如果将来源设为麦克风将可以在录制时将声音录制下来", "preferences.audio.audio-source.tips": "技巧:如果将来源设为麦克风将可以在录制时将声音录制下来",
@ -335,8 +339,8 @@
"preferences.input.mouse.options[2].placeholder": "使用 AOAv2 协议模拟物理 HID 鼠标", "preferences.input.mouse.options[2].placeholder": "使用 AOAv2 协议模拟物理 HID 鼠标",
"preferences.input.mouse.options[3].placeholder": "禁用鼠标输入", "preferences.input.mouse.options[3].placeholder": "禁用鼠标输入",
"preferences.input.mouse-bind.name": "鼠标绑定", "preferences.input.mouse-bind.name": "鼠标绑定",
"preferences.input.mouse-bind.tips": "鼠标按键绑定可通过 “xxxx” 参数配置,其中每个 “x” 代表一个按键(右键、中键、第4键、第5键),可设置为转发(+)、忽略(-)、返回(b)、主页(h)、切换应用(s)、展开通知栏(n)。", "preferences.input.mouse-bind.tips": "该选项允许自定义鼠标按键功能。它使用两组4字符序列来定义主要和次要(Shift键)绑定。每个字符代表一个鼠标按键(右键、中键、第4键、第5键),可以设置为:'+' 转发到设备, '-' 忽略, 'b' 返回, 'h' 主页, 's' 切换应用, 'n' 展开通知面板。例如, --mouse-bind=bhsn:++++ 表示主要绑定为 返回/主页/切换应用/通知,次要绑定全部转发到设备。",
"preferences.input.mouse-bind.placeholder": "bhsn", "preferences.input.mouse-bind.placeholder": "bhsn:++++",
"preferences.input.keyboard.name": "键盘模式", "preferences.input.keyboard.name": "键盘模式",
"preferences.input.keyboard.tips": "设置键盘输入模式", "preferences.input.keyboard.tips": "设置键盘输入模式",
"preferences.input.keyboard.placeholder": "sdk", "preferences.input.keyboard.placeholder": "sdk",

View File

@ -60,6 +60,7 @@
"device.task.frequency.interval": "週期重複", "device.task.frequency.interval": "週期重複",
"device.task.timeout": "執行時間", "device.task.timeout": "執行時間",
"device.task.timeout.tips": "不能小於當前時間", "device.task.timeout.tips": "不能小於當前時間",
"device.task.timeout.expired": "該任務已過期",
"device.task.interval": "重複間隔", "device.task.interval": "重複間隔",
"device.task.devices": "涉及設備", "device.task.devices": "涉及設備",
"device.task.noRepeat": "不重複", "device.task.noRepeat": "不重複",
@ -311,6 +312,9 @@
"preferences.audio.disable-audio.name": "停用音訊轉發", "preferences.audio.disable-audio.name": "停用音訊轉發",
"preferences.audio.disable-audio.placeholder": "開啟後將停用音訊轉發", "preferences.audio.disable-audio.placeholder": "開啟後將停用音訊轉發",
"preferences.audio.disable-audio.tips": "如果您的裝置音訊捕獲異常,則可以開啟此選項,以確保可以正常開啟映像", "preferences.audio.disable-audio.tips": "如果您的裝置音訊捕獲異常,則可以開啟此選項,以確保可以正常開啟映像",
"preferences.audio.audioDup.name": "保持裝置音訊",
"preferences.audio.audioDup.placeholder": "開啟後鏡像時將保持音訊在裝置上播放",
"preferences.audio.audioDup.tips": "注意:此選項需要 Android 13+,且應用程式可選擇退出(這種情況下它們將不會被捕獲)",
"preferences.audio.audio-source.name": "音訊來源", "preferences.audio.audio-source.name": "音訊來源",
"preferences.audio.audio-source.placeholder": "裝置音訊輸出", "preferences.audio.audio-source.placeholder": "裝置音訊輸出",
"preferences.audio.audio-source.tips": "技巧:如果將來源設為麥克風將可以在錄製時將聲音錄製下來", "preferences.audio.audio-source.tips": "技巧:如果將來源設為麥克風將可以在錄製時將聲音錄製下來",
@ -335,8 +339,8 @@
"preferences.input.mouse.options[2].placeholder": "使用 AOAv2 協議模擬物理 HID 滑鼠", "preferences.input.mouse.options[2].placeholder": "使用 AOAv2 協議模擬物理 HID 滑鼠",
"preferences.input.mouse.options[3].placeholder": "停用滑鼠輸入", "preferences.input.mouse.options[3].placeholder": "停用滑鼠輸入",
"preferences.input.mouse-bind.name": "滑鼠綁定", "preferences.input.mouse-bind.name": "滑鼠綁定",
"preferences.input.mouse-bind.tips": "滑鼠按鍵綁定可透過「xxxx」 參數配置其中每個「x」 代表一個按鍵(右鍵、中鍵、第4鍵、第5鍵),可設定為轉送(+)、忽略(-)、返回(b)、主頁(h)、切換應用程式(s)、展開通知欄(n)。", "preferences.input.mouse-bind.tips": "該選項允許自定義滑鼠按鍵功能。它使用兩組4字符序列來定義主要和次要(Shift鍵)綁定。每個字符代表一個滑鼠按鍵(右鍵、中鍵、第4鍵、第5鍵),可以設置為:'+' 轉發到設備, '-' 忽略, 'b' 返回, 'h' 主頁, 's' 切換應用, 'n' 展開通知面板。例如, --mouse-bind=bhsn:++++ 表示主要綁定為 返回/主頁/切換應用/通知,次要綁定全部轉發到設備。",
"preferences.input.mouse-bind.placeholder": "bhsn", "preferences.input.mouse-bind.placeholder": "bhsn:++++",
"preferences.input.keyboard.name": "鍵盤模式", "preferences.input.keyboard.name": "鍵盤模式",
"preferences.input.keyboard.tips": "設定鍵盤輸入模式", "preferences.input.keyboard.tips": "設定鍵盤輸入模式",
"preferences.input.keyboard.placeholder": "sdk", "preferences.input.keyboard.placeholder": "sdk",

View File

@ -11,6 +11,14 @@ export default {
placeholder: 'preferences.audio.disable-audio.placeholder', placeholder: 'preferences.audio.disable-audio.placeholder',
tips: 'preferences.audio.disable-audio.tips', tips: 'preferences.audio.disable-audio.tips',
}, },
audioDup: {
label: 'preferences.audio.audioDup.name',
field: '--audio-dup',
type: 'Switch',
value: undefined,
placeholder: 'preferences.audio.audioDup.placeholder',
tips: 'preferences.audio.audioDup.tips',
},
audioSource: { audioSource: {
label: 'preferences.audio.audio-source.name', label: 'preferences.audio.audio-source.name',
field: '--audio-source', field: '--audio-source',

View File

@ -7,6 +7,7 @@ import { nanoid } from 'nanoid'
import { useEventBus } from '@vueuse/core' import { useEventBus } from '@vueuse/core'
import { ElMessage } from 'element-plus'
import { clearTimer, isIPWithPort, replaceIP, setTimer } from '$/utils/index.js' import { clearTimer, isIPWithPort, replaceIP, setTimer } from '$/utils/index.js'
dayjs.extend(duration) dayjs.extend(duration)
@ -71,6 +72,11 @@ export const useTaskStore = defineStore(
const timeout = getTimeout(task) const timeout = getTimeout(task)
if (timeout < 0) {
ElMessage.warning(window.t('device.task.timeout.expired'))
return false
}
task.timerId = setTimer( task.timerId = setTimer(
timerType, timerType,
() => { () => {