try fix open loopback

pull/401/head
starknt 2024-11-25 15:43:01 +08:00
parent c4e71c48ad
commit 2b0b637c44
3 changed files with 36 additions and 12 deletions

View File

@ -24,10 +24,10 @@
"@docmirror/mitmproxy": "workspace:*",
"@mihomo-party/sysproxy": "^2.0.4",
"@natmri/platform-napi": "^0.0.7",
"@vscode/sudo-prompt": "^9.3.1",
"adm-zip": "^0.5.16",
"ant-design-vue": "^1.7.8",
"electron-baidu-tongji": "^1.0.5",
"electron-sudo": "^4.0.12",
"electron-updater": "^6.3.9",
"json5": "^2.2.3",
"lodash": "^4.17.21",

View File

@ -1,14 +1,33 @@
/* global __static */
import DevSidecar from '@docmirror/dev-sidecar'
import Sudoer from 'electron-sudo'
import sudoPrompt from '@vscode/sudo-prompt'
import { join } from 'node:path'
import { log } from '../../utils/util.log'
export default {
async open () {
const options = { name: '设置loopback' }
const sudoer = new Sudoer(options)
open () {
const options = {
name: '设置loopback',
icns: process.platform === 'darwin' ? join(__static, 'icon.icns') : undefined,
env: { PARAM: 'VALUE' },
}
const exeFile = DevSidecar.api.shell.extraPath.getEnableLoopbackPath()
await sudoer.exec(
exeFile,
{ env: { PARAM: 'VALUE' } },
)
return new Promise((resolve, reject) => {
sudoPrompt.exec(
exeFile,
options,
(error, _, stderr) => {
if (stderr) {
log.error(`[sudo-prompt] 发生错误: ${stderr}`)
}
if (error) {
reject(error)
} else {
resolve(undefined)
}
},
)
})
},
}

View File

@ -75,6 +75,9 @@ importers:
'@natmri/platform-napi':
specifier: ^0.0.7
version: 0.0.7
'@vscode/sudo-prompt':
specifier: ^9.3.1
version: 9.3.1
adm-zip:
specifier: ^0.5.16
version: 0.5.16
@ -84,9 +87,6 @@ importers:
electron-baidu-tongji:
specifier: ^1.0.5
version: 1.0.5
electron-sudo:
specifier: ^4.0.12
version: 4.0.12
electron-updater:
specifier: ^6.3.9
version: 6.3.9
@ -1773,6 +1773,9 @@ packages:
vitest:
optional: true
'@vscode/sudo-prompt@9.3.1':
resolution: {integrity: sha512-9ORTwwS74VaTn38tNbQhsA5U44zkJfcb0BdTSyyG6frP4e8KMtHuTXYmwefe5dpL8XB1aGSIVTaLjD3BbWb5iA==}
'@vue/babel-helper-vue-jsx-merge-props@1.4.0':
resolution: {integrity: sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA==}
@ -8940,6 +8943,8 @@ snapshots:
optionalDependencies:
typescript: 5.6.3
'@vscode/sudo-prompt@9.3.1': {}
'@vue/babel-helper-vue-jsx-merge-props@1.4.0': {}
'@vue/babel-helper-vue-transform-on@1.2.5': {}