Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
fk-spider-web
Overview
Overview
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
周田
fk-spider-web
Commits
57c2a360
Commit
57c2a360
authored
Jan 16, 2026
by
liucan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:修改网站标题、图标、用户默认头像
parent
2cc7a4bd
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
56 additions
and
55 deletions
+56
-55
index.html
index.html
+3
-3
favicon.ico
public/favicon.ico
+0
-0
vite.svg
public/vite.svg
+0
-2
user.ts
src/api/user.ts
+1
-1
user-avatar.svg
src/assets/picture/user-avatar.svg
+2
-0
Navbar.vue
src/layout/components/Navbar.vue
+5
-4
user.ts
src/store/user.ts
+36
-36
dsnDataTab.vue
src/views/os-dataDisplay/components/dsnData/dsnDataTab.vue
+1
-1
esDataTab.vue
src/views/os-dataDisplay/components/esDataTab.vue
+1
-1
exportRecord.vue
src/views/os-dataDisplay/components/exportRecord.vue
+1
-1
ituDataTab.vue
src/views/os-dataDisplay/components/ituDataTab.vue
+1
-1
stDataTab.vue
src/views/os-dataDisplay/components/stDataTab.vue
+1
-1
index.vue
src/views/os-spiderManager/index.vue
+1
-1
index.vue
src/views/os-system/index.vue
+1
-1
taskCard.vue
src/views/os-taskInformation/components/taskCard.vue
+1
-1
index.vue
src/views/os-taskRecord/index.vue
+1
-1
No files found.
index.html
View file @
57c2a360
<!
doctype
html>
<!
DOCTYPE
html>
<html
lang=
"en"
>
<head>
<meta
charset=
"UTF-8"
/>
<link
rel=
"icon"
type=
"image/svg+xml"
href=
"/vite.svg
"
/>
<link
rel=
"icon"
href=
"/favicon.ico
"
/>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
/>
<title>
Vite + Vue + TS
</title>
<title>
fk互联网信息采集
</title>
</head>
<body>
<div
id=
"app"
></div>
...
...
public/favicon.ico
0 → 100644
View file @
57c2a360
File added
public/vite.svg
deleted
100644 → 0
View file @
2cc7a4bd
<svg
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
aria-hidden=
"true"
role=
"img"
class=
"iconify iconify--logos"
width=
"31.88"
height=
"32"
preserveAspectRatio=
"xMidYMid meet"
viewBox=
"0 0 256 257"
><defs><linearGradient
id=
"IconifyId1813088fe1fbc01fb466"
x1=
"-.828%"
x2=
"57.636%"
y1=
"7.652%"
y2=
"78.411%"
><stop
offset=
"0%"
stop-color=
"#41D1FF"
></stop><stop
offset=
"100%"
stop-color=
"#BD34FE"
></stop></linearGradient><linearGradient
id=
"IconifyId1813088fe1fbc01fb467"
x1=
"43.376%"
x2=
"50.316%"
y1=
"2.242%"
y2=
"89.03%"
><stop
offset=
"0%"
stop-color=
"#FFEA83"
></stop><stop
offset=
"8.333%"
stop-color=
"#FFDD35"
></stop><stop
offset=
"100%"
stop-color=
"#FFA800"
></stop></linearGradient></defs><path
fill=
"url(#IconifyId1813088fe1fbc01fb466)"
d=
"M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"
></path><path
fill=
"url(#IconifyId1813088fe1fbc01fb467)"
d=
"M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"
></path></svg>
\ No newline at end of file
src/api/user.ts
View file @
57c2a360
...
...
@@ -18,7 +18,7 @@ export function getInfo() {
data
:
{
roles
:
[
'admin'
],
introduction
:
'Admin'
,
avatar
:
'user-avatar.
gif
'
,
avatar
:
'user-avatar.
svg
'
,
name
:
'Admin'
}
})
...
...
src/assets/picture/user-avatar.svg
0 → 100644
View file @
57c2a360
<svg
t=
"1768557651273"
class=
"icon"
viewBox=
"0 0 1024 1024"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
p-id=
"24609"
width=
"30"
height=
"30"
><path
d=
"M983.04 709.12c-25.6 61.44-64 115.2-110.08 163.84-46.08 48.64-102.4 84.48-163.84 110.08-61.44 25.6-128 40.96-197.12 40.96s-135.68-12.8-197.12-40.96c-61.44-25.6-115.2-64-163.84-110.08-46.08-48.64-84.48-102.4-110.08-163.84-25.6-61.44-40.96-128-40.96-197.12s12.8-135.68 40.96-197.12c25.6-61.44 64-115.2 110.08-163.84 46.08-48.64 102.4-84.48 163.84-110.08S440.32 0 512 0c69.12 0 135.68 12.8 197.12 40.96 61.44 25.6 115.2 64 163.84 110.08 46.08 48.64 84.48 102.4 110.08 163.84 25.6 61.44 40.96 128 40.96 197.12s-12.8 135.68-40.96 197.12zM660.48 320c-15.36-28.16-35.84-51.2-61.44-66.56-25.6-17.92-53.76-25.6-87.04-25.6-33.28 0-61.44 7.68-87.04 25.6s-46.08 38.4-61.44 66.56c-15.36 28.16-23.04 58.88-23.04 92.16 0 35.84 7.68 69.12 23.04 97.28 15.36 28.16 35.84 51.2 61.44 66.56 25.6 15.36 53.76 25.6 87.04 25.6 30.72 0 61.44-7.68 87.04-23.04 25.6-15.36 46.08-38.4 61.44-66.56 15.36-28.16 23.04-61.44 23.04-97.28s-7.68-66.56-23.04-94.72zM739.84 742.4c-30.72-20.48-64-33.28-102.4-43.52-38.4-10.24-79.36-15.36-122.88-15.36-43.52 0-87.04 5.12-125.44 15.36-38.4 10.24-74.24 25.6-102.4 43.52-30.72 20.48-53.76 43.52-71.68 71.68 25.6 28.16 56.32 48.64 87.04 69.12 33.28 17.92 66.56 33.28 102.4 40.96 35.84 10.24 71.68 15.36 107.52 15.36 35.84 0 71.68-5.12 107.52-15.36 35.84-10.24 71.68-23.04 102.4-40.96 33.28-17.92 61.44-40.96 87.04-69.12-15.36-28.16-40.96-51.2-69.12-71.68z"
p-id=
"24610"
fill=
"#515151"
></path></svg>
\ No newline at end of file
src/layout/components/Navbar.vue
View file @
57c2a360
...
...
@@ -6,12 +6,13 @@ import { useAppStore } from "@/store/app";
import
{
storeToRefs
}
from
"pinia"
;
import
Breadcrumb
from
"@/components/Breadcrumb/index.vue"
;
import
Hamburger
from
"@/components/Hamburger/index.vue"
;
import
defaultUserAvatar
from
"@/assets/picture/user-avatar.svg"
;
const
router
=
useRouter
();
const
userStore
=
useUserStore
();
const
appStore
=
useAppStore
();
const
{
sidebar
}
=
storeToRefs
(
appStore
);
const
avatar
=
computed
(()
=>
userStore
.
avatar
||
"user-avatar.gif"
);
const
avatar
=
computed
(()
=>
userStore
.
avatar
||
defaultUserAvatar
);
const
toggleSideBar
=
()
=>
{
appStore
.
toggleSidebar
();
...
...
@@ -104,13 +105,13 @@ const logout = async () => {
margin-right
:
30px
;
.avatar-wrapper
{
margin-top
:
5
px
;
margin-top
:
10
px
;
position
:
relative
;
.user-avatar
{
cursor
:
pointer
;
width
:
4
0px
;
height
:
4
0px
;
width
:
3
0px
;
height
:
3
0px
;
border-radius
:
10px
;
}
...
...
src/store/user.ts
View file @
57c2a360
import
{
defineStore
}
from
'pinia'
import
{
getToken
,
setToken
,
removeToken
}
from
'@/utils/auth'
import
{
resetRouter
}
from
'@/router'
import
{
useAppStore
}
from
'./app'
import
{
login
}
from
'@/api/user'
import
{
defineStore
}
from
"pinia"
;
import
{
getToken
,
setToken
,
removeToken
}
from
"@/utils/auth"
;
import
{
resetRouter
}
from
"@/router"
;
import
{
useAppStore
}
from
"./app"
;
import
{
login
}
from
"@/api/user"
;
interface
UserState
{
token
:
string
name
:
string
avatar
:
string
token
:
string
;
name
:
string
;
avatar
:
string
;
}
export
const
useUserStore
=
defineStore
(
'user'
,
{
export
const
useUserStore
=
defineStore
(
"user"
,
{
state
:
():
UserState
=>
({
token
:
getToken
(),
name
:
''
,
avatar
:
'user-avatar.gif'
name
:
""
,
avatar
:
""
,
}),
actions
:
{
// 用户登录
async
login
(
userInfo
:
{
username
:
string
,
password
:
string
})
{
const
{
username
,
password
}
=
userInfo
async
login
(
userInfo
:
{
username
:
string
;
password
:
string
})
{
const
{
username
,
password
}
=
userInfo
;
try
{
const
res
=
await
login
({
username
:
username
.
trim
(),
password
:
password
})
password
:
password
,
})
;
if
(
res
.
code
===
0
)
{
const
token
=
res
.
data
.
token
this
.
token
=
token
setToken
(
token
)
return
Promise
.
resolve
()
const
token
=
res
.
data
.
token
;
this
.
token
=
token
;
setToken
(
token
)
;
return
Promise
.
resolve
()
;
}
else
{
return
Promise
.
reject
(
res
.
message
)
return
Promise
.
reject
(
res
.
message
)
;
}
}
catch
(
error
)
{
return
Promise
.
reject
(
error
)
return
Promise
.
reject
(
error
)
;
}
},
// 获取用户信息
async
getInfo
()
{
// 这里保留了 getInfo 方法,后续会根据实际需求修改
this
.
name
=
'Admin'
this
.
avatar
=
'user-avatar.gif'
this
.
name
=
"Admin"
;
this
.
avatar
=
""
;
return
{
name
:
this
.
name
,
avatar
:
this
.
avatar
,
roles
:
[
'admin'
]
}
roles
:
[
"admin"
],
}
;
},
// 用户登出
async
logout
()
{
this
.
token
=
''
this
.
name
=
''
removeToken
()
resetRouter
()
this
.
token
=
""
;
this
.
name
=
""
;
removeToken
()
;
resetRouter
()
;
},
// 重置令牌
resetToken
()
{
this
.
token
=
''
removeToken
()
this
.
token
=
""
;
removeToken
()
;
},
// 侧边栏相关
toggleSidebar
()
{
const
appStore
=
useAppStore
()
appStore
.
toggleSidebar
()
}
}
})
const
appStore
=
useAppStore
()
;
appStore
.
toggleSidebar
()
;
}
,
}
,
})
;
src/views/os-dataDisplay/components/dsnData/dsnDataTab.vue
View file @
57c2a360
...
...
@@ -8,7 +8,7 @@
<div
class=
"table-content"
>
<el-table
v-loading=
"!tableData"
element-loading-background=
"rgba(48, 65, 86, 0.
3
)"
element-loading-background=
"rgba(48, 65, 86, 0.
7
)"
:data=
"tableData"
style=
"width: 100%"
border
...
...
src/views/os-dataDisplay/components/esDataTab.vue
View file @
57c2a360
...
...
@@ -47,7 +47,7 @@
:header-cell-style="{ textAlign: 'center' }"
:cell-style="{ textAlign: 'center' }"
v-loading="tableLoading"
element-loading-background="rgba(48, 65, 86, 0.
3
)"
element-loading-background="rgba(48, 65, 86, 0.
7
)"
>
<el-table-column
property=
"number"
label=
"序号"
width=
"55"
type=
"index"
/>
<el-table-column
property=
"data.mission"
label=
"目标名称"
width=
"86"
show-overflow-tooltip
/>
...
...
src/views/os-dataDisplay/components/exportRecord.vue
View file @
57c2a360
...
...
@@ -4,7 +4,7 @@
<div
class=
"table-content"
>
<el-table
v-loading=
"tableLoading"
element-loading-background=
"rgba(48, 65, 86, 0.
3
)"
element-loading-background=
"rgba(48, 65, 86, 0.
7
)"
:row-style=
"
{ height: '45px' }"
:header-cell-style="{ textAlign: 'center' }"
:cell-style="{ textAlign: 'center' }"
...
...
src/views/os-dataDisplay/components/ituDataTab.vue
View file @
57c2a360
...
...
@@ -46,7 +46,7 @@
:header-cell-style="{ textAlign: 'center' }"
:cell-style="{ textAlign: 'center' }"
v-loading="tableLoading"
element-loading-background="rgba(48, 65, 86, 0.
3
)"
element-loading-background="rgba(48, 65, 86, 0.
7
)"
>
<!--
<el-table-column
type=
"selection"
width=
"40"
/>
-->
<el-table-column
property=
"number"
label=
"序号"
width=
"55"
type=
"index"
/>
...
...
src/views/os-dataDisplay/components/stDataTab.vue
View file @
57c2a360
...
...
@@ -46,6 +46,7 @@
:row-style=
"
{ height: '45.5px' }"
:header-cell-style="{ textAlign: 'center' }"
:cell-style="{ textAlign: 'center' }"
element-loading-background="rgba(48, 65, 86, 0.7)"
>
<!--
<el-table-column
type=
"selection"
width=
"40"
/>
-->
<el-table-column
property=
"number"
label=
"序号"
width=
"55"
type=
"index"
/>
...
...
@@ -58,7 +59,6 @@
<el-table-column
property=
"SITE"
label=
"目标站点"
show-overflow-tooltip
/>
<!--
<el-table-column
property=
"failTime"
label=
"失效时间"
show-overflow-tooltip
/>
-->
<el-table-column
property=
"PERIOD"
width=
"118"
label=
"周期(min)"
show-overflow-tooltip
/>
element-loading-background="rgba(48, 65, 86, 0.3)"
<el-table-column
property=
"PERIAPSIS"
label=
"近地点"
show-overflow-tooltip
/>
<el-table-column
property=
"APOAPSIS"
label=
"远地点"
show-overflow-tooltip
/>
<!--
<el-table-column
property=
"incl"
label=
"INCL"
show-overflow-tooltip
/>
-->
...
...
src/views/os-spiderManager/index.vue
View file @
57c2a360
...
...
@@ -10,7 +10,7 @@
:cell-style="{ textAlign: 'center' }"
:row-style="{ height: '60px' }"
v-loading="tableData.length == 0"
element-loading-background="rgba(48, 65, 86, 0.
3
)"
element-loading-background="rgba(48, 65, 86, 0.
7
)"
>
<el-table-column
property=
"number"
label=
"序号"
type=
"index"
width=
"80"
/>
<el-table-column
property=
"spider"
label=
"爬虫代号"
show-overflow-tooltip
/>
...
...
src/views/os-system/index.vue
View file @
57c2a360
...
...
@@ -18,7 +18,7 @@
:row-style="{ height: '58px' }"
@selection-change="handleSelectionChange"
v-loading="tableLoading"
element-loading-background="rgba(48, 65, 86, 0.
3
)"
element-loading-background="rgba(48, 65, 86, 0.
7
)"
>
<el-table-column
type=
"selection"
width=
"40"
/>
<el-table-column
property=
"number"
label=
"序号"
width=
"55"
type=
"index"
/>
...
...
src/views/os-taskInformation/components/taskCard.vue
View file @
57c2a360
...
...
@@ -26,7 +26,7 @@
</div>
</div>
</TableSearch>
<div
class=
"cardStyle"
v-loading=
"isLoading"
element-loading-background=
"rgba(48, 65, 86, 0.
3
)"
>
<div
class=
"cardStyle"
v-loading=
"isLoading"
element-loading-background=
"rgba(48, 65, 86, 0.
7
)"
>
<div
v-if=
"taskList.length === 0 && !isLoading"
class=
"empty-tip"
>
暂无任务数据
</div>
<div
class=
"taskCard p-2"
v-for=
"task in taskList || []"
:key=
"task?.id || task?.taskId"
>
<div
class=
"header"
>
...
...
src/views/os-taskRecord/index.vue
View file @
57c2a360
...
...
@@ -42,7 +42,7 @@
<div>
<el-table
v-loading=
"tableLoading"
element-loading-background=
"rgba(48, 65, 86, 0.
3
)"
element-loading-background=
"rgba(48, 65, 86, 0.
7
)"
:data=
"tableData"
style=
"width: 100%"
border
...
...
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