From 3e7fe5ce14db3b14a5b6179fa68a2d3fd54ed9f8 Mon Sep 17 00:00:00 2001 From: Timi Date: Thu, 10 Sep 2026 17:06:11 +0800 Subject: [PATCH] add About --- LICENSE | 2 +- src/pages/setting/About.vue | 166 ++++++++++++++++++++++++++ src/pages/setting/Agreement.vue | 115 ++++++++++++++++++ src/pages/tabs/SettingTab.vue | 12 +- src/router/routes/managementRoutes.ts | 58 +++++++++ 5 files changed, 351 insertions(+), 2 deletions(-) create mode 100644 src/pages/setting/About.vue create mode 100644 src/pages/setting/Agreement.vue diff --git a/LICENSE b/LICENSE index fae83dd..b13b857 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2026 timi +Copyright (c) 2026 imyeyu.com Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including diff --git a/src/pages/setting/About.vue b/src/pages/setting/About.vue new file mode 100644 index 0000000..440ab54 --- /dev/null +++ b/src/pages/setting/About.vue @@ -0,0 +1,166 @@ + + + + + diff --git a/src/pages/setting/Agreement.vue b/src/pages/setting/Agreement.vue new file mode 100644 index 0000000..4ccc5de --- /dev/null +++ b/src/pages/setting/Agreement.vue @@ -0,0 +1,115 @@ + + + + + diff --git a/src/pages/tabs/SettingTab.vue b/src/pages/tabs/SettingTab.vue index df7a36d..8c86a3b 100644 --- a/src/pages/tabs/SettingTab.vue +++ b/src/pages/tabs/SettingTab.vue @@ -87,7 +87,7 @@ type MenuItem = { type MenuGroup = { items: MenuItem[]; - title: string; + title?: string; }; defineOptions({ @@ -234,6 +234,16 @@ const menuGroupList = computed(() => [ path: "/management/qr-code", title: "生成客户二维码", visible: userStore.hasPermissions(permissionCodes.qrCode.create) + }, + ] + }, + { + items: [ + { + icon: "info-circle", + path: "/management/about", + title: "关于", + visible: true } ] } diff --git a/src/router/routes/managementRoutes.ts b/src/router/routes/managementRoutes.ts index d60e32c..edc279d 100644 --- a/src/router/routes/managementRoutes.ts +++ b/src/router/routes/managementRoutes.ts @@ -1,4 +1,6 @@ import type { RouteRecordRaw } from "vue-router"; +import About from "@/pages/setting/About.vue"; +import Agreement from "@/pages/setting/Agreement.vue"; import AppSettings from "@/pages/setting/AppSettings.vue"; import NotifyList from "@/pages/notify/NotifyList.vue"; import NotifyCreate from "@/pages/notify/NotifyCreate.vue"; @@ -146,6 +148,62 @@ export const storeRoutes: RouteRecordRaw[] = [ ]; export const managementSettingRoutes: RouteRecordRaw[] = [ + { + path: "/management/about", + name: "About", + component: About, + meta: { + depth: 3, + navBarVisible: true, + navBarCanBack: true, + navBarTitle: "关于", + tabBarVisible: false, + bodyBackground: "#F5F5F8", + darkBodyBackground: "#10161f" + } + }, + { + path: "/management/about/service-agreement/:id", + name: "ServiceAgreement", + component: Agreement, + meta: { + depth: 4, + navBarVisible: true, + navBarCanBack: true, + navBarTitle: "服务协议", + tabBarVisible: false, + bodyBackground: "#FFF", + darkBodyBackground: "#10161f" + } + }, + { + path: "/management/about/privacy-agreement/:id", + name: "PrivacyAgreement", + component: Agreement, + meta: { + depth: 4, + navBarVisible: true, + navBarCanBack: true, + navBarTitle: "隐私协议", + tabBarVisible: false, + bodyBackground: "#FFF", + darkBodyBackground: "#10161f" + } + }, + { + path: "/management/about/open-source-agreement/:id", + name: "OpenSourceAgreement", + component: Agreement, + meta: { + depth: 4, + navBarVisible: true, + navBarCanBack: true, + navBarTitle: "开源软件协议", + tabBarVisible: false, + bodyBackground: "#F5F5F8", + darkBodyBackground: "#10161f" + } + }, { path: "/management/settings", name: "AppSettings",