Commit c27497e3 by 周田

Merge branch 'liucan' into 'main'

feat:修改网站标题、图标、用户默认头像

See merge request !26
parents 3e9461ab 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>
......
<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
......@@ -18,7 +18,7 @@ export function getInfo() {
data: {
roles: ['admin'],
introduction: 'Admin',
avatar: 'user-avatar.gif',
avatar: 'user-avatar.svg',
name: 'Admin'
}
})
......
<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
......@@ -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: 5px;
margin-top: 10px;
position: relative;
.user-avatar {
cursor: pointer;
width: 40px;
height: 40px;
width: 30px;
height: 30px;
border-radius: 10px;
}
......
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();
},
},
});
......@@ -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
......
......@@ -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 />
......
......@@ -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' }"
......
......@@ -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" />
......
......@@ -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 /> -->
......
......@@ -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 />
......
......@@ -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" />
......
......@@ -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">
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment