Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
N
netdisc
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
rocosen
netdisc
Commits
256c0c57
Commit
256c0c57
authored
Dec 05, 2022
by
rocosen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:获取本地磁盘
parent
b9ac1f34
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
86 additions
and
1 deletion
+86
-1
getAllDrive.ts
src/commons/utils/getAllDrive.ts
+81
-0
main.ts
src/main/main.ts
+1
-1
mount.jsx
src/renderer/components/mount.jsx
+4
-0
No files found.
src/commons/utils/getAllDrive.ts
0 → 100644
View file @
256c0c57
/**
* @Description 获取电脑中所盘符及其名称
* @Author WJW
* @Date 2022-01-25
*/
const
process
=
require
(
'child_process'
);
// cmd命令
const
cmdOrder
=
{
getAllDrive
:
()
=>
'wmic logicaldisk where drivetype=3 get deviceid'
,
getOneDriveName
:
(
drive
:
string
)
=>
`wmic logicaldisk where name="
${
drive
}
:" get volumename`
,
};
/**
* 获取电脑中所有盘符及其名称
* @returns 电脑中所有盘符及其名称
*/
export
default
async
function
getAllDrive
():
Promise
<
string
[]
>
{
let
result
:
string
[]
=
[];
let
promise
=
new
Promise
((
resolve
,
reject
)
=>
{
// 获取电脑中所有盘符
process
.
exec
(
cmdOrder
.
getAllDrive
(),
(
error
:
any
,
stdout
:
any
)
=>
{
if
(
error
!==
null
)
{
console
.
error
(
error
);
return
;
}
//@ts-ignore
let
stdoutArr
=
[...
stdout
];
let
res
:
string
[]
=
[];
stdoutArr
.
forEach
((
v
:
string
,
i
:
number
)
=>
{
if
(
v
===
':'
)
{
res
.
push
(
stdoutArr
[
i
-
1
]);
}
});
let
resList
:
{
drive
:
string
;
name
:
string
;
}[]
=
[];
let
promiseArr
:
Promise
<
any
>
[]
=
[];
// 获取所有盘符的所有名称
res
.
forEach
((
v
:
string
)
=>
{
promiseArr
.
push
(
new
Promise
((
resolve
,
reject
)
=>
{
process
.
exec
(
cmdOrder
.
getOneDriveName
(
v
),
(
error
:
any
,
stdout
:
any
)
=>
{
if
(
error
!==
null
)
{
console
.
error
(
error
);
return
;
}
let
stdoutArr
=
[...
stdout
];
let
res
:
string
[]
=
[];
stdoutArr
.
forEach
((
v
:
string
,
i
:
number
)
=>
{
if
(
v
!==
' '
&&
v
!==
'
\
n'
&&
v
!==
'
\
r'
)
{
res
.
push
(
v
);
}
});
res
.
splice
(
0
,
10
);
resList
.
push
({
drive
:
v
,
name
:
res
.
join
(
''
),
});
resolve
(
true
);
}
);
})
);
});
Promise
.
all
(
promiseArr
).
then
((
res
)
=>
{
resolve
(
resList
);
});
});
});
await
promise
.
then
((
res
:
any
)
=>
{
result
=
res
;
});
// console.log(result);
return
result
;
}
src/main/main.ts
View file @
256c0c57
...
...
@@ -121,7 +121,7 @@ ipcMain.on('resize-home', (event) => {
homeWindown
.
loadURL
(
resolveHtmlPath
(
`index.html#/home`
));
positioner
.
position
(
homeWindown
,
tray
.
getBounds
(),
alignment
);
isDev
&&
homeWindown
.
webContents
.
openDevTools
();
homeWindown
.
webContents
.
openDevTools
();
//
homeWindown.webContents.openDevTools();
homeWindown
.
once
(
'ready-to-show'
,
()
=>
{
homeWindown
?.
show
();
});
...
...
src/renderer/components/mount.jsx
View file @
256c0c57
...
...
@@ -14,6 +14,7 @@ import RadioGroup from '@mui/material/RadioGroup';
import
FolderOpenIcon
from
'@mui/icons-material/FolderOpen'
;
import
MenuItem
from
'@mui/material/MenuItem'
;
import
file
from
'../../commons/assets/img/file.svg'
;
import
getAllDrive
from
'../../commons/utils/getAllDrive'
;
const
useStyles
=
makeStyles
()((
theme
)
=>
{
return
{
...
...
@@ -95,6 +96,9 @@ export default (props) => {
setChange
(
true
);
event
.
stopPropagation
();
setMountValue
(
event
.
target
.
value
);
getAllDrive
().
then
((
res
)
=>
{
console
.
log
(
res
);
});
};
const
handleSelectChange
=
(
event
)
=>
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment