This commit is contained in:
oneao committed 2025-12-22 17:28:31 +08:00
1 parent 0189bf89c9
commit 90ae2c9e7d
11 files changed
+153 -29

No files matched your search

@@ -48,16 +48,16 @@ const router = createRouter({
component: () => import('@/views/settings/info/user/index.vue'),
},
{
path: '/settings/forum/home',
component: () => import('@/views/settings/forum/home.vue'),
path: '/settings/creator/home',
component: () => import('@/views/settings/creator/home.vue'),
},
{
path: '/settings/forum/editor',
component: () => import('@/views/settings/forum/editor.vue'),
path: '/settings/creator/editor',
component: () => import('@/views/settings/creator/editor.vue'),
},
{
path: '/settings/forum/post',
component: () => import('@/views/settings/forum/post.vue'),
path: '/settings/creator/post',
component: () => import('@/views/settings/creator/post.vue'),
},
],
},
+1 -1
View File
@@ -14,7 +14,7 @@ declare module 'vue' {
AnchorMenu: typeof import('./../components/anchor-menu/index.vue')['default']
AreaSelect: typeof import('./../components/AreaSelect.vue')['default']
CustomEmpty: typeof import('./../components/CustomEmpty.vue')['default']
CustomLoading: typeof import('./../components/custom-loading/index.vue')['default']
CustomLoading: typeof import('./../components/CustomLoading.vue')['default']
Directory: typeof import('./../components/wang-editor/modules/directory.vue')['default']
EmailCodeInput: typeof import('./../components/EmailCodeInput.vue')['default']
HelloWorld: typeof import('./../components/HelloWorld.vue')['default']
@@ -1,7 +1,7 @@
<script lang="ts" setup>
import { ref } from 'vue'
import CustomLoading from '@/components/custom-loading/index.vue'
import CustomEmpty from '@/components/CustomEmpty.vue'
import CustomLoading from '@/components/CustomLoading.vue'
const loading = ref<boolean>(false)
@@ -23,10 +23,7 @@ const dataResult = ref<BasePageResult<any>>({
</template>
</CustomEmpty>
<div v-else class="post-container">
</div>
<div v-else class="post-container" />
</template>
<style lang="scss" scoped>
@@ -0,0 +1,137 @@
<script lang="ts" setup>
import { ref } from 'vue'
import CustomLoading from '@/components/CustomLoading.vue'
const loading = ref<boolean>(false)
</script>
<template>
<CustomLoading v-if="loading" :in-container="true" />
<div v-else class="creator-dashboard">
<div class="card">
<div class="card-header">
<div class="card-title">
数据概览
</div>
</div>
<div class="card-content">
<el-row :gutter="16">
<el-col :span="6">
<div class="stat-card">
<div class="stat-title">
文章数
</div>
<div class="stat-value">
<el-statistic :value="98500" />
</div>
</div>
</el-col>
<el-col :span="6">
<div class="stat-card">
<div class="stat-title">
浏览量
</div>
<div class="stat-value">
<el-statistic :value="98500" />
</div>
</div>
</el-col>
<el-col :span="6">
<div class="stat-card">
<div class="stat-title">
点赞数
</div>
<div class="stat-value">
<el-statistic :value="98500" />
</div>
</div>
</el-col>
<el-col :span="6">
<div class="stat-card">
<div class="stat-title">
收藏数量
</div>
<div class="stat-value">
<el-statistic :value="98500" />
</div>
</div>
</el-col>
</el-row>
</div>
</div>
<div class="card">
<div class="card-header">
<div class="card-title">
数据报表
</div>
</div>
<div class="card-content">
</div>
</div>
</div>
</template>
<style lang="scss" scoped>
.creator-dashboard {
display: flex;
flex-direction: column;
}
.card {
display: flex;
flex-direction: column;
background-color: #fff;
.card-header {
padding: 16px;
border-bottom: 1px solid #ddd;
.card-title {
font-size: 20px;
}
}
.card-content {
padding: 16px;
}
}
.stat-card {
background-color: #f7f8fa;
border-radius: 4px;
padding: 16px;
display: flex;
flex-direction: column;
.stat-title {
font-size: 14px;
color: #666;
}
.stat-value {
margin-top: 8px;
display: flex;
align-items: center;
justify-content: space-between;
:deep(.el-statistic__number) {
font-weight: bold;
font-size: 28px;
}
}
}
.chart-container {
display: flex;
flex-direction: column;
gap: 12px;
.other-chart {
display: flex;
gap: 16px;
}
.other-chart > * {
flex: 1;
}
}
</style>
@@ -1,10 +0,0 @@
<script lang="ts" setup>
</script>
<template>
<div class="" />
</template>
<style lang="scss" scoped>
//
</style>
@@ -30,22 +30,22 @@ const menuList: NavMenuItem [] = [
},
{
label: '创作者中心',
index: '/settings/forum',
index: '/settings/creator',
icon: 'hugeicons:edit-01',
children: [
{
label: '首页',
index: '/settings/forum/home',
index: '/settings/creator/home',
icon: 'hugeicons:home-03',
},
{
label: '写文章',
index: '/settings/forum/editor',
index: '/settings/creator/editor',
icon: 'hugeicons:edit-04',
},
{
label: '帖子管理',
index: '/settings/forum/post',
index: '/settings/creator/post',
icon: 'hugeicons:material-and-texture',
},
],
@@ -248,11 +248,11 @@ const activeCollapseNames = ref(['1', '2', '3'])
border-bottom: none;
}
:deep(.el-collapse-item__header){
:deep(.el-collapse-item__header) {
font-size: 18px;
font-weight: 600;
}
:deep(.el-collapse-item__content){
:deep(.el-collapse-item__content) {
padding-bottom: 0px;
}
@@ -41,7 +41,7 @@ export default defineConfig((configEnv) => {
],
server: {
host: '0.0.0.0',
port: 8080,
port: 3000,
open: true,
// 用于配置开发服务器启动时预加载的一些客户端文件,以提高初次加载的速度。
warmup: {