feat: support custom menu

This commit is contained in:
RockYang
2024-03-29 15:41:58 +08:00
parent ab3c4562fa
commit 63e4669e3f
28 changed files with 532 additions and 59 deletions

View File

@@ -11,10 +11,9 @@
<!-- -->
<!-- </el-tooltip>-->
<a @click="changeNav(item)" :class="item.path === curPath ? 'active' : ''">
<el-image :src="item.icon_path" :width="20" v-if="item.icon_path"/>
<i :class="'iconfont icon-' + item.icon" v-else></i>
<el-image :src="item.icon" :width="20"/>
</a>
<div :class="item.path === curPath ? 'title active' : 'title'">{{ item.title }}</div>
<div :class="item.url === curPath ? 'title active' : 'title'">{{ item.name }}</div>
</li>
</ul>
</div>
@@ -37,21 +36,12 @@ import {ElMessage} from "element-plus";
const router = useRouter();
const logo = ref('/images/logo.png');
const navs = ref([
{path: "/chat", icon_path: "/images/chat.png", title: "对话聊天"},
{path: "/mj", icon_path: "/images/mj.png", title: "MJ 绘画"},
{path: "/sd", icon_path: "/images/sd.png", title: "SD 绘画"},
{path: "/apps", icon: "menu", title: "应用中心"},
{path: "/images-wall", icon: "image-list", title: "作品展示"},
{path: "/powerLog", icon: "log", title: "消费日志"},
{path: "/member", icon: "vip-user", title: "会员计划"},
{path: "/invite", icon: "share", title: "推广计划"},
])
const navs = ref([])
const curPath = ref(router.currentRoute.value.path)
const changeNav = (item) => {
curPath.value = item.path
router.push(item.path)
curPath.value = item.url
router.push(item.url)
}
onMounted(() => {
@@ -60,6 +50,12 @@ onMounted(() => {
}).catch(e => {
ElMessage.error("获取系统配置失败:" + e.message)
})
// 获取菜单
httpGet("/api/menu/list").then(res => {
navs.value = res.data
}).catch(e => {
ElMessage.error("获取系统菜单失败:" + e.message)
})
})
</script>