perf: ⬆️ Update dependencies

This commit is contained in:
viarotel 2024-09-08 01:55:54 +08:00
parent 3ed1f2551f
commit 8b0386258a
52 changed files with 209 additions and 211 deletions

View File

@ -1,5 +1,5 @@
import which from 'which'
import { extraResolve } from '$electron/helpers/index.js' import { extraResolve } from '$electron/helpers/index.js'
import which from 'which'
export const getGnirehtetPath = () => { export const getGnirehtetPath = () => {
switch (process.platform) { switch (process.platform) {

View File

@ -4,9 +4,9 @@ import { buildResolve, extraResolve } from '$electron/helpers/index.js'
export { adbPath } from './android-platform-tools/index.js' export { adbPath } from './android-platform-tools/index.js'
export { scrcpyPath } from './scrcpy/index.js' export { gnirehtetApkPath, gnirehtetPath } from './gnirehtet/index.js'
export { gnirehtetPath, gnirehtetApkPath } from './gnirehtet/index.js' export { scrcpyPath } from './scrcpy/index.js'
export const desktopPath = process.env.DESKTOP_PATH export const desktopPath = process.env.DESKTOP_PATH

View File

@ -1,5 +1,5 @@
import which from 'which'
import { extraResolve } from '$electron/helpers/index.js' import { extraResolve } from '$electron/helpers/index.js'
import which from 'which'
export const getScrcpyPath = () => { export const getScrcpyPath = () => {
switch (process.platform) { switch (process.platform) {

View File

@ -1,5 +1,5 @@
import fs from 'fs-extra'
import { dialog, ipcMain, shell } from 'electron' import { dialog, ipcMain, shell } from 'electron'
import fs from 'fs-extra'
export default (mainWindow) => { export default (mainWindow) => {
ipcMain.handle( ipcMain.handle(

View File

@ -1,10 +1,10 @@
import { app, ipcMain } from 'electron' import { app, ipcMain } from 'electron'
import shortcuts from './shortcuts/index.js'
import updater from './updater/index.js'
import handles from './handles/index.js' import handles from './handles/index.js'
import tray from './tray/index.js' import shortcuts from './shortcuts/index.js'
import theme from './theme/index.js' import theme from './theme/index.js'
import tray from './tray/index.js'
import updater from './updater/index.js'
export default (mainWindow) => { export default (mainWindow) => {
ipcMain.on('restart-app', () => { ipcMain.on('restart-app', () => {

View File

@ -1,7 +1,7 @@
import { Menu, Tray, app, dialog } from 'electron'
import { trayPath } from '$electron/configs/index.js' import { trayPath } from '$electron/configs/index.js'
import appStore from '$electron/helpers/store.js'
import { executeI18n } from '$electron/helpers/index.js' import { executeI18n } from '$electron/helpers/index.js'
import appStore from '$electron/helpers/store.js'
import { app, dialog, Menu, Tray } from 'electron'
export default (mainWindow) => { export default (mainWindow) => {
const t = value => executeI18n(mainWindow, value) const t = value => executeI18n(mainWindow, value)

View File

@ -1,7 +1,7 @@
import { app, ipcMain } from 'electron'
import { is } from '@electron-toolkit/utils'
import electronUpdater from 'electron-updater'
import { devPublishPath } from '$electron/configs/index.js' import { devPublishPath } from '$electron/configs/index.js'
import { is } from '@electron-toolkit/utils'
import { app, ipcMain } from 'electron'
import electronUpdater from 'electron-updater'
const { autoUpdater } = electronUpdater const { autoUpdater } = electronUpdater

View File

@ -1,13 +1,13 @@
import util from 'node:util'
import { exec as _exec, spawn } from 'node:child_process' import { exec as _exec, spawn } from 'node:child_process'
import path from 'node:path'
import fs from 'node:fs' import fs from 'node:fs'
import dayjs from 'dayjs' import path from 'node:path'
import { Adb } from '@devicefarmer/adbkit' import util from 'node:util'
import { uniq } from 'lodash-es'
import appStore from '$electron/helpers/store.js'
import { adbPath } from '$electron/configs/index.js' import { adbPath } from '$electron/configs/index.js'
import appStore from '$electron/helpers/store.js'
import { formatFileSize } from '$renderer/utils/index' import { formatFileSize } from '$renderer/utils/index'
import { Adb } from '@devicefarmer/adbkit'
import dayjs from 'dayjs'
import { uniq } from 'lodash-es'
const exec = util.promisify(_exec) const exec = util.promisify(_exec)

View File

@ -1,10 +1,10 @@
import { spawn } from 'node:child_process' import { spawn } from 'node:child_process'
import appStore from '$electron/helpers/store.js'
import { import {
adbPath, adbPath,
gnirehtetApkPath, gnirehtetApkPath,
gnirehtetPath, gnirehtetPath,
} from '$electron/configs/index.js' } from '$electron/configs/index.js'
import appStore from '$electron/helpers/store.js'
const appDebug = appStore.get('common.debug') || false const appDebug = appStore.get('common.debug') || false

View File

@ -1,14 +1,14 @@
import path from 'node:path' import path from 'node:path'
import '$electron/helpers/console.js'
import electron from './electron/index.js'
import adbkit from './adbkit/index.js'
import scrcpy from './scrcpy/index.js'
import gnirehtet from './gnirehtet/index.js'
import search from './search/index.js'
import * as configs from '$electron/configs/index.js' import * as configs from '$electron/configs/index.js'
import store from '$electron/helpers/store.js'
import appLog from '$electron/helpers/log.js' import appLog from '$electron/helpers/log.js'
import store from '$electron/helpers/store.js'
import adbkit from './adbkit/index.js'
import electron from './electron/index.js'
import gnirehtet from './gnirehtet/index.js'
import scrcpy from './scrcpy/index.js'
import search from './search/index.js'
import '$electron/helpers/console.js'
export default { export default {
init(expose) { init(expose) {

View File

@ -1,5 +1,5 @@
import log from 'electron-log/main.js'
import { createProxy } from '$electron/helpers/index' import { createProxy } from '$electron/helpers/index'
import log from 'electron-log/main.js'
const levels = Object.keys(log.functions) const levels = Object.keys(log.functions)

View File

@ -1,8 +1,8 @@
import util from 'node:util'
import { exec as _exec, spawn } from 'node:child_process' import { exec as _exec, spawn } from 'node:child_process'
import { replaceIP, sleep } from '$renderer/utils/index.js' import util from 'node:util'
import appStore from '$electron/helpers/store.js'
import { adbPath, scrcpyPath } from '$electron/configs/index.js' import { adbPath, scrcpyPath } from '$electron/configs/index.js'
import appStore from '$electron/helpers/store.js'
import { replaceIP, sleep } from '$renderer/utils/index.js'
let adbkit let adbkit

View File

@ -1,6 +1,6 @@
import { primaryColor } from '$renderer/configs/index.js'
import remote from '@electron/remote' import remote from '@electron/remote'
import { FindInPage } from 'electron-find-in-page' import { FindInPage } from 'electron-find-in-page'
import { primaryColor } from '$renderer/configs/index.js'
export default () => { export default () => {
const theme = { const theme = {

View File

@ -1,6 +1,6 @@
import appStore from './store.js'
import { createProxy } from './index.js'
import log from '$electron/helpers/log.js' import log from '$electron/helpers/log.js'
import { createProxy } from './index.js'
import appStore from './store.js'
const debug = appStore.get('common.debug') || false const debug = appStore.get('common.debug') || false

View File

@ -1,6 +1,6 @@
import { createProxy } from '$electron/helpers/index'
import { shell } from 'electron' import { shell } from 'electron'
import log from 'electron-log/main.js' import log from 'electron-log/main.js'
import { createProxy } from '$electron/helpers/index'
log.transports.console.level = false log.transports.console.level = false

View File

@ -1,9 +1,9 @@
/** 在主进程中获取关键信息存储到环境变量中,从而在预加载脚本中及渲染进程中使用 */ /** 在主进程中获取关键信息存储到环境变量中,从而在预加载脚本中及渲染进程中使用 */
import { app } from 'electron'
/** 注意: app.isPackaged 可能被被某些方法改变所以请将该文件放到 main.js 必须位于非依赖项的顶部 */ /** 注意: app.isPackaged 可能被被某些方法改变所以请将该文件放到 main.js 必须位于非依赖项的顶部 */
import fixPath from 'fix-path' import fixPath from 'fix-path'
import { app } from 'electron'
if (process.platform === 'darwin') { if (process.platform === 'darwin') {
fixPath() fixPath()
} }

View File

@ -1,23 +1,23 @@
import path from 'node:path'
import { createRequire } from 'node:module' import { createRequire } from 'node:module'
import path from 'node:path'
import { fileURLToPath } from 'node:url' import { fileURLToPath } from 'node:url'
import { BrowserWindow, app, nativeTheme, shell } from 'electron'
import { electronApp, optimizer } from '@electron-toolkit/utils'
import contextMenu from 'electron-context-menu'
import remote from '@electron/remote/main' import remote from '@electron/remote/main'
import { electronApp, optimizer } from '@electron-toolkit/utils'
import { app, BrowserWindow, shell } from 'electron'
import contextMenu from 'electron-context-menu'
import { icnsLogoPath, icoLogoPath, logoPath } from './configs/index.js'
import events from './events/index.js'
import log from './helpers/log.js'
import appStore from './helpers/store.js'
// process.js 必须位于非依赖项的顶部 // process.js 必须位于非依赖项的顶部
import './helpers/process.js' import './helpers/process.js'
import appStore from './helpers/store.js'
import log from './helpers/log.js'
import './helpers/console.js' import './helpers/console.js'
import { icnsLogoPath, icoLogoPath, logoPath } from './configs/index.js'
import events from './events/index.js'
const require = createRequire(import.meta.url) const require = createRequire(import.meta.url)
const __dirname = path.dirname(fileURLToPath(import.meta.url)) const __dirname = path.dirname(fileURLToPath(import.meta.url))

View File

@ -56,6 +56,10 @@ export default antfu(
'vue/custom-event-name-casing': 'off', 'vue/custom-event-name-casing': 'off',
'vue/no-use-v-if-with-v-for': 'off', 'vue/no-use-v-if-with-v-for': 'off',
'vue/component-tags-order': 'off', 'vue/component-tags-order': 'off',
'unicorn/consistent-function-scoping': 'off',
'regexp/no-unused-capturing-group': 'off',
'regexp/no-dupe-disjunctions': 'off',
}, },
}, },
) )

View File

@ -22,50 +22,50 @@
"prepare": "husky install" "prepare": "husky install"
}, },
"dependencies": { "dependencies": {
"electron-in-page-search": "^1.3.2", "electron-in-page-search": "1.3.2",
"nanoid": "^5.0.7", "nanoid": "5.0.7",
"pinia-plugin-persistedstate": "^3.2.1", "pinia-plugin-persistedstate": "3.2.1",
"vue": "^3.4.26" "vue": "3.4.26"
}, },
"devDependencies": { "devDependencies": {
"@antfu/eslint-config": "2.16.1", "@antfu/eslint-config": "3.3.2",
"@devicefarmer/adbkit": "^3.2.6", "@devicefarmer/adbkit": "3.2.6",
"@electron-toolkit/preload": "^3.0.1", "@electron-toolkit/preload": "3.0.1",
"@electron-toolkit/utils": "^3.0.0", "@electron-toolkit/utils": "3.0.0",
"@electron/remote": "^2.1.2", "@electron/remote": "2.1.2",
"@intlify/unplugin-vue-i18n": "^4.0.0", "@intlify/unplugin-vue-i18n": "4.0.0",
"@unocss/reset": "^0.59.4", "@unocss/reset": "0.59.4",
"@unocss/transformer-directives": "^0.59.4", "@unocss/transformer-directives": "0.59.4",
"@viarotel-org/unocss-preset-shades": "^0.8.2", "@viarotel-org/unocss-preset-shades": "0.8.2",
"@vitejs/plugin-vue": "^5.0.4", "@vitejs/plugin-vue": "5.0.4",
"@vueuse/core": "^10.9.0", "@vueuse/core": "10.9.0",
"dayjs": "^1.11.11", "dayjs": "1.11.11",
"electron": "^30.0.3", "electron": "30.0.3",
"electron-builder": "^24.13.3", "electron-builder": "24.13.3",
"electron-context-menu": "^4.0.0", "electron-context-menu": "4.0.0",
"electron-find-in-page": "^1.0.8", "electron-find-in-page": "1.0.8",
"electron-log": "^5.1.2", "electron-log": "5.1.2",
"electron-store": "^9.0.0", "electron-store": "9.0.0",
"electron-updater": "^6.1.8", "electron-updater": "6.1.8",
"element-plus": "^2.8.1", "element-plus": "2.8.2",
"eslint": "^8.57.0", "eslint": "9.10.0",
"fix-path": "^4.0.0", "fix-path": "4.0.0",
"fs-extra": "^11.2.0", "fs-extra": "11.2.0",
"husky": "^9.0.11", "husky": "9.0.11",
"lodash-es": "^4.17.21", "lodash-es": "4.17.21",
"pinia": "^2.1.7", "pinia": "2.1.7",
"postcss": "^8.4.38", "postcss": "8.4.38",
"postcss-nested": "^6.0.1", "postcss-nested": "6.0.1",
"postcss-scss": "^4.0.9", "postcss-scss": "4.0.9",
"unocss": "^0.59.4", "unocss": "0.59.4",
"unplugin-auto-import": "^0.17.5", "unplugin-auto-import": "0.17.5",
"unplugin-vue-components": "^0.27.0", "unplugin-vue-components": "0.27.0",
"vite": "^5.2.11", "vite": "5.2.11",
"vite-plugin-electron": "^0.28.7", "vite-plugin-electron": "0.28.7",
"vite-plugin-electron-renderer": "^0.14.5", "vite-plugin-electron-renderer": "0.14.5",
"vite-svg-loader": "^5.1.0", "vite-svg-loader": "5.1.0",
"vue-command": "^35.2.1", "vue-command": "35.2.1",
"vue-i18n": "^9.13.1", "vue-i18n": "9.13.1",
"which": "^4.0.0" "which": "4.0.0"
} }
} }

View File

@ -37,19 +37,19 @@
</template> </template>
<script setup> <script setup>
import { i18n } from '$/locales/index.js'
import localeModel from '$/plugins/element-plus/locale.js'
import { usePreferenceStore } from '$/store/preference/index.js'
import { useThemeStore } from '$/store/theme/index.js'
import { ElMessageBox } from 'element-plus' import { ElMessageBox } from 'element-plus'
import Device from './components/Device/index.vue'
import Preference from './components/Preference/index.vue'
import About from './components/About/index.vue' import About from './components/About/index.vue'
import Device from './components/Device/index.vue'
import Preference from './components/Preference/index.vue'
import Quick from './components/Quick/index.vue' import Quick from './components/Quick/index.vue'
import { i18n } from '$/locales/index.js'
import localeModel from '$/plugins/element-plus/locale.js'
import { useThemeStore } from '$/store/theme/index.js'
import { usePreferenceStore } from '$/store/preference/index.js'
const locale = computed(() => { const locale = computed(() => {
const i18nLocale = i18n.global.locale.value const i18nLocale = i18n.global.locale.value
@ -101,8 +101,8 @@ async function showTips() {
ElMessageBox.alert( ElMessageBox.alert(
`<div> `<div>
${window.t('dependencies.lack.content', { ${window.t('dependencies.lack.content', {
name: '<a class="hover:underline text-primary-500" href="https://github.com/Genymobile/scrcpy" target="_blank">scrcpy</a>', name: '<a class="hover:underline text-primary-500" href="https://github.com/Genymobile/scrcpy" target="_blank">scrcpy</a>',
})} })}
<div>`, <div>`,
window.t('dependencies.lack.title'), window.t('dependencies.lack.title'),
{ {

View File

@ -5,10 +5,10 @@
</template> </template>
<script setup> <script setup>
import { useTaskStore } from '$/store/index.js'
import { useScreenshotAction } from '$/composables/useScreenshotAction/index.js' import { useScreenshotAction } from '$/composables/useScreenshotAction/index.js'
import { useTaskStore } from '$/store/index.js'
const props = defineProps({ const props = defineProps({
devices: { devices: {
type: Array, type: Array,

View File

@ -162,7 +162,7 @@
</template> </template>
<script setup> <script setup>
import { ElMessage } from 'element-plus' import InputPath from '$/components/Preference/components/PreferenceForm/components/InputPath/index.vue'
import { import {
timeUnit as intervalModel, timeUnit as intervalModel,
@ -172,7 +172,7 @@ import {
import { useTaskStore } from '$/store/index.js' import { useTaskStore } from '$/store/index.js'
import { sleep } from '$/utils' import { sleep } from '$/utils'
import InputPath from '$/components/Preference/components/PreferenceForm/components/InputPath/index.vue' import { ElMessage } from 'element-plus'
const taskStore = useTaskStore() const taskStore = useTaskStore()

View File

@ -39,8 +39,8 @@
<script setup> <script setup>
import Application from './Application/index.vue' import Application from './Application/index.vue'
import Screenshot from './Screenshot/index.vue'
import FileManage from './FileManage/index.vue' import FileManage from './FileManage/index.vue'
import Screenshot from './Screenshot/index.vue'
import Shell from './Shell/index.vue' import Shell from './Shell/index.vue'
import Tasks from './Tasks/index.vue' import Tasks from './Tasks/index.vue'

View File

@ -166,12 +166,12 @@
</template> </template>
<script setup> <script setup>
import { ElMessageBox } from 'element-plus' import { useDialog, useFileActions } from '$/composables/index.js'
import AddPopover from './AddPopover/index.vue'
import { usePreferenceStore } from '$/store' import { usePreferenceStore } from '$/store'
import { useDialog, useFileActions } from '$/composables/index.js' import { ElMessageBox } from 'element-plus'
import AddPopover from './AddPopover/index.vue'
const preferenceStore = usePreferenceStore() const preferenceStore = usePreferenceStore()

View File

@ -65,15 +65,15 @@
</template> </template>
<script> <script>
import Screenshot from './Screenshot/index.vue'
import Application from './Application/index.vue' import Application from './Application/index.vue'
import FileManage from './FileManage/index.vue'
import Gnirehtet from './Gnirehtet/index.vue' import Gnirehtet from './Gnirehtet/index.vue'
import MirrorGroup from './MirrorGroup/index.vue' import MirrorGroup from './MirrorGroup/index.vue'
import Rotation from './Rotation/index.vue' import Rotation from './Rotation/index.vue'
import Volume from './Volume/index.vue' import Screenshot from './Screenshot/index.vue'
import FileManage from './FileManage/index.vue'
import Shell from './Shell/index.vue' import Shell from './Shell/index.vue'
import Tasks from './Tasks/index.vue' import Tasks from './Tasks/index.vue'
import Volume from './Volume/index.vue'
export default { export default {
components: { components: {

View File

@ -31,10 +31,10 @@
</template> </template>
<script setup> <script setup>
import { usePreferenceStore } from '$/store/index.js'
import PreferenceForm from '$/components/Preference/components/PreferenceForm/index.vue' import PreferenceForm from '$/components/Preference/components/PreferenceForm/index.vue'
import { usePreferenceStore } from '$/store/index.js'
import { sleep } from '$/utils' import { sleep } from '$/utils'
const emit = defineEmits(['success']) const emit = defineEmits(['success'])

View File

@ -5,8 +5,8 @@
</template> </template>
<script> <script>
import DeployDialog from './components/DeployDialog/index.vue'
import { sleep } from '$/utils' import { sleep } from '$/utils'
import DeployDialog from './components/DeployDialog/index.vue'
export default { export default {
components: { components: {

View File

@ -38,10 +38,10 @@
</template> </template>
<script> <script>
import Record from './components/Record/index.vue'
import Otg from './components/Otg/index.vue'
import Camera from './components/Camera/index.vue' import Camera from './components/Camera/index.vue'
import Custom from './components/Custom/index.vue' import Custom from './components/Custom/index.vue'
import Otg from './components/Otg/index.vue'
import Record from './components/Record/index.vue'
export default { export default {
components: { components: {

View File

@ -253,21 +253,21 @@ export default {
await this.$confirm( await this.$confirm(
`<div class="pt-4 pl-4"> `<div class="pt-4 pl-4">
<div class="text-sm text-red-500 pb-4">${this.$t( <div class="text-sm text-red-500 pb-4">${this.$t(
'device.wireless.connect.error.detail', 'device.wireless.connect.error.detail',
)}${message}</div> )}${message}</div>
<div>${this.$t('device.wireless.connect.error.reasons[0]')}</div> <div>${this.$t('device.wireless.connect.error.reasons[0]')}</div>
<div>1. ${this.$t( <div>1. ${this.$t(
'device.wireless.connect.error.reasons[1]', 'device.wireless.connect.error.reasons[1]',
)} </div> )} </div>
<div>2. ${this.$t( <div>2. ${this.$t(
'device.wireless.connect.error.reasons[2]', 'device.wireless.connect.error.reasons[2]',
)} </div> )} </div>
<div>3. ${this.$t( <div>3. ${this.$t(
'device.wireless.connect.error.reasons[3]', 'device.wireless.connect.error.reasons[3]',
)} </div> )} </div>
<div>4. ${this.$t( <div>4. ${this.$t(
'device.wireless.connect.error.reasons[4]', 'device.wireless.connect.error.reasons[4]',
)} </div> )} </div>
</div>`, </div>`,
this.$t('device.wireless.connect.error.title'), this.$t('device.wireless.connect.error.title'),
{ {

View File

@ -115,15 +115,15 @@
</template> </template>
<script> <script>
import { isIPWithPort, sleep } from '$/utils/index.js'
import BatchActions from './components/BatchActions/index.vue'
import ControlBar from './components/ControlBar/index.vue' import ControlBar from './components/ControlBar/index.vue'
import Remark from './components/Remark/index.vue'
import WirelessGroup from './components/WirelessGroup/index.vue'
import MirrorAction from './components/MirrorAction/index.vue' import MirrorAction from './components/MirrorAction/index.vue'
import MoreDropdown from './components/MoreDropdown/index.vue' import MoreDropdown from './components/MoreDropdown/index.vue'
import Remark from './components/Remark/index.vue'
import WirelessAction from './components/WirelessAction/index.vue' import WirelessAction from './components/WirelessAction/index.vue'
import BatchActions from './components/BatchActions/index.vue'
import { isIPWithPort, sleep } from '$/utils/index.js' import WirelessGroup from './components/WirelessGroup/index.vue'
export default { export default {
components: { components: {

View File

@ -91,12 +91,12 @@
</template> </template>
<script setup> <script setup>
import { usePreferenceStore } from '$/store/index.js'
import { omit } from 'lodash-es' import { omit } from 'lodash-es'
import { inputModel } from './components/index.js' import { inputModel } from './components/index.js'
import { usePreferenceStore } from '$/store/index.js'
const props = defineProps({ const props = defineProps({
deviceScope: { deviceScope: {
type: String, type: String,

View File

@ -39,12 +39,12 @@
</template> </template>
<script> <script>
import { debounce } from 'lodash-es' import { usePreferenceStore } from '$/store/index.js'
import ScopeSelect from './components/ScopeSelect/index.vue' import { debounce } from 'lodash-es'
import PreferenceForm from './components/PreferenceForm/index.vue' import PreferenceForm from './components/PreferenceForm/index.vue'
import { usePreferenceStore } from '$/store/index.js' import ScopeSelect from './components/ScopeSelect/index.vue'
export default { export default {
components: { components: {

View File

@ -5,10 +5,10 @@
</template> </template>
<script setup> <script setup>
import { useMagicKeys, whenever } from '@vueuse/core'
import { useThemeStore } from '$/store/theme/index.js' import { useThemeStore } from '$/store/theme/index.js'
import { useMagicKeys, whenever } from '@vueuse/core'
const themeStore = useThemeStore() const themeStore = useThemeStore()
const activeTab = inject('activeTab') const activeTab = inject('activeTab')

View File

@ -156,18 +156,12 @@
</template> </template>
<script setup> <script setup>
import { ElMessage } from 'element-plus' import { getDictLabel } from '$/dicts/helper'
import dayjs from 'dayjs'
import {
timeUnit as intervalModel,
timerType as timerModel,
} from '$/dicts/index.js'
import { useTaskStore } from '$/store/index.js' import { useTaskStore } from '$/store/index.js'
import { sleep } from '$/utils' import { sleep } from '$/utils'
import { getDictLabel } from '$/dicts/helper' import dayjs from 'dayjs'
const taskStore = useTaskStore() const taskStore = useTaskStore()

View File

@ -38,18 +38,18 @@
</template> </template>
<script setup> <script setup>
import { useTaskStore, useThemeStore } from '$/store/index.js'
import { sleep } from '$/utils/index.js'
import { ElMessage } from 'element-plus'
import VueCommand, { import VueCommand, {
createQuery, createQuery,
createStdout, createStdout,
listFormatter, listFormatter,
} from 'vue-command' } from 'vue-command'
import 'vue-command/dist/vue-command.css'
import { ElMessage } from 'element-plus'
import { useAdb } from './composables/adb-async.js' import { useAdb } from './composables/adb-async.js'
import { useScrcpy } from './composables/scrcpy.js'
import { useGnirehtet } from './composables/gnirehtet.js' import { useGnirehtet } from './composables/gnirehtet.js'
import { sleep } from '$/utils/index.js' import { useScrcpy } from './composables/scrcpy.js'
import { useTaskStore, useThemeStore } from '$/store/index.js' import 'vue-command/dist/vue-command.css'
const themeStore = useThemeStore() const themeStore = useThemeStore()
const taskStore = useTaskStore() const taskStore = useTaskStore()

View File

@ -42,11 +42,11 @@
</template> </template>
<script setup> <script setup>
import Task from './components/Task/index.vue'
import Terminal from './components/Terminal/index.vue'
import Log from './components/Log/index.vue' import Log from './components/Log/index.vue'
import Restart from './components/Restart/index.vue' import Restart from './components/Restart/index.vue'
import Search from './components/Search/index.vue' import Search from './components/Search/index.vue'
import Task from './components/Task/index.vue'
import Terminal from './components/Terminal/index.vue'
const props = defineProps({}) const props = defineProps({})

View File

@ -1,6 +1,6 @@
import { ElMessage } from 'element-plus'
import { allSettledWrapper } from '$/utils'
import { useDeviceStore } from '$/store' import { useDeviceStore } from '$/store'
import { allSettledWrapper } from '$/utils'
import { ElMessage } from 'element-plus'
export function useFileActions() { export function useFileActions() {
const deviceStore = useDeviceStore() const deviceStore = useDeviceStore()

View File

@ -1,8 +1,8 @@
import { ElMessage } from 'element-plus' import { useDeviceStore } from '$/store'
import { allSettledWrapper } from '$/utils' import { allSettledWrapper } from '$/utils'
import { useDeviceStore } from '$/store' import { ElMessage } from 'element-plus'
export function useInstallAction() { export function useInstallAction() {
const deviceStore = useDeviceStore() const deviceStore = useDeviceStore()

View File

@ -1,8 +1,8 @@
import { ElMessage } from 'element-plus' import { useDeviceStore, usePreferenceStore } from '$/store'
import { allSettledWrapper } from '$/utils/index.js' import { allSettledWrapper } from '$/utils/index.js'
import { useDeviceStore, usePreferenceStore } from '$/store' import { ElMessage } from 'element-plus'
export function useScreenshotAction() { export function useScreenshotAction() {
const deviceStore = useDeviceStore() const deviceStore = useDeviceStore()

View File

@ -1,9 +1,9 @@
import { ElMessage, ElMessageBox } from 'element-plus'
import { allSettledWrapper } from '$/utils/index.js'
import { selectAndSendFileToDevice } from '$/utils/device/index.js'
import { useTaskStore } from '$/store' import { useTaskStore } from '$/store'
import { selectAndSendFileToDevice } from '$/utils/device/index.js'
import { allSettledWrapper } from '$/utils/index.js'
import { ElMessage, ElMessageBox } from 'element-plus'
export function useShellAction() { export function useShellAction() {
const taskStore = useTaskStore() const taskStore = useTaskStore()

View File

@ -1,5 +1,5 @@
import { createI18n } from 'vue-i18n'
import messages from '@intlify/unplugin-vue-i18n/messages' import messages from '@intlify/unplugin-vue-i18n/messages'
import { createI18n } from 'vue-i18n'
export const locale export const locale
= window.appStore?.get('common.language') || window.navigator.language = window.appStore?.get('common.language') || window.navigator.language

View File

@ -1,16 +1,16 @@
import '$/utils/console.js' import { replaceIP, restoreIP } from '$/utils/index.js'
import { createApp, toRaw } from 'vue' import { createApp, toRaw } from 'vue'
import App from './App.vue' import App from './App.vue'
import store from './store/index.js'
import plugins from './plugins/index.js'
import icons from './icons/index.js' import icons from './icons/index.js'
import { i18n, t } from './locales/index.js' import { i18n, t } from './locales/index.js'
import plugins from './plugins/index.js'
import { replaceIP, restoreIP } from '$/utils/index.js' import store from './store/index.js'
import '$/utils/console.js'
import 'virtual:uno.css' import 'virtual:uno.css'
import './styles/index.js' import './styles/index.js'

View File

@ -7,8 +7,8 @@
</template> </template>
<script> <script>
import { ElForm } from 'element-plus'
import { inheritComponentMethods } from '$/utils/index.js' import { inheritComponentMethods } from '$/utils/index.js'
import { ElForm } from 'element-plus'
export default { export default {
name: 'ElFormRow', name: 'ElFormRow',

View File

@ -1,22 +1,22 @@
import * as ElementPlusIcons from '@element-plus/icons-vue'
import { ElLoading, ElMessage, ElMessageBox } from 'element-plus'
import EleFormItemCol from './expands/EleFormItemCol/index.vue'
import EleFormRow from './expands/EleFormRow/index.vue'
import EleIconLoading from './expands/EleIconLoading/index.vue'
import EleTagCollapse from './expands/EleTagCollapse/index.vue'
import EleTagDict from './expands/EleTagDict/index.vue'
import EleTooltipButton from './expands/EleTooltipButton/index.vue'
import 'element-plus/theme-chalk/el-loading.css' import 'element-plus/theme-chalk/el-loading.css'
import 'element-plus/theme-chalk/el-message.css' import 'element-plus/theme-chalk/el-message.css'
import 'element-plus/theme-chalk/el-message-box.css' import 'element-plus/theme-chalk/el-message-box.css'
import 'element-plus/theme-chalk/el-badge.css' import 'element-plus/theme-chalk/el-badge.css'
import 'element-plus/theme-chalk/dark/css-vars.css' import 'element-plus/theme-chalk/dark/css-vars.css'
import './restyle.css' import './restyle.css'
import * as ElementPlusIcons from '@element-plus/icons-vue'
import { ElLoading, ElMessage, ElMessageBox } from 'element-plus'
import EleIconLoading from './expands/EleIconLoading/index.vue'
import EleFormRow from './expands/EleFormRow/index.vue'
import EleFormItemCol from './expands/EleFormItemCol/index.vue'
import EleTooltipButton from './expands/EleTooltipButton/index.vue'
import EleTagDict from './expands/EleTagDict/index.vue'
import EleTagCollapse from './expands/EleTagCollapse/index.vue'
export default { export default {
install(app) { install(app) {
for (const [key, component] of Object.entries(ElementPlusIcons)) { for (const [key, component] of Object.entries(ElementPlusIcons)) {

View File

@ -1,9 +1,9 @@
import { defineStore } from 'pinia'
import dayjs from 'dayjs'
import { t } from '$/locales/index.js' import { t } from '$/locales/index.js'
import { isIPWithPort, replaceIP } from '$/utils/index.js' import { isIPWithPort, replaceIP } from '$/utils/index.js'
import dayjs from 'dayjs'
import { defineStore } from 'pinia'
const $appStore = window.appStore const $appStore = window.appStore
export const useDeviceStore = defineStore({ export const useDeviceStore = defineStore({

View File

@ -2,10 +2,10 @@ import { createPinia } from 'pinia'
import persistedState from 'pinia-plugin-persistedstate' import persistedState from 'pinia-plugin-persistedstate'
import { useDeviceStore } from './device/index.js' import { useDeviceStore } from './device/index.js'
import { usePreferenceStore } from './preference/index.js' import { usePreferenceStore } from './preference/index.js'
import { useThemeStore } from './theme/index.js'
import { useTaskStore } from './task/index.js' import { useTaskStore } from './task/index.js'
import { useThemeStore } from './theme/index.js'
export { useDeviceStore, usePreferenceStore, useThemeStore, useTaskStore } export { useDeviceStore, usePreferenceStore, useTaskStore, useThemeStore }
export default { export default {
install(app) { install(app) {

View File

@ -1,6 +1,6 @@
import { defineStore } from 'pinia' import { replaceIP, restoreIP } from '$/utils/index.js'
import { cloneDeep, get, pickBy, set } from 'lodash-es' import { cloneDeep, get, pickBy, set } from 'lodash-es'
import model from './model/index.js' import { defineStore } from 'pinia'
import { import {
getDefaultData, getDefaultData,
@ -11,7 +11,7 @@ import {
setStoreData, setStoreData,
} from './helpers/index.js' } from './helpers/index.js'
import { replaceIP, restoreIP } from '$/utils/index.js' import model from './model/index.js'
const { adbPath, scrcpyPath, gnirehtetPath } = window.electron?.configs || {} const { adbPath, scrcpyPath, gnirehtetPath } = window.electron?.configs || {}

View File

@ -1,12 +1,12 @@
// import otg from './otg/index.js' // import otg from './otg/index.js'
import common from './common/index.js'
import video from './video/index.js'
import device from './device/index.js'
import window from './window/index.js'
import audio from './audio/index.js' import audio from './audio/index.js'
import record from './record/index.js'
import input from './input/index.js'
import camera from './camera/index.js' import camera from './camera/index.js'
import common from './common/index.js'
import device from './device/index.js'
import input from './input/index.js'
import record from './record/index.js'
import video from './video/index.js'
import window from './window/index.js'
export default { export default {
// otg, // otg,

View File

@ -1,14 +1,14 @@
import { defineStore } from 'pinia' import { clearTimer, setTimer } from '$/utils/index.js'
import dayjs from 'dayjs'
import duration from 'dayjs/plugin/duration'
import { nanoid } from 'nanoid'
import { useEventBus } from '@vueuse/core' import { useEventBus } from '@vueuse/core'
import dayjs from 'dayjs'
import duration from 'dayjs/plugin/duration'
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
import { clearTimer, isIPWithPort, replaceIP, setTimer } from '$/utils/index.js'
import { nanoid } from 'nanoid'
import { defineStore } from 'pinia'
dayjs.extend(duration) dayjs.extend(duration)

View File

@ -1,5 +1,5 @@
import { ElMessage } from 'element-plus'
import { allSettledWrapper, sleep } from '$/utils' import { allSettledWrapper, sleep } from '$/utils'
import { ElMessage } from 'element-plus'
/** /**
* 选择并将文件发送到设备 * 选择并将文件发送到设备
*/ */

View File

@ -1,6 +1,6 @@
import { defineConfig, presetWind } from 'unocss'
import transformerDirectives from '@unocss/transformer-directives' import transformerDirectives from '@unocss/transformer-directives'
import { presetShades } from '@viarotel-org/unocss-preset-shades' import { presetShades } from '@viarotel-org/unocss-preset-shades'
import { defineConfig, presetWind } from 'unocss'
import { primaryColor } from './src/configs/index.js' import { primaryColor } from './src/configs/index.js'
const presetMain = presetWind() const presetMain = presetWind()

View File

@ -1,13 +1,13 @@
import { resolve } from 'node:path' import { resolve } from 'node:path'
import { defineConfig, mergeConfig } from 'vite' import useI18n from '@intlify/unplugin-vue-i18n/vite'
import useElectron from 'vite-plugin-electron/simple'
import useRenderer from 'vite-plugin-electron-renderer'
import { notBundle } from 'vite-plugin-electron/plugin'
import useVue from '@vitejs/plugin-vue' import useVue from '@vitejs/plugin-vue'
import useUnoCSS from 'unocss/vite' import useUnoCSS from 'unocss/vite'
import { defineConfig, mergeConfig } from 'vite'
import { notBundle } from 'vite-plugin-electron/plugin'
import useElectron from 'vite-plugin-electron/simple'
import useRenderer from 'vite-plugin-electron-renderer'
import useSvg from 'vite-svg-loader' import useSvg from 'vite-svg-loader'
import useI18n from '@intlify/unplugin-vue-i18n/vite'
import postcssConfig from './postcss.config.js' import postcssConfig from './postcss.config.js'