diff --git a/src/pages/setting/About.vue b/src/pages/setting/About.vue index d7fbf40..b2bc905 100644 --- a/src/pages/setting/About.vue +++ b/src/pages/setting/About.vue @@ -71,6 +71,7 @@ const agreementItemList: AgreementItem[] = [ title: "开源软件协议" } ]; +const agreementCodeList = agreementItemList.map(item => item.code); const settingMap = ref>({}); @@ -94,7 +95,7 @@ async function openAgreement(item: AgreementItem): Promise { async function loadSettings(): Promise { try { - settingMap.value = await SettingAPI.map("GAO_SYSTEM"); + settingMap.value = await SettingAPI.map("GAO_SYSTEM", undefined, agreementCodeList); } catch (error) { Message.error(getErrorMessage(error, "协议配置加载失败")); } diff --git a/src/pages/setting/Help.vue b/src/pages/setting/Help.vue new file mode 100644 index 0000000..ca7cce8 --- /dev/null +++ b/src/pages/setting/Help.vue @@ -0,0 +1,333 @@ + + + + + diff --git a/src/pages/setting/HelpArticle.vue b/src/pages/setting/HelpArticle.vue new file mode 100644 index 0000000..a7afec5 --- /dev/null +++ b/src/pages/setting/HelpArticle.vue @@ -0,0 +1,104 @@ + + + + + diff --git a/src/pages/tabs/SettingTab.vue b/src/pages/tabs/SettingTab.vue index 577b00d..6a3a7db 100644 --- a/src/pages/tabs/SettingTab.vue +++ b/src/pages/tabs/SettingTab.vue @@ -239,6 +239,12 @@ const menuGroupList = computed(() => [ }, { items: [ + { + icon: "file-1", + path: "/management/help", + title: "使用说明", + visible: true + }, { icon: "info-circle", path: "/management/about", diff --git a/src/router/routes/managementRoutes.ts b/src/router/routes/managementRoutes.ts index eac3168..159a3d5 100644 --- a/src/router/routes/managementRoutes.ts +++ b/src/router/routes/managementRoutes.ts @@ -130,6 +130,35 @@ export const storeRoutes: RouteRecordRaw[] = [ ]; export const managementSettingRoutes: RouteRecordRaw[] = [ + { + path: "/management/help/article/:id", + name: "HelpArticle", + component: () => import("@/pages/setting/HelpArticle.vue"), + meta: { + depth: 4, + navBarVisible: true, + navBarCanBack: true, + navBarTitle: "使用说明", + tabBarVisible: false, + bodyBackground: "#FFF", + darkBodyBackground: "#10161f" + } + }, + { + path: "/management/help/:pathMatch(.*)*", + name: "HelpMenu", + component: () => import("@/pages/setting/Help.vue"), + meta: { + baseDepth: 2, + dynamicDepth: true, + navBarVisible: true, + navBarCanBack: true, + navBarTitle: "使用说明", + tabBarVisible: false, + bodyBackground: "#F5F5F8", + darkBodyBackground: "#10161f" + } + }, { path: "/management/about", name: "About", diff --git a/src/store/navBarStore.ts b/src/store/navBarStore.ts index 87190a2..9e1af8f 100644 --- a/src/store/navBarStore.ts +++ b/src/store/navBarStore.ts @@ -29,6 +29,10 @@ export const useNavBarStore = defineStore("nav-bar", () => { height.value = value; } + function setTitle(value?: string): void { + title.value = value || ""; + } + function setBackTo(value?: string): void { backTo.value = value; } @@ -106,6 +110,7 @@ export const useNavBarStore = defineStore("nav-bar", () => { isShowing, canBack, setHeight, + setTitle, setBackTo, setRightIcon, setRightBadge,