130 lines
6.3 KiB
HTML
130 lines
6.3 KiB
HTML
<!-- 已登录header -->
|
|
<header class="navbar navbar-expand-md d-print-none">
|
|
<div class="container-xl">
|
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar-menu"
|
|
aria-controls="navbar-menu" aria-expanded="false" aria-label="Toggle navigation">
|
|
<span class="navbar-toggler-icon"></span>
|
|
</button>
|
|
<h1 class="navbar-brand navbar-brand-autodark d-none-navbar-horizontal pe-0 pe-md-3">
|
|
<a href="/">
|
|
<img src="/static/logo.svg" width="110" height="32" alt="Tabler" class="navbar-brand-image">
|
|
</a>
|
|
</h1>
|
|
<div class="navbar-nav flex-row order-md-last">
|
|
|
|
<div class="d-none d-md-flex">
|
|
<a href="?theme=dark" class="nav-link px-0 hide-theme-dark" title="Enable dark mode" data-bs-toggle="tooltip"
|
|
data-bs-placement="bottom">
|
|
<!-- Download SVG icon from http://tabler-icons.io/i/moon -->
|
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24"
|
|
stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
|
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
|
|
</svg>
|
|
</a>
|
|
<a href="?theme=light" class="nav-link px-0 hide-theme-light" title="Enable light mode" data-bs-toggle="tooltip"
|
|
data-bs-placement="bottom">
|
|
<!-- Download SVG icon from http://tabler-icons.io/i/sun -->
|
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24"
|
|
stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
|
<path d="M12 12m-4 0a4 4 0 1 0 8 0a4 4 0 1 0 -8 0" />
|
|
<path d="M3 12h1m8 -9v1m8 8h1m-9 8v1m-6.4 -15.4l.7 .7m12.1 -.7l-.7 .7m0 11.4l.7 .7m-12.1 -.7l-.7 .7" />
|
|
</svg>
|
|
</a>
|
|
<div class="nav-item dropdown d-none d-md-flex me-3">
|
|
<a href="#" class="nav-link px-0" data-bs-toggle="dropdown" tabindex="-1" aria-label="Show notifications">
|
|
<!-- Download SVG icon from http://tabler-icons.io/i/bell -->
|
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24"
|
|
stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
|
<path d="M10 5a2 2 0 1 1 4 0a7 7 0 0 1 4 6v3a4 4 0 0 0 2 3h-16a4 4 0 0 0 2 -3v-3a7 7 0 0 1 4 -6" />
|
|
<path d="M9 17v1a3 3 0 0 0 6 0v-1" />
|
|
</svg>
|
|
<!-- <span class="badge bg-red"></span> -->
|
|
</a>
|
|
<div class="dropdown-menu dropdown-menu-arrow dropdown-menu-end dropdown-menu-card">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h3 class="card-title">最新消息</h3>
|
|
</div>
|
|
<div class="list-group list-group-flush list-group-hoverable">
|
|
<div class="list-group-item">
|
|
<div class="row align-items-center">
|
|
<div class="col-auto"><span class="status-dot status-dot-animated bg-green d-block"></span></div>
|
|
<div class="col text-truncate">
|
|
<a class="text-body d-block">测试消息</a>
|
|
<div class="d-block text-secondary text-truncate mt-n1">
|
|
这是一条测试用的占位消息
|
|
</div>
|
|
</div>
|
|
<div class="col-auto">
|
|
<a class="list-group-item-actions">
|
|
<!-- Download SVG icon from http://tabler-icons.io/i/star -->
|
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon text-muted" width="24" height="24"
|
|
viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round"
|
|
stroke-linejoin="round">
|
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
|
<path
|
|
d="M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z" />
|
|
</svg>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="nav-item dropdown">
|
|
<a href="#" class="nav-link d-flex lh-1 text-reset p-0" data-bs-toggle="dropdown" aria-label="Open user menu">
|
|
<span class="avatar avatar-sm" style="background-image: url({{.user_info.AvatarPath}})"></span>
|
|
<div class="d-none d-xl-block ps-2">
|
|
<div>{{.user_info.Username}}</div>
|
|
<div class="mt-1 small text-secondary">{{.user_info.FirstName}}</div>
|
|
</div>
|
|
</a>
|
|
<div class="dropdown-menu dropdown-menu-end dropdown-menu-arrow">
|
|
<!-- <a href="#" class="dropdown-item">Status</a> -->
|
|
<a href="./profile" class="dropdown-item">个人资料</a>
|
|
<!-- <a href="#" class="dropdown-item">Feedback</a> -->
|
|
<a href="/setting-my" class="dropdown-item">设置</a>
|
|
<div class="dropdown-divider"></div>
|
|
<a href="#" onclick="logout()" class="dropdown-item">登出</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
|
|
<script>
|
|
function logout() {
|
|
console.log("logout");
|
|
const url = '/api/v1/user/logout';
|
|
const sumt_data = {
|
|
cookie: "",
|
|
};
|
|
|
|
try {
|
|
const response = axios.post(url, sumt_data, {
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
}
|
|
}).then(response => {
|
|
//console.log('提交成功:', response.data); // 正确打印服务器数据
|
|
//跳转到主页
|
|
if (response.data.err_code == 0) {
|
|
location.href = '/'
|
|
}
|
|
});
|
|
} catch (error) {
|
|
if (error.response) {
|
|
// 服务器返回了错误状态码(如 4xx, 5xx)
|
|
console.error('服务器错误:', error.response.data);
|
|
} else {
|
|
console.error('请求未完成:', error.message);
|
|
}
|
|
}
|
|
}
|
|
</script> |