diff --git a/api/cms/design/model/index.ts b/api/cms/design/model/index.ts index 650cad7..2a35f86 100644 --- a/api/cms/design/model/index.ts +++ b/api/cms/design/model/index.ts @@ -37,6 +37,7 @@ export interface Design { // 页面布局 layout?: string; backgroundColor?: string; + buyUrl?: string; } /** diff --git a/components/AppFooter.vue b/components/AppFooter.vue index 5d94356..ab5fe7b 100644 --- a/components/AppFooter.vue +++ b/components/AppFooter.vue @@ -6,10 +6,39 @@ 本站仅供测试和学习交流。请大家支持正版。 @@ -19,20 +48,14 @@ diff --git a/composables/configState.ts b/composables/configState.ts index f0b6f8c..f75d7f2 100644 --- a/composables/configState.ts +++ b/composables/configState.ts @@ -1,6 +1,7 @@ import { useState } from '#imports'; import type { Config } from '~/types/global'; import type {Website} from "~/api/cms/website/model"; +import type {Navigation} from "~/api/cms/navigation/model"; export const useWebsite = () => useState('website', () => { @@ -12,4 +13,14 @@ export const useConfigInfo = () => return {}; }); +export const useMenu = () => + useState('menu', () => { + return []; + }); + +export const useSubMenu = () => + useState('subMenu', () => { + return []; + }); + export const useToken = () => useState('token', () => 'token xxx'); diff --git a/layouts/default.vue b/layouts/default.vue index f3da89a..53bc7d3 100644 --- a/layouts/default.vue +++ b/layouts/default.vue @@ -9,8 +9,10 @@ import {useServerRequest} from "~/composables/useServerRequest"; import type {ApiResult} from "~/api"; import type {Domain} from "~/api/cms/domain/model"; - import {useWebsite} from "~/composables/configState"; + import {useConfigInfo, useMenu, useSubMenu, useWebsite} from "~/composables/configState"; import type {Website} from "~/api/cms/website/model"; + import type {Navigation} from "~/api/cms/navigation/model"; + import type {Config} from "~/types/global"; // TODO 1 查询当前域名是否有绑定域名,绑定则解构出租户ID放入缓存 localStorage.removeItem('TID_DOMAIN'); @@ -42,6 +44,32 @@ } // TODO 4 读取网站配置信息 + const config = useConfigInfo(); + const { data: fields } = await useServerRequest>('/cms/website-field/config', {}); + if (fields.value?.data) { + config.value = fields.value?.data; + } + + // TODO 5 获取网站顶部菜单 + const menu = useMenu() + const { data: menuInfo } = await useServerRequest>('/cms/navigation/tree', { + query: { + position: 1 + } + }); + if(menuInfo.value?.data){ + menu.value = menuInfo.value?.data + } + // TODO 6 获取网站底部菜单 + const subMenu = useSubMenu() + const { data: subMenuInfo } = await useServerRequest>('/cms/navigation/tree', { + query: { + position: 2 + } + }); + if(subMenuInfo.value?.data){ + subMenu.value = subMenuInfo.value?.data + } diff --git a/pages/[custom]/index.vue b/pages/[custom]/index.vue index a9fb388..36c35ed 100644 --- a/pages/[custom]/index.vue +++ b/pages/[custom]/index.vue @@ -40,7 +40,7 @@ const breadcrumb = ref(); // 请求数据 const { data: nav } = await useServerRequest>('/cms/navigation/getNavigationByPath',{ query: { - path + path: '/' + path } }) diff --git a/pages/product/[name].vue b/pages/product/[name].vue index 3127973..1d05cf4 100644 --- a/pages/product/[name].vue +++ b/pages/product/[name].vue @@ -1,34 +1,14 @@