Industrial-image-management.../src/App.vue

42 lines
48 KiB
Vue
Raw Normal View History

2025-06-27 19:54:42 +08:00
<template>
<a-config-provider update-at-scroll>
<template #loading>
<img src="/static/images/loading.svg" class="loading-icon" alt="loading" />
</template>
<template #empty>
<a-empty img-src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAADwCAYAAAA+VemSAAAMP2lDQ1BJQ0MgUHJvZmlsZQAASImVVwdYU8kWnluSkEASIICAlNCbIFIDSAmhhd4RbIQkQCgxBoKKHV1UcO1iARu6KqJgBcSO2FkUe18sqCjrYsGuvEkBXfeV7833zZ3//nPmP2fOnbn3DgD04zyJJA/VBCBfXCiNDw1kjkpNY5KeAhTQgTrQBDQev0DCjo2NBLAMtH8v764DRN5ecZRr/bP/vxYtgbCADwASC3GGoICfD/F+APAqvkRaCABRzltMKpTIMaxARwoDhHi+HGcpcZUcZyjxboVNYjwH4lYA1DR4PGkWALRLkGcW8bOgBq0XYmexQCQGgM6E2C8/f4IA4nSIbaGNBGK5PivjB52sv2lmDGryeFmDWDkXRVELEhVI8nhT/s90/O+Snycb8GENq0a2NCxePmeYt5u5EyLkWAPiHnFGdAzE2hB/EAkU9hCjlGxZWJLSHjXiF3BgzoAexM4CXlAExEYQh4jzoiNVfEamKIQLMVwh6GRRITcRYn2I5wsLghNUNhulE+JVvtCGTCmHreLP8qQKv3Jf92W5SWyV/utsIVelj9GKsxNTIKZAbFkkSo6GmAaxU0FuQoTKZmRxNid6wEYqi5fHbwlxvFAcGqjUx4oypSHxKvuy/IKB+WIbs0XcaBXeW5idGKbMD9bK5ynih3PBLgnF7KQBHWHBqMiBuQiEQcHKuWPPhOKkBJXOB0lhYLxyLE6R5MWq7HFzYV6onDeH2K2gKEE1Fk8uhAtSqY9nSgpjE5Vx4sU5vPBYZTz4EhAJOCAIMIEM1gwwAeQAUXtPYw+8U/aEAB6QgiwgBI4qZmBEiqJHDK8JoBj8CZEQFAyOC1T0CkER5L8OssqrI8hU9BYpRuSCJxDngwiQB+9lilHiQW/J4DFkRP/wzoOVD+PNg1Xe/+/5AfY7w4ZMpIqRDXhk0gcsicHEIGIYMYRohxvifrgPHgmvAbC64Czca2Ae3+0JTwgdhIeEa4ROwq3xohLpT1FGgU6oH6LKRcaPucCtoaY7Hoj7QnWojOvhhsARd4N+2Lg/9OwOWY4qbnlWmD9p/20GPzwNlR3ZmYySh5ADyLY/j6TZ09wHVeS5/jE/ylgzBvPNGez52T/nh+wLYBvxsyU2H9uHncFOYOeww1gjYGLHsCasDTsix4Or67FidQ14i1fEkwt1RP/wN/Bk5ZkscK517nb+ouwrFE6Wv6MBZ4JkilSUlV3IZMMvgpDJFfOdhjFdnF1cAZB/X5Svrzdxiu8Gotf2nZvzBwC+x/r7+w9958KPAbDHE27/g985Wxb8dKgDcPYgXyYtUnK4/EKAbwk63GkGwARYAFs4HxfgAXxAAAgG4SAGJIJUMA5Gnw3XuRRMAtPAbFAKysESsBKsBRvAZrAd7AJ7QSM4DE6A0+ACuASugTtw9XSBF6AXvAOfEQQhIVSEgRggpogV4oC4ICzEDwlGIpF4JBVJR7IQMSJDpiFzkHJkGbIW2YTUIHuQg8gJ5BzSgdxCHiDdyGvkE4qhGqgOaoxao8NRFspGI9BEdCyahU5Ei9G56CJ0NVqN7kQb0BPoBfQa2om+QPswgKljepgZ5oixMA4Wg6VhmZgUm4GVYRVYNVaHNcPnfAXrxHqwjzgRZ+BM3BGu4DA8CefjE/EZ+EJ8Lb4db8Bb8Sv4A7wX/0agEowIDgRvApcwipBFmEQoJVQQthIOEE7BvdRFeEckEvWINkRPuBdTiTnEqcSFxHXEeuJxYgfxEbGPRCIZkBxIvqQYEo9USColrSHtJB0jXSZ1kT6oqauZqrmohailqYnVStQq1HaoHVW7rPZU7TNZk2xF9ibHkAXkKeTF5C3kZvJFchf5M0WLYkPxpSRSciizKaspdZRTlLuUN+rq6ubqXupx6iL1Weqr1Xern1V/oP5RQ1vDXoOjMUZDprFIY5vGcY1bGm+oVKo1NYCaRi2kLqLWUE9S71M/0Bg0JxqXJqDNpFXSGmiXaS/pZLoVnU0fRy+mV9D30S/SezTJmtaaHE2e5gzNSs2Dmjc0+7QYWiO0YrTytRZq7dA6p/VMm6RtrR2sLdCeq71Z+6T2IwbGsGBwGHzGHMYWxilGlw5Rx0aHq5OjU66zS6ddp1dXW9dNN1l3sm6l7hHdTj1Mz1qPq5ent1hvr951vU9DjIewhwiHLBhSN+TykPf6Q/UD9IX6Zfr1+tf0PxkwDYINcg2WGjQa3DPEDe0N4wwnGa43PGXYM1RnqM9Q/tCyoXuH3jZCjeyN4o2mGm02ajPqMzYxDjWWGK8xPmncY6JnEmCSY7LC5KhJtynD1M9UZLrC9Jjpc6Yuk83MY65mtjJ7zYzMwsxkZpvM2s0+m9uYJ5mXmNeb37OgWLAsMi1WWLRY9FqaWkZZTrOstbxtRbZiWWVbrbI6Y/Xe2sY6xXqedaP1Mxt9G65NsU2tzV1bqq2/7UTbaturdkQ7ll2u3Tq7S/aovbt9tn2l/UUH1MHDQeSwzqFjGGGY1zDxsOphNxw1HNmORY61jg+c9JwinUqcGp1eDrccnjZ86fAzw785uzvnOW9xvjNCe0T4iJIRzSNeu9i78F0qXa66Ul1DXGe6Nrm+cnNwE7qtd7vpznCPcp/n3uL+1cPTQ+pR59HtaemZ7lnleYOlw4plLWSd9SJ4BXrN9Drs9dHbw7vQe6/3Xz6OPrk+O3yejbQZKRy5ZeQjX3Nfnu8m304/pl+630a/Tn8zf55/tf/DAIsAQcDWgKdsO3YOeyf7ZaBzoDTwQOB7jjdnOud4EBYUGlQW1B6sHZwUvDb4foh5SFZIbUhvqHvo1NDjYYSwiLClYTe4xlw+t4bbG+4ZPj28NUIjIiFibcTDSPtIaWRzFBoVHrU86m60VbQ4ujEGxHBjlsfci7WJnRh7KI4YFxtXGfckfkT8tPgzCYyE8Qk7Et4lBiYuTryTZJskS2pJpiePSa5Jfp8SlLIspXPU8FHTR11INUwVpTalkdKS07am9Y0OHr1ydNcY9zGlY66PtRk7eey5cYbj8sYdGU8fzxu/L52QnpK+I/0LL4ZXzevL4GZUZfTyOfxV/BeCAMEKQbfQV7hM+DTTN3NZ5rMs36zlWd3Z/tkV2T0ijmit6FVOWM6GnPe5MbnbcvvzUvLq89Xy0/MPirXFueLWCSYTJk/okDhISiWdE70nrpzYK42Qbi1ACsYWNBXqwB/5Npmt7BfZgyK/osqiD5OSJ+2brDVZPLltiv2UBVOeFocU/zYVn8qf2jLNbNrsaQ+ms6dvmoHMyJjRMtNi5tyZXbNCZ22fTZmdO/v3EueSZSVv56TMaZ5rPHfW3Ee/hP5SW0orlZbemOczb8N8fL5ofvsC1wVrFnwrE5SdL3curyj/spC/8PyvI35d/Wv/osxF7Ys9Fq9fQlwiXnJ9qf/S7cu0lhUve7Q8annDCuaKshVvV45fea7CrWLDKsoq2arO1ZGrm9ZYrlmy5sva7LXXKgMr66uMqhZUvV8nWHd5fcD6ug3GG8o3fNoo2nhzU+imhmrr6orNxM1Fm59sSd5y5jfWbzVbDbeWb/26Tbytc3v89tYaz5qaHUY7FteitbLa7p1jdl7aFbSrqc6xblO9Xn35brBbtvv5nvQ91/dG7G3Zx9pXt99qf9UBxoGyBqRhSkNvY3ZjZ1NqU8fB8IMtzT7NBw45Hdp22Oxw5RHdI4uPUo7OPdp/rPhY33HJ8Z4TWScetYxvuXNy1MmrrXGt7aciTp09HXL65Bn2mWNnfc8ePud97uB51vnGCx4XGtrc2w787v77gXaP9oaLnhebLnldau4Y2XH0sv/lE1eCrpy+yr164Vr0tY7rSddv3hhzo/Om4OazW3m3Xt0uuv35zqy7hLtl9zTvVdw3ul/9h90f9Z0enUceBD1oe5jw8M4j/qMXjwsef+ma+4T6pOKp6dOaZy7PDneHdF96Pvp51wvJi889pX9q/Vn10vbl/r8C/mrrHdXb9Ur6qv/1wjcGb7a9dXvb0hfbd/9d/rvP78s+GHzY/
</template>
<a-watermark
:content="appStore.isOpenWatermark ? (appStore.watermark || `${userStore.userInfo.nickname}(${userStore.userInfo.username})`) : ''"
class="admin-ui-main"
>
<router-view></router-view>
</a-watermark>
</a-config-provider>
</template>
<script setup lang="ts">
import { useAppStore, useUserStore } from '@/stores'
2025-07-26 11:24:29 +08:00
// 1
2025-06-27 19:54:42 +08:00
defineOptions({ name: 'App' })
const userStore = useUserStore()
const appStore = useAppStore()
appStore.initTheme()
appStore.initSiteConfig()
</script>
<style scoped lang="scss">
.loading-icon {
animation: arco-loading-circle 1s infinite cubic-bezier(0,0,1,1);
}
:deep(.arco-empty-image) img {
height: 60px;
}
.admin-ui-main {
display: flex;
flex-direction: column;
height: 100%;
flex: 1;
}
</style>