- 为保证用户的隐私及数据安全,查询结果生成30天后将自动删除
+ 为保证用户的隐私及数据安全,查询结果生成{{ appConfig.query.retention_days }}天后将自动删除
@@ -259,7 +259,7 @@
v-html="featureData.description">
- 为保证用户的隐私以及数据安全,查询的结果生成30天之后将自动清除。
+ 为保证用户的隐私以及数据安全,查询的结果生成{{ appConfig.query.retention_days }}天之后将自动清除。
@@ -285,6 +285,7 @@ import { useUserStore } from "@/stores/userStore";
import { useDialogStore } from "@/stores/dialogStore";
import { useEnv } from "@/composables/useEnv";
import { useAliyunCaptcha } from "@/composables/useAliyunCaptcha";
+import { useAppConfig } from "@/composables/useAppConfig";
import { showConfirmDialog } from "vant";
import Payment from "@/components/Payment.vue";
@@ -359,6 +360,7 @@ const dialogStore = useDialogStore();
const userStore = useUserStore();
const { isWeChat } = useEnv();
const { runWithCaptcha } = useAliyunCaptcha();
+const { appConfig, loadAppConfig } = useAppConfig();
// 响应式数据
const showPayment = ref(false);
@@ -710,6 +712,7 @@ const toHistory = () => {
onMounted(async () => {
await loadBackgroundImage();
await loadTrapezoidBackground();
+ await loadAppConfig();
});
// 加载背景图片
diff --git a/src/components/Payment.vue b/src/components/Payment.vue
index 95ec414..0755c7c 100644
--- a/src/components/Payment.vue
+++ b/src/components/Payment.vue
@@ -12,19 +12,15 @@
-
- ¥ {{ data.sell_price }}
+
+ ¥ {{ displayAmount }}
¥
{{
discountPrice
- ? (data.sell_price * 0.2).toFixed(2)
- : data.sell_price
+ ? displayDiscountAmount
+ : displayAmount
}}
@@ -115,7 +111,7 @@
diff --git a/src/router/index.js b/src/router/index.js
index 734a7a1..eac9563 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -11,6 +11,7 @@ import { useDialogStore } from "@/stores/dialogStore";
import { useEnv } from "@/composables/useEnv";
import { storeToRefs } from "pinia";
import { useSEO } from "@/composables/useSEO";
+import { applyAppWebViewTokenFromRoute } from "@/bootstrap/appWebviewToken";
const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
@@ -123,6 +124,21 @@ const router = createRouter({
import("@/views/UserAgreement.vue"),
meta: { title: "用户协议" },
},
+ {
+ path: "/accountCancelAgreement",
+ name: "accountCancelAgreement",
+ component: () =>
+ import("@/views/AccountCancelAgreement.vue"),
+ meta: { title: "账号注销协议" },
+ },
+ {
+ path: "/cancelAccount",
+ name: "cancelAccount",
+ component: () =>
+ import("@/views/CancelAccount.vue"),
+ meta: { title: "注销账号", requiresAuth: true },
+ },
+
{
path: "/agentManageAgreement",
name: "agentManageAgreement",
@@ -319,6 +335,42 @@ const router = createRouter({
import("@/views/AgentServiceAgreement.vue"),
meta: { title: "信息技术服务合同" },
},
+ {
+ path: "/accountCancelAgreement",
+ name: "accountCancelAgreementApp",
+ component: () =>
+ import("@/views/AccountCancelAgreement.vue"),
+ meta: { title: "账号注销协议" },
+ },
+ {
+ path: "cancelAccount",
+ name: "appCancelAccount",
+ component: () =>
+ import("@/views/CancelAccount.vue"),
+ meta: { title: "注销账号", requiresAuth: true },
+ },
+ /** 无 PageLayout 顶栏,专供 App WebView;与 /report、/example 共用组件 */
+ {
+ path: "report",
+ name: "appReport",
+ component: () => import("@/views/Report.vue"),
+ meta: {
+ title: "报告结果",
+ requiresAuth: true,
+ notNeedBindPhone: true,
+ embedForApp: true,
+ },
+ },
+ {
+ path: "example",
+ name: "appExample",
+ component: () => import("@/views/Example.vue"),
+ meta: {
+ title: "示例报告",
+ notNeedBindPhone: true,
+ embedForApp: true,
+ },
+ },
],
},
],
@@ -364,6 +416,7 @@ NProgress.configure({
// 路由导航守卫
router.beforeEach(async (to, from, next) => {
NProgress.start(); // 启动进度条
+ applyAppWebViewTokenFromRoute(to);
const isAuthenticated = localStorage.getItem("token");
const agentStore = useAgentStore();
const userStore = useUserStore();
diff --git a/src/views/AccountCancelAgreement.vue b/src/views/AccountCancelAgreement.vue
new file mode 100644
index 0000000..5a4795f
--- /dev/null
+++ b/src/views/AccountCancelAgreement.vue
@@ -0,0 +1,56 @@
+
+
+
+
+
+ 帐号注销协议
+
+
+ 您在申请注销流程中点击同意前,应当认真阅读《帐号注销协议》(以下简称“本协议”)。特别提醒您,当您成功提交注销申请后,即表示您已充分阅读、理解并接受本协议的全部内容。阅读本协议的过程中,如果您不同意相关任何条款,请您立即停止帐号注销程序。如您对本协议有任何疑问,可联系我们的客服。
+
+
+
+ 1. 如果您仍欲继续注销帐号,您的帐号需同时满足以下条件:
+
+
+ (1)帐号不在处罚状态中,且能正常登录;
+
+
+ (2)帐号最近一个月内并无修改密码、修改关联手机、绑定手机记录。
+
+
+
+ 2. 您应确保您有权决定该帐号的注销事宜,不侵犯任何第三方的合法权益,如因此引发任何争议,由您自行承担。
+
+
+
+ 3. 您理解并同意,账号注销后我们无法协助您重新恢复前述服务。请您在申请注销前自行备份您欲保留的本帐号信息和数据。
+
+
+
+ 4. 帐号注销后,已绑定的手机号、认证信息将会消失且无法注册。
+
+
+
+ 5. 注销帐号后,您将无法再使用本帐号,也将无法找回您帐号中及与帐号相关的任何内容或信息,包括但不限于:
+
+
+ (1)您将无法继续使用该帐号进行登录;
+
+
+ (2)您帐号的个人资料和历史信息(包含昵称、头像、消费记录、查询报告等)都将无法找回;
+
+
+ (3)您理解并同意注销帐号后,您曾获得的充值余额、贝壳币及其他虚拟财产等将视为您自愿、主动放弃,无法继续使用,由此引起一切纠纷由您自行处理,我们不承担任何责任。
+
+
+
+ 6. 在帐号注销期间,如果您的帐号被他人投诉、被国家机关调查或者正处于诉讼、仲裁程序中,我们有权自行终止您的帐号注销程序,而无需另行得到您的同意。
+
+
+
+ 7. 请注意,注销您的帐号并不代表本帐号注销前的帐号行为和相关责任得到豁免或减轻。
+
+
+
diff --git a/src/views/Agent.vue b/src/views/Agent.vue
index 22382d5..7b629a4 100644
--- a/src/views/Agent.vue
+++ b/src/views/Agent.vue
@@ -105,86 +105,17 @@
-
+