From e88c67ddf91ce593785f565912837c9a3ffe3930 Mon Sep 17 00:00:00 2001
From: jhzh <1628036192@qq.com>
Date: Tue, 12 Aug 2025 15:17:50 +0800
Subject: [PATCH] 1

---
 src/router/index.js | 2403 ++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 1,577 insertions(+), 826 deletions(-)

diff --git a/src/router/index.js b/src/router/index.js
index acfa8fb..fe1aecd 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -1,835 +1,1586 @@
-import { createRouter, createWebHashHistory } from 'vue-router'
-import { useUserStore } from "@/store/user.js";
-
+import {
+	createRouter,
+	createWebHashHistory,
+	createWebHistory
+} from 'vue-router'
+import {
+	useUserStore
+} from "@/store/user.js";
+import {
+	onMounted
+} from 'vue';
+import { authorizedLogin } from "@/service/login.api";
+import { GET_USERINFO } from '@/store/types.store'
 // 路由规则
-const routes = [
-  {
-    path: '/',
-    children: [
-      { path: '', redirect: '/homePage' },
-      {
-        path: '/login',
-        name: 'Login',
-        component: () => import(/* webpackChunkName: "login" */ /* webpackPrefetch: true */'@/views/login/index.vue'),
-      },
-      {
-        path: '/homePage',
-        name: 'Hoem',
-        redirect: '/homePage/index',
-        component: () => import('@/views/Layout.vue'),
-        children: [
-          { path: 'index', meta: { tarbar: true, keepAlive: true }, component: () => import(/* webpackChunkName: "chart" */ /* webpackPrefetch: true */'@/views/homePage/index.vue') },
-        ]
-      },
-      {
-        path: '/optional',
-        name: 'optional',
-        meta: {
-          tarbar: true,
-          keepAlive: true
-        },
-        redirect: '/optional/index',
-        component: () => import('@/views/Layout.vue'),
-        children: [
-          { path: 'index', meta: { tarbar: true, keepAlive: true }, component: () => import(/* webpackChunkName: "chart" */ /* webpackPrefetch: true */'@/views/optional/index.vue') },
-          { path: 'search', meta: { tarbar: false }, component: () => import('@/views/optional/Search.vue') },
-          { path: 'groupListManagement', meta: { tarbar: false }, component: () => import('@/views/optional/GroupListManagement.vue') },
-          { path: 'groupEdit', meta: { tarbar: true }, component: () => import('@/views/optional/GroupEditOrAdd.vue') },
-          { path: 'groupAdd', meta: { tarbar: false }, component: () => import('@/views/optional/GroupEditOrAdd.vue') },
-          { path: 'selectSymbol', meta: { tarbar: false }, component: () => import('@/views/optional/SelectSymbol.vue') },
-          { path: 'editGroupList', meta: { tarbar: false }, component: () => import('@/views/optional/EditGroupList.vue') },
-          { path: '/order/:symbol', meta: { keepAlive: true }, component: () => import(/* webpackChunkName: "chart" */ /* webpackPrefetch: true */'@/views/charts/order.vue') },
-          { path: 'result', component: () => import(/* webpackChunkName: "chart" */ /* webpackPrefetch: true */'@/views/charts/result.vue') },
-        ]
-      },
-      {
-        path: '/quotes',
-        name: 'Quotes',
-        meta: {
-          tarbar: true,
-          keepAlive: true
-        },
-        redirect: '/quotes/index',
-        component: () => import('@/views/Layout.vue'),
-        children: [
-          { path: 'index', meta: { tarbar: true, keepAlive: true }, name: 'quotesIndex', component: () => import(/* webpackChunkName: "quotes" */ /* webpackPrefetch: true */'@/views/quotes/List.vue') },
-          { path: 'detail', meta: { tarbar: true, keepAlive: true }, component: () => import(/* webpackChunkName: "quotes" */ /* webpackPrefetch: true */'@/views/quotes/Detail.vue') },
-          { path: 'constituentDetail', meta: { tarbar: true }, component: () => import(/* webpackChunkName: "quotes" */ /* webpackPrefetch: true */'@/views/quotes/ConstituentDetail.vue') },
-          { path: 'usStockDetail', meta: { tarbar: true, keepAlive: true }, component: () => import(/* webpackChunkName: "quotes" */ /* webpackPrefetch: true */'@/views/usStock/Detail.vue') },
-          { path: 'usStockIndexDetail', meta: { tarbar: true, keepAlive: true }, component: () => import(/* webpackChunkName: "quotes" */ /* webpackPrefetch: true */'@/views/usStock/IndexDetail.vue') },
-          { path: 'hotModules', meta: { tarbar: true }, component: () => import(/* webpackChunkName: "quotes" */ /* webpackPrefetch: true */'@/views/quotes/HotModules.vue') },
-          { path: 'openTrade', meta: { tarbar: false, keepAlive: true }, component: () => import(/* webpackChunkName: "quotes" */ /* webpackPrefetch: true */'@/views/quotes/OpenTrade.vue') },
-          { path: 'usStockOpenTrade', meta: { tarbar: false, keepAlive: true }, component: () => import(/* webpackChunkName: "quotes" */ /* webpackPrefetch: true */'@/views/usStock/UsStockOpenTrade.vue') },
-          { path: 'UsStockMore', meta: { tarbar: false }, component: () => import(/* webpackChunkName: "quotes" */ /* webpackPrefetch: true */'@/views/quotes/UsStockMore.vue') },
-        ]
-      },
-      {
-        path: '/trade',
-        name: 'Trade',
-        meta: {
-          tarbar: true,
-          requireAuth: true
-        },
-        redirect: '/trade/index',
-        component: () => import('@/views/Layout.vue'),
-        children: [
-          { path: 'index', meta: { tarbar: true, keepAlive: true }, name: 'tradeIndex', component: () => import(/* webpackChunkName: "trade" */ /* webpackPrefetch: true */'@/views/trade/index.vue') },
-          // { path: 'detail', meta: { tarbar: true }, component: () => import(/* webpackChunkName: "quotes" */ /* webpackPrefetch: true */'@/views/quotes/Detail.vue') },
-          // { path: 'hotModules', meta: { tarbar: true }, component: () => import(/* webpackChunkName: "quotes" */ /* webpackPrefetch: true */'@/views/quotes/HotModules.vue') },
-          // { path: 'openTrade', meta: { tarbar: false }, component: () => import(/* webpackChunkName: "quotes" */ /* webpackPrefetch: true */'@/views/quotes/OpenTrade.vue') },
-        ]
-      },
-      {
-        path: '/foreign',
-        name: 'Foreign',
-        redirect: '/quotes/index?tabActive=2',
-        meta: {
-          tarbar: false,
-        },
-        component: () => import('@/views/Layout.vue'),
-        children: [
-          { path: 'search', meta: { keepAlive: true }, name: 'search', component: () => import('@/views/foreign/Search.vue') },
-          { path: 'quotation', name: 'quotation', meta: { keepAlive: true }, component: () => import('@/views/foreign/Quotation.vue') },
-          { path: 'coinChart', name: 'coinChart', meta: { keepAlive: true }, component: () => import('@/views/foreign/CoinChart.vue') },
-          { path: 'opening', name: 'opening', meta: { keepAlive: true }, component: () => import('@/views/foreign/Open.vue'), props: true },
-          { //交割合约
-            path: 'deliveryContract/:symbol',
-            name: 'deliveryContract',
-            component: () => import(/* webpackChunkName: "deliveryContract" */ /* webpackPrefetch: true */'@/views/foreign/foreignPerpetualContract/deliveryContract.vue'),
-            meta: { keepAlive: true, tarbar: false, }
-          },
-          {
-            //交割合约历史
-            path: 'ForexDeliveryContractHistory',
-            name: 'ForexDeliveryContractHistory',
-            component: () => import(/* webpackChunkName: "deliveryContractHistory" */ /* webpackPrefetch: true */'@/views/foreign/deliveryContractHistory/index.vue')
-          },
-        ]
-      },
-      {
-        path: '/position',
-        name: 'position',
-        redirect: '/position/index',
-        meta: {
-          tarbar: false,
-        },
-        component: () => import('@/views/Layout.vue'),
-        children: [
-          { path: 'index', meta: { tarbar: false, keepAlive: true }, component: () => import('@/views/position/index.vue') },
-        ]
-      },
-      {
-        path: '/history',
-        name: 'History',
-        component: () => import('@/views/Layout.vue'),
-        meta: { tarbar: false },
-        redirect: '/history/list',
-        children: [
-          { path: 'list', meta: { tarbar: false, keepAlive: true, }, component: () => import(/* webpackChunkName: "history" */ /* webpackPrefetch: true */'@/views/history/List.vue') }
-        ]
-      },
-      {
-        path: '/news',
-        name: 'News',
-        redirect: '/news/index',
-        component: () => import('@/views/Layout.vue'),
-        children: [
-          { path: 'index', meta: { tarbar: true, keepAlive: true }, component: () => import(/* webpackChunkName: "chart" */ /* webpackPrefetch: true */'@/views/news/index.vue') },
-        ]
-      },
-      {
-        path: '/documentation',
-        name: 'Dumentation',
-        redirect: '/documentation/index',
-        component: () => import('@/views/Layout.vue'),
-        children: [
-          { path: 'index', meta: { tarbar: true, keepAlive: true }, component: () => import(/* webpackChunkName: "chart" */ /* webpackPrefetch: true */'@/views/documentation/index.vue') },
-        ]
-      },
-      {
-        path: '/chart',
-        name: 'Chart',
-        redirect: '/chart/index',
-        component: () => import('@/views/Layout.vue'),
-        children: [
-          { path: 'index', meta: { tarbar: true, keepAlive: true }, component: () => import(/* webpackChunkName: "chart" */ /* webpackPrefetch: true */'@/views/charts/index.vue') },
-          { path: '/order/:symbol', meta: { keepAlive: true }, component: () => import(/* webpackChunkName: "chart" */ /* webpackPrefetch: true */'@/views/charts/order.vue') },
-          { path: 'result', component: () => import(/* webpackChunkName: "chart" */ /* webpackPrefetch: true */'@/views/charts/result.vue') },
-        ]
-      },
-      {
-        path: '/exchangeHistory',
-        name: 'ExchangeHistory',
-        redirect: '/exchangeHistory/dailyDeal',
-        component: () => import('@/views/Layout.vue'),
-        children: [
-          { path: 'dailyDeal', meta: { tarbar: false, keepAlive: true }, component: () => import(/* webpackChunkName: "chart" */ /* webpackPrefetch: true */'@/views/exchangeHistory/DailyDeal.vue') },
-          { path: 'dailyEntrust', meta: { tarbar: false, keepAlive: true }, component: () => import(/* webpackChunkName: "chart" */ /* webpackPrefetch: true */'@/views/exchangeHistory/DailyEntrust.vue') },
-          { path: 'historicalEntrust', meta: { tarbar: false, keepAlive: true }, component: () => import(/* webpackChunkName: "chart" */ /* webpackPrefetch: true */'@/views/exchangeHistory/HistoricalEntrust.vue') },
-          { path: 'historicalTransaction', meta: { tarbar: false, keepAlive: true }, component: () => import(/* webpackChunkName: "chart" */ /* webpackPrefetch: true */'@/views/exchangeHistory/HistoricalTransaction.vue') },
-          { path: 'search', meta: { tarbar: false, keepAlive: true }, component: () => import(/* webpackChunkName: "chart" */ /* webpackPrefetch: true */'@/views/exchangeHistory/Search.vue') },
-          { path: 'tradeRecord', meta: { tarbar: false, keepAlive: true }, component: () => import(/* webpackChunkName: "chart" */ /* webpackPrefetch: true */'@/views/exchangeHistory/tradeRecord.vue') },
-        ]
-      },
-      {
-        path: '/exchange',
-        name: 'Exchange',
-        redirect: '/exchange/list',
-        // meta: { tarbar: true },
-        component: () => import('@/views/Layout.vue'),
-        children: [
-          { path: 'list', meta: { tarbar: true, keepAlive: true, requireAuth: true }, component: () => import(/* webpackChunkName: "exchange" */ /* webpackPrefetch: true */'@/views/exchange/List.vue') },
-          { path: 'channel-in', meta: { keepAlive: true }, name: 'channelIn', component: () => import(/* webpackChunkName: "exchange" */ /* webpackPrefetch: true */'@/views/exchange/Channel.vue') },
-          { path: 'channel-out', meta: { keepAlive: true }, name: 'channelOut', component: () => import(/* webpackChunkName: "exchange" */ /* webpackPrefetch: true */'@/views/exchange/Channel.vue') },
-          { path: 'charge-bank', meta: { keepAlive: true }, component: () => import(/* webpackChunkName: "exchange" */ /* webpackPrefetch: true */'@/views/exchange/charge-bank.vue') },
-          { path: 'charge-crypto', meta: { keepAlive: true }, component: () => import(/* webpackChunkName: "exchange" */ /* webpackPrefetch: true */'@/views/exchange/charge-crypto.vue') },
-          { path: 'warehouse', meta: { keepAlive: true }, component: () => import(/* webpackChunkName: "exchange" */ /* webpackPrefetch: true */'@/views/exchange/warehouse.vue') },
-          { path: 'withdraw-bank', meta: { keepAlive: true }, component: () => import(/* webpackChunkName: "exchange" */ /* webpackPrefetch: true */'@/views/exchange/withdraw-bank.vue') }, //银行卡提现
-          { path: 'fund-password-verify', meta: { keepAlive: true }, component: () => import(/* webpackChunkName: "exchange" */ /* webpackPrefetch: true */'@/views/exchange/FundPasswordVerify.vue') }, //资金密码验证
-          { path: 'withdraw-usdt', meta: { keepAlive: true }, component: () => import(/* webpackChunkName: "exchange" */ /* webpackPrefetch: true */'@/views/exchange/withdraw-usdt.vue') }, //usdt提现
-        ]
-      },
-      {
-        //加密货币
-        path: '/cryptos',
-        name: 'Cryptos',
-        redirect: '/quotes/index?tabActive=1',
-        meta: {
-          tarbar: false,
-        },
-        component: () => import('@/views/Layout.vue'),
-        children: [
-          { path: 'announce', meta: { tarbar: false, keepAlive: true }, component: () => import('@/views/cryptos/Announce/index.vue') },
-          { path: 'announceDetail', meta: { tarbar: false, keepAlive: true }, component: () => import('@/views/cryptos/Announce/announceDetail.vue') },
-          { path: 'exchangePage', meta: { tarbar: false, keepAlive: true }, component: () => import('@/views/cryptos/Exchange/exchangePage.vue') },
-          { path: 'exchangeHistory', meta: { tarbar: false, keepAlive: true }, component: () => import('@/views/cryptos/Exchange/exchangeHistory.vue') },
-          { path: 'exchangeSubmit', meta: { tarbar: false, keepAlive: true }, component: () => import('@/views/cryptos/Exchange/exchangeSubmit.vue') },
-          { path: 'exchangeRate', meta: { tarbar: false, keepAlive: true }, component: () => import('@/views/cryptos/Exchange/exchangeRate.vue') },
-          { path: 'accountChange', meta: { tarbar: false, keepAlive: true }, component: () => import('@/views/cryptos/AccountChange/index.vue') },
-          { path: 'funds', meta: { tarbar: false, keepAlive: true }, component: () => import('@/views/cryptos/Funds/index.vue') },
-          { path: 'assetsCenter', meta: { tarbar: false, keepAlive: true }, component: () => import('@/views/cryptos/AssetsCenter/index.vue') },
-          { path: 'trade/:symbol', name: 'trade', meta: { tarbar: false, keepAlive: true }, component: () => import('@/views/cryptos/Trade/index.vue') },
-          { path: 'trendDetails/:symbol', name: 'tradeDetail', meta: { tarbar: false, keepAlive: true }, component: () => import('@/views/cryptos/TrendDetails/index.vue') },
-          { path: 'tradeRecord/:symbol', name: 'tradeRecord', meta: { tarbar: false, keepAlive: true }, component: () => import('@/views/cryptos/TradeRecord/index.vue') },
-          { //永续合约
-            path: 'perpetualContract/:symbol',
-            name: 'perpetualContract',
-            meta: { tarbar: false, keepAlive: true },
-            component: () => import(/* webpackChunkName: "perpetualContract" */ /* webpackPrefetch: true */'@/views/cryptos/PerpetualContract/index.vue'),
-          },
-          { //永续合约(旧)
-            path: 'perpetualContractOld/:symbol',
-            name: 'perpetualContractOld',
-            meta: { tarbar: false, keepAlive: true },
-            component: () => import(/* webpackChunkName: "perpetualContractOld" */ /* webpackPrefetch: true */'@/views/cryptos/PerpetualContract/index-old.vue'),
-          },
-          { //充值列表
-            path: 'recharge/rechargeList',
-            name: 'rechargeList',
-            meta: { tarbar: false, keepAlive: true },
-            component: () => import(/* webpackChunkName: "perpetualContract" */ /* webpackPrefetch: true */'@/views/cryptos/Recharge/rechargeList.vue'),
-          },
-          {
-            //充值页面
-            path: "recharge/rechargePage",
-            name: "rechargePage",
-            meta: { tarbar: false, keepAlive: true },
-            component: () =>
-              import(
-                /* webpackChunkName: "rechargePage" */ /* webpackPrefetch: true */"@/views/cryptos/Recharge/rechargePage.vue"
-              ),
-          },
-          {
-            //充值提交
-            path: "recharge/rechargeSubmit",
-            name: "rechargeSubmit",
-            meta: { tarbar: false, keepAlive: true },
-            component: () =>
-              import(
-                /* webpackChunkName: "rechargeSubmit" */ /* webpackPrefetch: true */"@/views/cryptos/Recharge/rechargeSubmit.vue"
-              ),
-          },
-          {
-            //充值详情
-            path: "recharge/rechargeDetail",
-            name: "rechargeDetail",
-            meta: { tarbar: false, keepAlive: true },
-            component: () =>
-              import(
-                /* webpackChunkName: "rechargeDetail" */ /* webpackPrefetch: true */"@/views/cryptos/Recharge/rechargeDetail.vue"
-              ),
-          },
-          {
-            path: "assetsCenter/index",
-            name: "Assets",
-            meta: { tarbar: false, keepAlive: true },
-            component: () =>
-              import(
-                    /* webpackChunkName: "Assets" */ /* webpackPrefetch: true */"@/views/cryptos/AssetsCenter/index.vue"
-              ),
-          },
-          {
-            //充提记录
-            path: "assetsCenter/rechargeWithdrawRecord",
-            name: "rechargeWithdrawRecord",
-            meta: { tarbar: false, keepAlive: true },
-            component: () =>
-              import(
-                /* webpackChunkName: "rechargeWithdrawRecord" */ /* webpackPrefetch: true */"@/views/cryptos/AssetsCenter/rechargeWithdrawRecord.vue"
-              ),
-          },
-          {
-            //提现页面
-            path: "withdraw/withdrawPage",
-            name: "withdrawPage",
-            meta: { tarbar: false, keepAlive: true },
-            component: () =>
-              import(
-                /* webpackChunkName: "withdrawPage" */ /* webpackPrefetch: true */"@/views/cryptos/Withdraw/withdrawPage.vue"
-              ),
-          },
-          {
-            //输入资金密码
-            path: "withdraw/securityVerification",
-            name: "securityVerification",
-            meta: { tarbar: false, keepAlive: true },
-            component: () =>
-              import(
-                /* webpackChunkName: "withdrawPage" */ /* webpackPrefetch: true */"@/views/cryptos/Withdraw/withdrawalSecurityVerification.vue"
-              ),
-          },
-          {
-            //提交成功
-            path: "withdraw/withdrawSumbit",
-            name: "withdrawSumbit",
-            meta: { tarbar: false, keepAlive: true },
-            component: () =>
-              import(
-                /* webpackChunkName: "withdrawPage" */ /* webpackPrefetch: true */"@/views/cryptos/Withdraw/withdrawSumbit.vue"
-              ),
-          },
-          {
-            //详情
-            path: "withdraw/withdrawDetail",
-            name: "withdrawDetail",
-            meta: { tarbar: false, keepAlive: true },
-            component: () =>
-              import(
-                /* webpackChunkName: "withdrawPage" */ /* webpackPrefetch: true */"@/views/cryptos/Withdraw/withdrawDetail.vue"
-              ),
-          },
-          {
-            //充值详情
-            path: "recharge/rechargeDetail",
-            name: "rechargeDetail",
-            meta: { tarbar: false, keepAlive: true },
-            component: () =>
-              import(
-                /* webpackChunkName: "withdrawPage" */ /* webpackPrefetch: true */"@/views/cryptos/Recharge/rechargeDetail.vue"
-              ),
-          },
-          { //U本位历史
-            path: 'perpetualHistory',
-            name: 'perpetualHistory',
-            component: () => import(/* webpackChunkName: "perpetualHistory" */ /* webpackPrefetch: true */'@/views/cryptos/PerpetualContract/perpetualHistory.vue')
-          },
-          {
-            //交割合约历史
-            path: 'deliveryContractHistory',
-            name: 'DeliveryContractHistory',
-            component: () => import(/* webpackChunkName: "DeliveryContractHistory" */ /* webpackPrefetch: true */'@/views/cryptos/DeliveryContractHistory/index.vue')
-          },
-          { //永续合约订单详情
-            path: 'orderDetail',
-            name: 'orderDetail',
-            component: () => import(/* webpackChunkName: "orderDetail" */ /* webpackPrefetch: true */'@/views/cryptos/PerpetualContract/orderDetail.vue')
-          },
-          { //永续合约委托详情
-            path: 'entrustDetail',
-            name: 'entrustDetail',
-            component: () => import(/* webpackChunkName: "entrustDetail" */ /* webpackPrefetch: true */'@/views/cryptos/PerpetualContract/entrustDetail.vue')
-          },
-          { //永续合约订单详情
-            path: 'symbolOrderDetail',
-            name: 'symbolOrderDetail',
-            component: () => import(/* webpackChunkName: "orderDetail" */ /* webpackPrefetch: true */'@/views/cryptos/SymbolOrderDetail/index.vue')
-          },
-          {
-            //理财历史
-            path: 'financialHistory',
-            name: 'FinancialHistory',
-            component: () => import(/* webpackChunkName: "FinancialHistory" */ /* webpackPrefetch: true */'@/views/cryptos/FinancialHistory/index.vue')
-          },
+const routes = [{
+	path: '/',
+	children: [{
+			path: '',
+			redirect: '/homePage'
+		},
+		{
+			path: '/login',
+			name: 'Login',
+			component: () => import( /* webpackChunkName: "login" */ /* webpackPrefetch: true */
+				'@/views/login/index.vue'),
+		},
+		{
+			path: '/homePage',
+			name: 'Hoem',
+			redirect: '/homePage/index',
+			component: () => import('@/views/Layout.vue'),
+			children: [{
+				path: 'index',
+				meta: {
+					tarbar: true,
+					keepAlive: true
+				},
+				component: () => import( /* webpackChunkName: "chart" */ /* webpackPrefetch: true */
+					'@/views/homePage/index.vue')
+			}, ]
+		},
+		{
+			path: '/optional',
+			name: 'optional',
+			meta: {
+				tarbar: true,
+				keepAlive: true
+			},
+			redirect: '/optional/index',
+			component: () => import('@/views/Layout.vue'),
+			children: [{
+					path: 'index',
+					meta: {
+						tarbar: true,
+						keepAlive: true
+					},
+					component: () => import( /* webpackChunkName: "chart" */ /* webpackPrefetch: true */
+						'@/views/optional/index.vue')
+				},
+				{
+					path: 'search',
+					meta: {
+						tarbar: false
+					},
+					component: () => import('@/views/optional/Search.vue')
+				},
+				{
+					path: 'groupListManagement',
+					meta: {
+						tarbar: false
+					},
+					component: () => import('@/views/optional/GroupListManagement.vue')
+				},
+				{
+					path: 'groupEdit',
+					meta: {
+						tarbar: true
+					},
+					component: () => import('@/views/optional/GroupEditOrAdd.vue')
+				},
+				{
+					path: 'groupAdd',
+					meta: {
+						tarbar: false
+					},
+					component: () => import('@/views/optional/GroupEditOrAdd.vue')
+				},
+				{
+					path: 'selectSymbol',
+					meta: {
+						tarbar: false
+					},
+					component: () => import('@/views/optional/SelectSymbol.vue')
+				},
+				{
+					path: 'editGroupList',
+					meta: {
+						tarbar: false
+					},
+					component: () => import('@/views/optional/EditGroupList.vue')
+				},
+				{
+					path: '/order/:symbol',
+					meta: {
+						keepAlive: true
+					},
+					component: () => import( /* webpackChunkName: "chart" */ /* webpackPrefetch: true */
+						'@/views/charts/order.vue')
+				},
+				{
+					path: 'result',
+					component: () => import( /* webpackChunkName: "chart" */ /* webpackPrefetch: true */
+						'@/views/charts/result.vue')
+				},
+			]
+		},
+		{
+			path: '/quotes',
+			name: 'Quotes',
+			meta: {
+				tarbar: true,
+				keepAlive: true
+			},
+			redirect: '/quotes/index',
+			component: () => import('@/views/Layout.vue'),
+			children: [{
+					path: 'index',
+					meta: {
+						tarbar: true,
+						keepAlive: true
+					},
+					name: 'quotesIndex',
+					component: () =>
+						import( /* webpackChunkName: "quotes" */ /* webpackPrefetch: true */
+							'@/views/quotes/List.vue')
+				},
+				{
+					path: 'detail',
+					meta: {
+						tarbar: true,
+						keepAlive: true
+					},
+					component: () =>
+						import( /* webpackChunkName: "quotes" */ /* webpackPrefetch: true */
+							'@/views/quotes/Detail.vue')
+				},
+				{
+					path: 'constituentDetail',
+					meta: {
+						tarbar: true
+					},
+					component: () =>
+						import( /* webpackChunkName: "quotes" */ /* webpackPrefetch: true */
+							'@/views/quotes/ConstituentDetail.vue')
+				},
+				{
+					path: 'usStockDetail',
+					meta: {
+						tarbar: true,
+						keepAlive: true
+					},
+					component: () =>
+						import( /* webpackChunkName: "quotes" */ /* webpackPrefetch: true */
+							'@/views/usStock/Detail.vue')
+				},
+				{
+					path: 'usStockIndexDetail',
+					meta: {
+						tarbar: true,
+						keepAlive: true
+					},
+					component: () =>
+						import( /* webpackChunkName: "quotes" */ /* webpackPrefetch: true */
+							'@/views/usStock/IndexDetail.vue')
+				},
+				{
+					path: 'hotModules',
+					meta: {
+						tarbar: true
+					},
+					component: () =>
+						import( /* webpackChunkName: "quotes" */ /* webpackPrefetch: true */
+							'@/views/quotes/HotModules.vue')
+				},
+				{
+					path: 'openTrade',
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () =>
+						import( /* webpackChunkName: "quotes" */ /* webpackPrefetch: true */
+							'@/views/quotes/OpenTrade.vue')
+				},
+				{
+					path: 'usStockOpenTrade',
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () =>
+						import( /* webpackChunkName: "quotes" */ /* webpackPrefetch: true */
+							'@/views/usStock/UsStockOpenTrade.vue')
+				},
+				{
+					path: 'UsStockMore',
+					meta: {
+						tarbar: false
+					},
+					component: () =>
+						import( /* webpackChunkName: "quotes" */ /* webpackPrefetch: true */
+							'@/views/quotes/UsStockMore.vue')
+				},
+			]
+		},
+		{
+			path: '/trade',
+			name: 'Trade',
+			meta: {
+				tarbar: true,
+				requireAuth: true
+			},
+			redirect: '/trade/index',
+			component: () => import('@/views/Layout.vue'),
+			children: [{
+					path: 'index',
+					meta: {
+						tarbar: true,
+						keepAlive: true
+					},
+					name: 'tradeIndex',
+					component: () => import( /* webpackChunkName: "trade" */ /* webpackPrefetch: true */
+						'@/views/trade/index.vue')
+				},
+				// { path: 'detail', meta: { tarbar: true }, component: () => import(/* webpackChunkName: "quotes" */ /* webpackPrefetch: true */'@/views/quotes/Detail.vue') },
+				// { path: 'hotModules', meta: { tarbar: true }, component: () => import(/* webpackChunkName: "quotes" */ /* webpackPrefetch: true */'@/views/quotes/HotModules.vue') },
+				// { path: 'openTrade', meta: { tarbar: false }, component: () => import(/* webpackChunkName: "quotes" */ /* webpackPrefetch: true */'@/views/quotes/OpenTrade.vue') },
+			]
+		},
+		{
+			path: '/foreign',
+			name: 'Foreign',
+			redirect: '/quotes/index?tabActive=2',
+			meta: {
+				tarbar: false,
+			},
+			component: () => import('@/views/Layout.vue'),
+			children: [{
+					path: 'search',
+					meta: {
+						keepAlive: true
+					},
+					name: 'search',
+					component: () => import('@/views/foreign/Search.vue')
+				},
+				{
+					path: 'quotation',
+					name: 'quotation',
+					meta: {
+						keepAlive: true
+					},
+					component: () => import('@/views/foreign/Quotation.vue')
+				},
+				{
+					path: 'coinChart',
+					name: 'coinChart',
+					meta: {
+						keepAlive: true
+					},
+					component: () => import('@/views/foreign/CoinChart.vue')
+				},
+				{
+					path: 'opening',
+					name: 'opening',
+					meta: {
+						keepAlive: true
+					},
+					component: () => import('@/views/foreign/Open.vue'),
+					props: true
+				},
+				{ //交割合约
+					path: 'deliveryContract/:symbol',
+					name: 'deliveryContract',
+					component: () =>
+						import( /* webpackChunkName: "deliveryContract" */ /* webpackPrefetch: true */
+							'@/views/foreign/foreignPerpetualContract/deliveryContract.vue'),
+					meta: {
+						keepAlive: true,
+						tarbar: false,
+					}
+				},
+				{
+					//交割合约历史
+					path: 'ForexDeliveryContractHistory',
+					name: 'ForexDeliveryContractHistory',
+					component: () =>
+						import( /* webpackChunkName: "deliveryContractHistory" */ /* webpackPrefetch: true */
+							'@/views/foreign/deliveryContractHistory/index.vue')
+				},
+			]
+		},
+		{
+			path: '/position',
+			name: 'position',
+			redirect: '/position/index',
+			meta: {
+				tarbar: false,
+			},
+			component: () => import('@/views/Layout.vue'),
+			children: [{
+				path: 'index',
+				meta: {
+					tarbar: false,
+					keepAlive: true
+				},
+				component: () => import('@/views/position/index.vue')
+			}, ]
+		},
+		{
+			path: '/history',
+			name: 'History',
+			component: () => import('@/views/Layout.vue'),
+			meta: {
+				tarbar: false
+			},
+			redirect: '/history/list',
+			children: [{
+				path: 'list',
+				meta: {
+					tarbar: false,
+					keepAlive: true,
+				},
+				component: () =>
+					import( /* webpackChunkName: "history" */ /* webpackPrefetch: true */
+						'@/views/history/List.vue')
+			}]
+		},
+		{
+			path: '/news',
+			name: 'News',
+			redirect: '/news/index',
+			component: () => import('@/views/Layout.vue'),
+			children: [{
+				path: 'index',
+				meta: {
+					tarbar: true,
+					keepAlive: true
+				},
+				component: () => import( /* webpackChunkName: "chart" */ /* webpackPrefetch: true */
+					'@/views/news/index.vue')
+			}, ]
+		},
+		{
+			path: '/documentation',
+			name: 'Dumentation',
+			redirect: '/documentation/index',
+			component: () => import('@/views/Layout.vue'),
+			children: [{
+				path: 'index',
+				meta: {
+					tarbar: true,
+					keepAlive: true
+				},
+				component: () => import( /* webpackChunkName: "chart" */ /* webpackPrefetch: true */
+					'@/views/documentation/index.vue')
+			}, ]
+		},
+		{
+			path: '/chart',
+			name: 'Chart',
+			redirect: '/chart/index',
+			component: () => import('@/views/Layout.vue'),
+			children: [{
+					path: 'index',
+					meta: {
+						tarbar: true,
+						keepAlive: true
+					},
+					component: () => import( /* webpackChunkName: "chart" */ /* webpackPrefetch: true */
+						'@/views/charts/index.vue')
+				},
+				{
+					path: '/order/:symbol',
+					meta: {
+						keepAlive: true
+					},
+					component: () => import( /* webpackChunkName: "chart" */ /* webpackPrefetch: true */
+						'@/views/charts/order.vue')
+				},
+				{
+					path: 'result',
+					component: () => import( /* webpackChunkName: "chart" */ /* webpackPrefetch: true */
+						'@/views/charts/result.vue')
+				},
+			]
+		},
+		{
+			path: '/exchangeHistory',
+			name: 'ExchangeHistory',
+			redirect: '/exchangeHistory/dailyDeal',
+			component: () => import('@/views/Layout.vue'),
+			children: [{
+					path: 'dailyDeal',
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () => import( /* webpackChunkName: "chart" */ /* webpackPrefetch: true */
+						'@/views/exchangeHistory/DailyDeal.vue')
+				},
+				{
+					path: 'dailyEntrust',
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () => import( /* webpackChunkName: "chart" */ /* webpackPrefetch: true */
+						'@/views/exchangeHistory/DailyEntrust.vue')
+				},
+				{
+					path: 'historicalEntrust',
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () => import( /* webpackChunkName: "chart" */ /* webpackPrefetch: true */
+						'@/views/exchangeHistory/HistoricalEntrust.vue')
+				},
+				{
+					path: 'historicalTransaction',
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () => import( /* webpackChunkName: "chart" */ /* webpackPrefetch: true */
+						'@/views/exchangeHistory/HistoricalTransaction.vue')
+				},
+				{
+					path: 'search',
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () => import( /* webpackChunkName: "chart" */ /* webpackPrefetch: true */
+						'@/views/exchangeHistory/Search.vue')
+				},
+				{
+					path: 'tradeRecord',
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () => import( /* webpackChunkName: "chart" */ /* webpackPrefetch: true */
+						'@/views/exchangeHistory/tradeRecord.vue')
+				},
+			]
+		},
+		{
+			path: '/exchange',
+			name: 'Exchange',
+			redirect: '/exchange/list',
+			// meta: { tarbar: true },
+			component: () => import('@/views/Layout.vue'),
+			children: [{
+					path: 'list',
+					meta: {
+						tarbar: true,
+						keepAlive: true,
+						requireAuth: true
+					},
+					component: () =>
+						import( /* webpackChunkName: "exchange" */ /* webpackPrefetch: true */
+							'@/views/exchange/List.vue')
+				},
+				{
+					path: 'channel-in',
+					meta: {
+						keepAlive: true
+					},
+					name: 'channelIn',
+					component: () =>
+						import( /* webpackChunkName: "exchange" */ /* webpackPrefetch: true */
+							'@/views/exchange/Channel.vue')
+				},
+				{
+					path: 'channel-out',
+					meta: {
+						keepAlive: true
+					},
+					name: 'channelOut',
+					component: () =>
+						import( /* webpackChunkName: "exchange" */ /* webpackPrefetch: true */
+							'@/views/exchange/Channel.vue')
+				},
+				{
+					path: 'charge-bank',
+					meta: {
+						keepAlive: true
+					},
+					component: () =>
+						import( /* webpackChunkName: "exchange" */ /* webpackPrefetch: true */
+							'@/views/exchange/charge-bank.vue')
+				},
+				{
+					path: 'charge-crypto',
+					meta: {
+						keepAlive: true
+					},
+					component: () =>
+						import( /* webpackChunkName: "exchange" */ /* webpackPrefetch: true */
+							'@/views/exchange/charge-crypto.vue')
+				},
+				{
+					path: 'warehouse',
+					meta: {
+						keepAlive: true
+					},
+					component: () =>
+						import( /* webpackChunkName: "exchange" */ /* webpackPrefetch: true */
+							'@/views/exchange/warehouse.vue')
+				},
+				{
+					path: 'withdraw-bank',
+					meta: {
+						keepAlive: true
+					},
+					component: () =>
+						import( /* webpackChunkName: "exchange" */ /* webpackPrefetch: true */
+							'@/views/exchange/withdraw-bank.vue')
+				}, //银行卡提现
+				{
+					path: 'fund-password-verify',
+					meta: {
+						keepAlive: true
+					},
+					component: () =>
+						import( /* webpackChunkName: "exchange" */ /* webpackPrefetch: true */
+							'@/views/exchange/FundPasswordVerify.vue')
+				}, //资金密码验证
+				{
+					path: 'withdraw-usdt',
+					meta: {
+						keepAlive: true
+					},
+					component: () =>
+						import( /* webpackChunkName: "exchange" */ /* webpackPrefetch: true */
+							'@/views/exchange/withdraw-usdt.vue')
+				}, //usdt提现
+			]
+		},
+		{
+			//加密货币
+			path: '/cryptos',
+			name: 'Cryptos',
+			redirect: '/quotes/index?tabActive=1',
+			meta: {
+				tarbar: false,
+			},
+			component: () => import('@/views/Layout.vue'),
+			children: [{
+					path: 'announce',
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () => import('@/views/cryptos/Announce/index.vue')
+				},
+				{
+					path: 'announceDetail',
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () => import('@/views/cryptos/Announce/announceDetail.vue')
+				},
+				{
+					path: 'exchangePage',
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () => import('@/views/cryptos/Exchange/exchangePage.vue')
+				},
+				{
+					path: 'exchangeHistory',
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () => import('@/views/cryptos/Exchange/exchangeHistory.vue')
+				},
+				{
+					path: 'exchangeSubmit',
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () => import('@/views/cryptos/Exchange/exchangeSubmit.vue')
+				},
+				{
+					path: 'exchangeRate',
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () => import('@/views/cryptos/Exchange/exchangeRate.vue')
+				},
+				{
+					path: 'accountChange',
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () => import('@/views/cryptos/AccountChange/index.vue')
+				},
+				{
+					path: 'funds',
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () => import('@/views/cryptos/Funds/index.vue')
+				},
+				{
+					path: 'assetsCenter',
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () => import('@/views/cryptos/AssetsCenter/index.vue')
+				},
+				{
+					path: 'trade/:symbol',
+					name: 'trade',
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () => import('@/views/cryptos/Trade/index.vue')
+				},
+				{
+					path: 'trendDetails/:symbol',
+					name: 'tradeDetail',
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () => import('@/views/cryptos/TrendDetails/index.vue')
+				},
+				{
+					path: 'tradeRecord/:symbol',
+					name: 'tradeRecord',
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () => import('@/views/cryptos/TradeRecord/index.vue')
+				},
+				{ //永续合约
+					path: 'perpetualContract/:symbol',
+					name: 'perpetualContract',
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () =>
+						import( /* webpackChunkName: "perpetualContract" */ /* webpackPrefetch: true */
+							'@/views/cryptos/PerpetualContract/index.vue'),
+				},
+				{ //永续合约(旧)
+					path: 'perpetualContractOld/:symbol',
+					name: 'perpetualContractOld',
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () =>
+						import( /* webpackChunkName: "perpetualContractOld" */ /* webpackPrefetch: true */
+							'@/views/cryptos/PerpetualContract/index-old.vue'),
+				},
+				{ //充值列表
+					path: 'recharge/rechargeList',
+					name: 'rechargeList',
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () =>
+						import( /* webpackChunkName: "perpetualContract" */ /* webpackPrefetch: true */
+							'@/views/cryptos/Recharge/rechargeList.vue'),
+				},
+				{
+					//充值页面
+					path: "recharge/rechargePage",
+					name: "rechargePage",
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () =>
+						import(
+							/* webpackChunkName: "rechargePage" */
+							/* webpackPrefetch: true */
+							"@/views/cryptos/Recharge/rechargePage.vue"
+						),
+				},
+				{
+					//充值提交
+					path: "recharge/rechargeSubmit",
+					name: "rechargeSubmit",
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () =>
+						import(
+							/* webpackChunkName: "rechargeSubmit" */
+							/* webpackPrefetch: true */
+							"@/views/cryptos/Recharge/rechargeSubmit.vue"
+						),
+				},
+				{
+					//充值详情
+					path: "recharge/rechargeDetail",
+					name: "rechargeDetail",
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () =>
+						import(
+							/* webpackChunkName: "rechargeDetail" */
+							/* webpackPrefetch: true */
+							"@/views/cryptos/Recharge/rechargeDetail.vue"
+						),
+				},
+				{
+					path: "assetsCenter/index",
+					name: "Assets",
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () =>
+						import(
+							/* webpackChunkName: "Assets" */
+							/* webpackPrefetch: true */
+							"@/views/cryptos/AssetsCenter/index.vue"
+						),
+				},
+				{
+					//充提记录
+					path: "assetsCenter/rechargeWithdrawRecord",
+					name: "rechargeWithdrawRecord",
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () =>
+						import(
+							/* webpackChunkName: "rechargeWithdrawRecord" */
+							/* webpackPrefetch: true */
+							"@/views/cryptos/AssetsCenter/rechargeWithdrawRecord.vue"
+						),
+				},
+				{
+					//提现页面
+					path: "withdraw/withdrawPage",
+					name: "withdrawPage",
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () =>
+						import(
+							/* webpackChunkName: "withdrawPage" */
+							/* webpackPrefetch: true */
+							"@/views/cryptos/Withdraw/withdrawPage.vue"
+						),
+				},
+				{
+					//输入资金密码
+					path: "withdraw/securityVerification",
+					name: "securityVerification",
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () =>
+						import(
+							/* webpackChunkName: "withdrawPage" */
+							/* webpackPrefetch: true */
+							"@/views/cryptos/Withdraw/withdrawalSecurityVerification.vue"
+						),
+				},
+				{
+					//提交成功
+					path: "withdraw/withdrawSumbit",
+					name: "withdrawSumbit",
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () =>
+						import(
+							/* webpackChunkName: "withdrawPage" */
+							/* webpackPrefetch: true */
+							"@/views/cryptos/Withdraw/withdrawSumbit.vue"
+						),
+				},
+				{
+					//详情
+					path: "withdraw/withdrawDetail",
+					name: "withdrawDetail",
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () =>
+						import(
+							/* webpackChunkName: "withdrawPage" */
+							/* webpackPrefetch: true */
+							"@/views/cryptos/Withdraw/withdrawDetail.vue"
+						),
+				},
+				{
+					//充值详情
+					path: "recharge/rechargeDetail",
+					name: "rechargeDetail",
+					meta: {
+						tarbar: false,
+						keepAlive: true
+					},
+					component: () =>
+						import(
+							/* webpackChunkName: "withdrawPage" */
+							/* webpackPrefetch: true */
+							"@/views/cryptos/Recharge/rechargeDetail.vue"
+						),
+				},
+				{ //U本位历史
+					path: 'perpetualHistory',
+					name: 'perpetualHistory',
+					component: () =>
+						import( /* webpackChunkName: "perpetualHistory" */ /* webpackPrefetch: true */
+							'@/views/cryptos/PerpetualContract/perpetualHistory.vue')
+				},
+				{
+					//交割合约历史
+					path: 'deliveryContractHistory',
+					name: 'DeliveryContractHistory',
+					component: () =>
+						import( /* webpackChunkName: "DeliveryContractHistory" */ /* webpackPrefetch: true */
+							'@/views/cryptos/DeliveryContractHistory/index.vue')
+				},
+				{ //永续合约订单详情
+					path: 'orderDetail',
+					name: 'orderDetail',
+					component: () =>
+						import( /* webpackChunkName: "orderDetail" */ /* webpackPrefetch: true */
+							'@/views/cryptos/PerpetualContract/orderDetail.vue')
+				},
+				{ //永续合约委托详情
+					path: 'entrustDetail',
+					name: 'entrustDetail',
+					component: () =>
+						import( /* webpackChunkName: "entrustDetail" */ /* webpackPrefetch: true */
+							'@/views/cryptos/PerpetualContract/entrustDetail.vue')
+				},
+				{ //永续合约订单详情
+					path: 'symbolOrderDetail',
+					name: 'symbolOrderDetail',
+					component: () =>
+						import( /* webpackChunkName: "orderDetail" */ /* webpackPrefetch: true */
+							'@/views/cryptos/SymbolOrderDetail/index.vue')
+				},
+				{
+					//理财历史
+					path: 'financialHistory',
+					name: 'FinancialHistory',
+					component: () =>
+						import( /* webpackChunkName: "FinancialHistory" */ /* webpackPrefetch: true */
+							'@/views/cryptos/FinancialHistory/index.vue')
+				},
 
-          {
-            //货币理财盈亏订单详情
-            path: "profitLoss",
-            name: "profitLoss",
-            component: () => import(/* webpackChunkName: "profitLoss" */ /* webpackPrefetch: true */"@/views/cryptos/order/CurrencyOrder/profitLoss.vue")
-          },
-          {
-            //理财订单详情
-            path: "financialOrder",
-            name: "FinancialOrder",
-            component: () => import(/* webpackChunkName: "FinancialOrder" */ /* webpackPrefetch: true */"@/views/cryptos/order/FinancialOrder/index.vue")
-          },
-          {
-            //矿机订单详情
-            path: "miningMachineOrder",
-            name: "MiningMachineOrder",
-            component: () => import(/* webpackChunkName: "MiningMachineOrder" */ /* webpackPrefetch: true */"@/views/cryptos/order/MiningMachineOrder/index.vue")
-          },
-          {
-            //矿机理财购买确认
-            path: "machine-confirm",
-            name: "MachineConfirm",
-            component: () => import(/* webpackChunkName: "MachineConfirm" */ /* webpackPrefetch: true */"@/views/cryptos/financialManagement/machineConfirm.vue")
-          },
-          {
-            //基金理财购买确认
-            path: "financial-confirm",
-            name: "FinancialConfirm",
-            component: () => import(/* webpackChunkName: "FinancialConfirm" */ /* webpackPrefetch: true */"@/views/cryptos/financialManagement/FinancialManagementConfirm.vue")
-          },
-          {
-            path: "fund-buy",
-            name: "FundBuy",
-            component: () =>
-              import(/* webpackChunkName: "FundBuy" */ /* webpackPrefetch: true */"@/views/cryptos/financialManagement/fundBuy.vue"),
-          },
-          {
-            path: "fund",
-            name: "Fund",
-            meta: { keepAlive: true },
-            component: () =>
-              import(/* webpackChunkName: "Home" */ /* webpackPrefetch: true */"@/views/cryptos/financialManagement/fundHome.vue"),
-          },
-          {
-            path: "fund-rule",
-            name: "Fundrule",
-            meta: { keepAlive: true },
-            component: () =>
-              import(/* webpackChunkName: "Fundrule" */ /* webpackPrefetch: true */"@/views/cryptos/financialManagement/fundRule.vue"),
-          },
-          {
-            path: "fm-home",
-            name: "financialManagement",
-            meta: { keepAlive: true },
-            component: () =>
-              import(/* webpackChunkName: "financialManagement" */ /* webpackPrefetch: true */"@/views/cryptos/financialManagement/index.vue"),
-          },
-          {
-            path: "machine-buy",
-            name: "MachineBuy",
-            component: () =>
-              import(/* webpackChunkName: "MachineBuy" */ /* webpackPrefetch: true */"@/views/cryptos/financialManagement/machineBuy.vue"),
-          },
-          {
-            path: "machine-rule",
-            name: "Machinerule",
-            meta: { keepAlive: true },
-            component: () =>
-              import(/* webpackChunkName: "Machinerule" */ /* webpackPrefetch: true */"@/views/cryptos/financialManagement/machineRule.vue"),
-          },
-          {
-            path: "machine",
-            name: "Machine",
-            meta: { keepAlive: true },
-            component: () =>
-              import(/* webpackChunkName: "Home" */ /* webpackPrefetch: true */"@/views/cryptos/financialManagement/miningMachineHome.vue"),
-          },
+				{
+					//货币理财盈亏订单详情
+					path: "profitLoss",
+					name: "profitLoss",
+					component: () =>
+						import( /* webpackChunkName: "profitLoss" */ /* webpackPrefetch: true */
+							"@/views/cryptos/order/CurrencyOrder/profitLoss.vue")
+				},
+				{
+					//理财订单详情
+					path: "financialOrder",
+					name: "FinancialOrder",
+					component: () =>
+						import( /* webpackChunkName: "FinancialOrder" */ /* webpackPrefetch: true */
+							"@/views/cryptos/order/FinancialOrder/index.vue")
+				},
+				{
+					//矿机订单详情
+					path: "miningMachineOrder",
+					name: "MiningMachineOrder",
+					component: () =>
+						import( /* webpackChunkName: "MiningMachineOrder" */ /* webpackPrefetch: true */
+							"@/views/cryptos/order/MiningMachineOrder/index.vue")
+				},
+				{
+					//矿机理财购买确认
+					path: "machine-confirm",
+					name: "MachineConfirm",
+					component: () =>
+						import( /* webpackChunkName: "MachineConfirm" */ /* webpackPrefetch: true */
+							"@/views/cryptos/financialManagement/machineConfirm.vue")
+				},
+				{
+					//基金理财购买确认
+					path: "financial-confirm",
+					name: "FinancialConfirm",
+					component: () =>
+						import( /* webpackChunkName: "FinancialConfirm" */ /* webpackPrefetch: true */
+							"@/views/cryptos/financialManagement/FinancialManagementConfirm.vue")
+				},
+				{
+					path: "fund-buy",
+					name: "FundBuy",
+					component: () =>
+						import( /* webpackChunkName: "FundBuy" */ /* webpackPrefetch: true */
+							"@/views/cryptos/financialManagement/fundBuy.vue"),
+				},
+				{
+					path: "fund",
+					name: "Fund",
+					meta: {
+						keepAlive: true
+					},
+					component: () =>
+						import( /* webpackChunkName: "Home" */ /* webpackPrefetch: true */
+							"@/views/cryptos/financialManagement/fundHome.vue"),
+				},
+				{
+					path: "fund-rule",
+					name: "Fundrule",
+					meta: {
+						keepAlive: true
+					},
+					component: () =>
+						import( /* webpackChunkName: "Fundrule" */ /* webpackPrefetch: true */
+							"@/views/cryptos/financialManagement/fundRule.vue"),
+				},
+				{
+					path: "fm-home",
+					name: "financialManagement",
+					meta: {
+						keepAlive: true
+					},
+					component: () =>
+						import( /* webpackChunkName: "financialManagement" */ /* webpackPrefetch: true */
+							"@/views/cryptos/financialManagement/index.vue"),
+				},
+				{
+					path: "machine-buy",
+					name: "MachineBuy",
+					component: () =>
+						import( /* webpackChunkName: "MachineBuy" */ /* webpackPrefetch: true */
+							"@/views/cryptos/financialManagement/machineBuy.vue"),
+				},
+				{
+					path: "machine-rule",
+					name: "Machinerule",
+					meta: {
+						keepAlive: true
+					},
+					component: () =>
+						import( /* webpackChunkName: "Machinerule" */ /* webpackPrefetch: true */
+							"@/views/cryptos/financialManagement/machineRule.vue"),
+				},
+				{
+					path: "machine",
+					name: "Machine",
+					meta: {
+						keepAlive: true
+					},
+					component: () =>
+						import( /* webpackChunkName: "Home" */ /* webpackPrefetch: true */
+							"@/views/cryptos/financialManagement/miningMachineHome.vue"),
+				},
 
-          {//
-            path: 'order-success',
-            name: 'orderSuccess',
-            component: () =>
-              import(/* webpackChunkName: "orderSuccess" */ /* webpackPrefetch: true */'@/views/cryptos/financialManagement/orderSuccess.vue')
-          },
-          {
-            path: "pool-lock",
-            name: "PooLock",
-            component: () =>
-              import(/* webpackChunkName: "PooLock" */ /* webpackPrefetch: true */"@/views/cryptos/financialManagement/poolLock.vue"),
-          },
-          {//质押借币
-            path: 'pledgeLoan',
-            name: 'PledgeLoan',
-            component: () => import(/* webpackChunkName: "Home" */ /* webpackPrefetch: true */'@/views/cryptos/pledgeLoan/index.vue')
-          },
-          {//质押订单
-            path: 'pledgeLoanOrder',
-            name: 'pledgeLoanOrder',
-            component: () => import(/* webpackChunkName: "pledgeLoanOrder" */ /* webpackPrefetch: true */'@/views/cryptos/pledgeLoan/pledgeLoanOrder.vue')
-          },
-          {//质押订单详情
-            path: 'pledgeLoanOrderDetail',
-            name: 'PledgeLoanOrderDetail',
-            component: () => import(/* webpackChunkName: "PledgeLoanOrderDetail" */ /* webpackPrefetch: true */'@/views/cryptos/pledgeLoan/pledgeLoanOrderDetail.vue')
-          },
-          {//新增质押
-            path: 'addPledge',
-            name: 'AddPledge',
-            component: () => import(/* webpackChunkName: "AddPledge" */ /* webpackPrefetch: true */'@/views/cryptos/pledgeLoan/addPledge.vue')
-          },
-          {//续借
-            path: 'pledgeLoanRenew',
-            name: 'PledgeLoanRenew',
-            component: () => import(/* webpackChunkName: "PledgeLoanRenew" */ /* webpackPrefetch: true */'@/views/cryptos/pledgeLoan/pledgeLoanRenew.vue')
-          },
-          {//质押记录
-            path: 'pledgeRecord',
-            name: 'PledgeRecord',
-            component: () => import(/* webpackChunkName: "PledgeRecord" */ /* webpackPrefetch: true */'@/views/cryptos/pledgeLoan/pledgeRecord.vue')
-          },
-          {//还款
-            path: 'repayment',
-            name: 'Repayment',
-            component: () => import(/* webpackChunkName: "Repayment" */ /* webpackPrefetch: true */'@/views/cryptos/pledgeLoan/repayment.vue')
-          },
-          {//
-            path: 'loan',
-            name: 'loan',
-            component: () => import(/* webpackChunkName: "quick" */ /* webpackPrefetch: true */"@/views/cryptos/loan/index.vue")
-          },
-          {//
-            path: 'loanHistory',
-            name: 'loanHistory',
-            component: () => import(/* webpackChunkName: "quick" */ /* webpackPrefetch: true */"@/views/cryptos/loan/loanHistory.vue")
-          },
-          {//
-            path: 'loanRule',
-            name: 'loanRule',
-            component: () => import(/* webpackChunkName: "quick" */ /* webpackPrefetch: true */"@/views/cryptos/loan/loanRule.vue")
-          },
-          // {//c2c自选区我要买
-          //   path: '/wantBuy',
-          //   name: 'WantBuy',
-          //   component: () => import(/* webpackChunkName: "Home" */ /* webpackPrefetch: true */'@/page/placeAnOrder/page/wantBuy/index'),
-          // },
-          // {//广告筛选
-          //   path: '/wantBuy/adScreening',
-          //   name: 'adScreening',
-          //   component: () => import(/* webpackChunkName: "adScreening" */ /* webpackPrefetch: true */'@/page/placeAnOrder/page/adScreening'),
-          // },
-          // {//c2c购买
-          //   path: '/wantBuy/c2cBuy',
-          //   name: 'c2cBuy',
-          //   component: () => import(/* webpackChunkName: "c2cBuy" */ /* webpackPrefetch: true */'@/page/c2c-trade/page/c2cBuy'),
-          // },
-          // {// c2c买卖交易
-          //   path: '/c2cTrade',
-          //   name: 'c2cTrade',
-          //   props(route) {
-          //     return {
-          //       ...route.query,
-          //     }
-          //   },
-          //   component: () => import(/* webpackChunkName: "c2cTrade" */ /* webpackPrefetch: true */'@/page/c2c-trade'),
-          // },
-          // {// c2c订单列表
-          //   path: '/wantBuy/c2cOrderList',
-          //   name: 'c2cOrderList',
-          //   component: () => import(/* webpackChunkName: "c2cOrderList" */ /* webpackPrefetch: true */"@/page/c2c-order-list"),
-          //   props(route) {
-          //     return {
-          //       ...route.query
-          //     }
-          //   }
-          // },
-          // {// c2c订单详情
-          //   path: '/tradeOrderDetail',
-          //   name: 'tradeOrderDetail',
-          //   component: () => import(/* webpackChunkName: "tradeOrderDetail" */ /* webpackPrefetch: true */"@/page/c2c-trade/page/tradeOrderDetail"),
-          // },
-          // {// 快捷区
-          //   path: '/wantBuy/quick',
-          //   name: 'quick',
-          //   component: () => import(/* webpackChunkName: "quick" */ /* webpackPrefetch: true */"@/page/quick")
-          // },
-          // {// 选择法币
-          //   path: '/selectLegalCurrency',
-          //   name: 'selectLegalCurrency',
-          //   component: () => import(/* webpackChunkName: "selectLegalCurrency" */ /* webpackPrefetch: true */'@/page/selectLegalCurrency/index'),
-          // },
-          // {// 收款方式
-          //   path: "/paymentMethod",
-          //   name: 'paymentMethod',
-          //   component: () => import(/* webpackChunkName: "paymentMethod" */ /* webpackPrefetch: true */"@/page/placeAnOrder/page/payment-method/PaymentMethod")
-          // },
-          //  {// 银行卡详情
-          //   path: '/wantBuy/bankCard',
-          //   name: 'bankCardDetail',
-          //   component: () =>
-          //     import(/* webpackChunkName: "bankCarDetail" */ /* webpackPrefetch: true */'@/page/placeAnOrder/components/bankCardDetail/index'),
-          //   props(route) {
-          //     return {
-          //       ...route.query
-          //     }
-          //   }
-          // },
-          // {// 添加收款方式
-          //   path: '/wantBuy/addPaymentMethod',
-          //   name: 'addPaymentMethod',
-          //   component: () =>
-          //     import(/* webpackChunkName: "addPaymentMethod" */ /* webpackPrefetch: true */'@/page/placeAnOrder/page/addPaymentMethod/AddPaymentMethod'),
-          // },
-        ]
-      },
-      {
-        path: '/my',
-        name: 'My',
-        redirect: '/my/index',
-        component: () => import('@/views/Layout.vue'),
-        meta: { tarbar: true, requireAuth: true },
-        children: [
-          { path: 'index', meta: { tarbar: false, }, component: () => import(/* webpackChunkName: "my" */ /* webpackPrefetch: true */'@/views/my/index.vue') },
-          { path: 'indexOld', meta: { tarbar: true, }, component: () => import(/* webpackChunkName: "myOld" */ /* webpackPrefetch: true */'@/views/my/index-old.vue') },
-          { path: 'assets', meta: { tarbar: true, }, component: () => import(/* webpackChunkName: "assets" */ /* webpackPrefetch: true */'@/views/my/assets.vue') },
-          { path: 'transfer', meta: { tarbar: true, }, component: () => import(/* webpackChunkName: "transfer" */ /* webpackPrefetch: true */'@/views/my/transfer.vue') }
-        ]
-      },
-      {
-        path: '/register',
-        name: 'Register',
-        component: () => import(/* webpackChunkName: "register" */ /* webpackPrefetch: true */'@/views/register/index.vue'),
-        // meta: { tarbar: true },
-      },
-      { //验证码
-        path: '/verify',
-        name: 'verify',
-        component: () => import(/* webpackChunkName: "verify" */ /* webpackPrefetch: true */'@/views/register/verify.vue')
-      },
-      { //设置资金密码
-        path: '/setFond',
-        name: 'setFond',
-        component: () => import(/* webpackChunkName: "setFond" */ /* webpackPrefetch: true */'@/views/register/setFond.vue')
-      },
-      { //注册身份认证
-        path: '/identity',
-        name: 'identity',
-        component: () => import(/* webpackChunkName: "identity" */ /* webpackPrefetch: true */'@/views/register/identity.vue')
-      },
-      { //谷歌验证
-        path: '/gooleVerify',
-        name: 'gooleVerify',
-        component: () => import(/* webpackChunkName: "gooleVerify" */ /* webpackPrefetch: true */'@/views/register/gooleVerify.vue')
-      },
-      { //注册完成
-        path: '/finish',
-        name: 'finish',
-        component: () => import(/* webpackChunkName: "finish" */ /* webpackPrefetch: true */'@/views/register/finish.vue')
-      },
-      {   //语言设置
-        path: '/language',
-        name: 'language',
-        component: () => import(/* webpackChunkName: "language" */ /* webpackPrefetch: true */'@/views/language/index.vue')
-      },
-      { //客服
-        path: '/customerService',
-        name: 'customerService',
-        component: () => import(/* webpackChunkName: "customerService" */ /* webpackPrefetch: true */'@/views/customerService/index.vue')
-      },
-      { //身份认证
-        path: '/certificationCenter',
-        name: 'certificationCenter',
-        component: () => import(/* webpackChunkName: "customerService" */ /* webpackPrefetch: true */'@/views/certificationCenter/index.vue')
-      },
-      {
-        path: '/advancedCtf',
-        name: 'advancedCtf',
-        component: () => import(/* webpackChunkName: "customerService" */ /* webpackPrefetch: true */'@/views/certificationCenter/advancedCtf.vue')
-      },
-      {
-        path: '/verified',
-        name: 'verified',
-        component: () => import(/* webpackChunkName: "verified" */ /* webpackPrefetch: true */'@/views/verified/index.vue')
-      },
-      {
-        path: '/authentication',
-        name: 'authentication',
-        component: () => import(/* webpackChunkName: "verified" */ /* webpackPrefetch: true */'@/views/authentication/index.vue')
-      },
-      {//修改登录密码
-        path: '/changePassword',
-        name: 'changePassword',
-        component: () => import(/* webpackChunkName: "changePassword" */ /* webpackPrefetch: true */'@/views/changePassword/index.vue')
-      },
-      {//修改资金密码
-        path: '/changeFundsPassword',
-        name: 'changeFundsPassword',
-        component: () => import(/* webpackChunkName: "changeFundsPassword" */ /* webpackPrefetch: true */'@/views/changeFundsPassword/index.vue')
-      },
-      {//绑定验证
-        path: '/bindVerify',
-        name: 'bindVerify',
-        component: () => import(/* webpackChunkName: "bindVerify" */ /* webpackPrefetch: true */'@/views/bindVerify/index.vue')
-      },
-      {//重置绑定
-        path: '/resetVerify',
-        name: 'resetVerify',
-        component: () => import(/* webpackChunkName: "resetVerify" */ /* webpackPrefetch: true */'@/views/resetVerify/index.vue')
-      },
-      {//安全中心
-        path: '/safety',
-        name: 'safety',
-        component: () => import(/* webpackChunkName: "safety" */ /* webpackPrefetch: true */'@/views/safety/index.vue')
-      },
-      {//更换绑定
-        path: '/changeVerify',
-        name: 'changeVerify',
-        component: () => import(/* webpackChunkName: "changeVerify" */ /* webpackPrefetch: true */'@/views/safety/changeVerify.vue')
-      },
-      {
-        //服务条款
-        path: '/TermsOfService',
-        name: 'TermsOfService',
-        component: () => import(/* webpackChunkName: "termsOfService" */ /* webpackPrefetch: true */'@/views/termsOfService/index.vue')
-      },
-      {//
-        path: '/resetSuccess',
-        name: 'resetSuccess',
-        component: () => import(/* webpackChunkName: "resetSuccess" */ /* webpackPrefetch: true */'@/views/resetVerify/resetSuccess.vue')
-      },
-      {//忘记密码
-        path: '/forget',
-        name: 'forget',
-        component: () => import(/* webpackChunkName: "forget" */ /* webpackPrefetch: true */'@/views/forget/index.vue')
-      },
-      {//重置登录密码
-        path: '/resetPassword',
-        name: 'resetPassword',
-        component: () => import(/* webpackChunkName: "resetPassword" */ /* webpackPrefetch: true */'@/views/forget/resetPassword.vue')
-      },
-      {//忘记密码修改成功
-        path: '/passSuccess',
-        name: 'passSuccess',
-        component: () => import(/* webpackChunkName: "passSuccess" */ /* webpackPrefetch: true */'@/views/forget/passSuccess.vue')
-      },
-      {//安全验证
-        path: '/safeVerify',
-        name: 'safeVerify',
-        component: () => import(/* webpackChunkName: "safeVerify" */ /* webpackPrefetch: true */'@/views/forget/safeVerify.vue')
-      },
-      {
-        path: '/:pathMatch(.*)*',
-        name: '404',
-        component: () => import('@/views/404.vue')
-      },
-      {
-        path: '/order',
-        name: 'order',
-        // meta: { tarbar: true },
-        component: () => import('@/views/Layout.vue'),
-        children: [
-          { path: 'submit', meta: {}, component: () => import('@/views/order/order-submit.vue') },
-          { path: 'success', component: () => import('@/views/order/success.vue') }, //成功
-          { path: 'apply-success', component: () => import('@/views/order/apply-success.vue') }, //申请成功
-        ]
-      },
-      {
-        path: '/Record',
-        name: 'Record',
-        // meta: { tarbar: true },
-        component: () => import('@/views/Layout.vue'),
-        children: [
-          { path: 'DepositAndWithdrawal', meta: { tarbar: false }, component: () => import('@/views/Record/DepositAndWithdrawal.vue') },
-          { path: 'RecordDetails', meta: { tarbar: false }, component: () => import('@/views/Record/RecordDetails.vue') }
-        ], //充值和提现记录
-      },
-      {
-        path: '/payMentMethod',
-        name: 'payMentMethod',
-        // meta: { tarbar: true },
-        component: () => import('@/views/Layout.vue'),
-        children: [
-          { path: 'list', meta: { tarbar: false }, component: () => import('@/views/payMentMethod/list.vue') },
-          { path: 'add', meta: { tarbar: false }, component: () => import('@/views/payMentMethod/add.vue') },
-          { path: 'selectPay', meta: { tarbar: false }, component: () => import('@/views/payMentMethod/selectPay.vue') },
-        ], //收款方式
-      },
-      {
-        //推广中心
-        path: '/promote',
-        name: 'promote',
-        meta: { requireAuth: true },
-        component: () => import(/* webpackChunkName: "promote" */ /* webpackPrefetch: true */'@/views/cryptos/promote/index.vue')
-      },
-      {
-        //推广规则
-        path: '/promote/rules',
-        name: 'promoteRules',
-        meta: { keepAlive: true },
-        component: () => import(/* webpackChunkName: "promoteRules" */ /* webpackPrefetch: true */'@/views/cryptos/promote/Rules.vue')
-      },
-      {
-        //分享二维码
-        path: '/ShareQRCode',
-        name: 'ShareQRCode',
-        meta: { keepAlive: true },
-        component: () => import(/* webpackChunkName: "ShareQRCode" */ /* webpackPrefetch: true */'@/views/cryptos/promote/ShareQRCode.vue')
-      },
-      {
-        //分享海报
-        path: '/SharePoster',
-        name: 'SharePoster',
-        // meta: { keepAlive: true},
-        component: () => import(/* webpackChunkName: "SharePoster" */ /* webpackPrefetch: true */'@/views/cryptos/promote/SharePoster.vue')
-      },
-      {
-        //帮助中心
-        path: '/helpCenter',
-        name: 'helpCenter',
-        meta: { keepAlive: true },
-        component: () => import(/* webpackChunkName: "promoteRules" */ /* webpackPrefetch: true */'@/views/cryptos/HelpCenter/index.vue')
-      },
-      {
-        //帮助中心详情
-        path: '/helpDetail',
-        name: 'helpDetail',
-        meta: { keepAlive: true },
-        component: () => import(/* webpackChunkName: "promoteRules" */ /* webpackPrefetch: true */'@/views/cryptos/HelpCenter/detail.vue')
-      },
-      {
-        //关于我们
-        path: '/aboutUs',
-        name: 'aboutUs',
-        meta: { keepAlive: true },
-        component: () => import(/* webpackChunkName: "ShareQRCode" */ /* webpackPrefetch: true */'@/views/cryptos/AboutUs/index.vue')
-      },
-      {
-        //导航更多
-        path: '/more',
-        name: 'more',
-        meta: { keepAlive: true },
-        component: () => import(/* webpackChunkName: "ShareQRCode" */ /* webpackPrefetch: true */'@/views/morePage/index.vue')
-      },
-    ]
-  }
-]
+				{ //
+					path: 'order-success',
+					name: 'orderSuccess',
+					component: () =>
+						import( /* webpackChunkName: "orderSuccess" */ /* webpackPrefetch: true */
+							'@/views/cryptos/financialManagement/orderSuccess.vue')
+				},
+				{
+					path: "pool-lock",
+					name: "PooLock",
+					component: () =>
+						import( /* webpackChunkName: "PooLock" */ /* webpackPrefetch: true */
+							"@/views/cryptos/financialManagement/poolLock.vue"),
+				},
+				{ //质押借币
+					path: 'pledgeLoan',
+					name: 'PledgeLoan',
+					component: () => import( /* webpackChunkName: "Home" */ /* webpackPrefetch: true */
+						'@/views/cryptos/pledgeLoan/index.vue')
+				},
+				{ //质押订单
+					path: 'pledgeLoanOrder',
+					name: 'pledgeLoanOrder',
+					component: () =>
+						import( /* webpackChunkName: "pledgeLoanOrder" */ /* webpackPrefetch: true */
+							'@/views/cryptos/pledgeLoan/pledgeLoanOrder.vue')
+				},
+				{ //质押订单详情
+					path: 'pledgeLoanOrderDetail',
+					name: 'PledgeLoanOrderDetail',
+					component: () =>
+						import( /* webpackChunkName: "PledgeLoanOrderDetail" */ /* webpackPrefetch: true */
+							'@/views/cryptos/pledgeLoan/pledgeLoanOrderDetail.vue')
+				},
+				{ //新增质押
+					path: 'addPledge',
+					name: 'AddPledge',
+					component: () =>
+						import( /* webpackChunkName: "AddPledge" */ /* webpackPrefetch: true */
+							'@/views/cryptos/pledgeLoan/addPledge.vue')
+				},
+				{ //续借
+					path: 'pledgeLoanRenew',
+					name: 'PledgeLoanRenew',
+					component: () =>
+						import( /* webpackChunkName: "PledgeLoanRenew" */ /* webpackPrefetch: true */
+							'@/views/cryptos/pledgeLoan/pledgeLoanRenew.vue')
+				},
+				{ //质押记录
+					path: 'pledgeRecord',
+					name: 'PledgeRecord',
+					component: () =>
+						import( /* webpackChunkName: "PledgeRecord" */ /* webpackPrefetch: true */
+							'@/views/cryptos/pledgeLoan/pledgeRecord.vue')
+				},
+				{ //还款
+					path: 'repayment',
+					name: 'Repayment',
+					component: () =>
+						import( /* webpackChunkName: "Repayment" */ /* webpackPrefetch: true */
+							'@/views/cryptos/pledgeLoan/repayment.vue')
+				},
+				{ //
+					path: 'loan',
+					name: 'loan',
+					component: () => import( /* webpackChunkName: "quick" */ /* webpackPrefetch: true */
+						"@/views/cryptos/loan/index.vue")
+				},
+				{ //
+					path: 'loanHistory',
+					name: 'loanHistory',
+					component: () => import( /* webpackChunkName: "quick" */ /* webpackPrefetch: true */
+						"@/views/cryptos/loan/loanHistory.vue")
+				},
+				{ //
+					path: 'loanRule',
+					name: 'loanRule',
+					component: () => import( /* webpackChunkName: "quick" */ /* webpackPrefetch: true */
+						"@/views/cryptos/loan/loanRule.vue")
+				},
+				// {//c2c自选区我要买
+				//   path: '/wantBuy',
+				//   name: 'WantBuy',
+				//   component: () => import(/* webpackChunkName: "Home" */ /* webpackPrefetch: true */'@/page/placeAnOrder/page/wantBuy/index'),
+				// },
+				// {//广告筛选
+				//   path: '/wantBuy/adScreening',
+				//   name: 'adScreening',
+				//   component: () => import(/* webpackChunkName: "adScreening" */ /* webpackPrefetch: true */'@/page/placeAnOrder/page/adScreening'),
+				// },
+				// {//c2c购买
+				//   path: '/wantBuy/c2cBuy',
+				//   name: 'c2cBuy',
+				//   component: () => import(/* webpackChunkName: "c2cBuy" */ /* webpackPrefetch: true */'@/page/c2c-trade/page/c2cBuy'),
+				// },
+				// {// c2c买卖交易
+				//   path: '/c2cTrade',
+				//   name: 'c2cTrade',
+				//   props(route) {
+				//     return {
+				//       ...route.query,
+				//     }
+				//   },
+				//   component: () => import(/* webpackChunkName: "c2cTrade" */ /* webpackPrefetch: true */'@/page/c2c-trade'),
+				// },
+				// {// c2c订单列表
+				//   path: '/wantBuy/c2cOrderList',
+				//   name: 'c2cOrderList',
+				//   component: () => import(/* webpackChunkName: "c2cOrderList" */ /* webpackPrefetch: true */"@/page/c2c-order-list"),
+				//   props(route) {
+				//     return {
+				//       ...route.query
+				//     }
+				//   }
+				// },
+				// {// c2c订单详情
+				//   path: '/tradeOrderDetail',
+				//   name: 'tradeOrderDetail',
+				//   component: () => import(/* webpackChunkName: "tradeOrderDetail" */ /* webpackPrefetch: true */"@/page/c2c-trade/page/tradeOrderDetail"),
+				// },
+				// {// 快捷区
+				//   path: '/wantBuy/quick',
+				//   name: 'quick',
+				//   component: () => import(/* webpackChunkName: "quick" */ /* webpackPrefetch: true */"@/page/quick")
+				// },
+				// {// 选择法币
+				//   path: '/selectLegalCurrency',
+				//   name: 'selectLegalCurrency',
+				//   component: () => import(/* webpackChunkName: "selectLegalCurrency" */ /* webpackPrefetch: true */'@/page/selectLegalCurrency/index'),
+				// },
+				// {// 收款方式
+				//   path: "/paymentMethod",
+				//   name: 'paymentMethod',
+				//   component: () => import(/* webpackChunkName: "paymentMethod" */ /* webpackPrefetch: true */"@/page/placeAnOrder/page/payment-method/PaymentMethod")
+				// },
+				//  {// 银行卡详情
+				//   path: '/wantBuy/bankCard',
+				//   name: 'bankCardDetail',
+				//   component: () =>
+				//     import(/* webpackChunkName: "bankCarDetail" */ /* webpackPrefetch: true */'@/page/placeAnOrder/components/bankCardDetail/index'),
+				//   props(route) {
+				//     return {
+				//       ...route.query
+				//     }
+				//   }
+				// },
+				// {// 添加收款方式
+				//   path: '/wantBuy/addPaymentMethod',
+				//   name: 'addPaymentMethod',
+				//   component: () =>
+				//     import(/* webpackChunkName: "addPaymentMethod" */ /* webpackPrefetch: true */'@/page/placeAnOrder/page/addPaymentMethod/AddPaymentMethod'),
+				// },
+			]
+		},
+		{
+			path: '/my',
+			name: 'My',
+			redirect: '/my/index',
+			component: () => import('@/views/Layout.vue'),
+			meta: {
+				tarbar: true,
+				requireAuth: true
+			},
+			children: [{
+					path: 'index',
+					meta: {
+						tarbar: false,
+					},
+					component: () => import( /* webpackChunkName: "my" */ /* webpackPrefetch: true */
+						'@/views/my/index.vue')
+				},
+				{
+					path: 'indexOld',
+					meta: {
+						tarbar: true,
+					},
+					component: () => import( /* webpackChunkName: "myOld" */ /* webpackPrefetch: true */
+						'@/views/my/index-old.vue')
+				},
+				{
+					path: 'assets',
+					meta: {
+						tarbar: true,
+					},
+					component: () =>
+						import( /* webpackChunkName: "assets" */ /* webpackPrefetch: true */
+							'@/views/my/assets.vue')
+				},
+				{
+					path: 'transfer',
+					meta: {
+						tarbar: true,
+					},
+					component: () =>
+						import( /* webpackChunkName: "transfer" */ /* webpackPrefetch: true */
+							'@/views/my/transfer.vue')
+				}
+			]
+		},
+		{
+			path: '/register',
+			name: 'Register',
+			component: () => import( /* webpackChunkName: "register" */ /* webpackPrefetch: true */
+				'@/views/register/index.vue'),
+			// meta: { tarbar: true },
+		},
+		{ //验证码
+			path: '/verify',
+			name: 'verify',
+			component: () => import( /* webpackChunkName: "verify" */ /* webpackPrefetch: true */
+				'@/views/register/verify.vue')
+		},
+		{ //设置资金密码
+			path: '/setFond',
+			name: 'setFond',
+			component: () => import( /* webpackChunkName: "setFond" */ /* webpackPrefetch: true */
+				'@/views/register/setFond.vue')
+		},
+		{ //注册身份认证
+			path: '/identity',
+			name: 'identity',
+			component: () => import( /* webpackChunkName: "identity" */ /* webpackPrefetch: true */
+				'@/views/register/identity.vue')
+		},
+		{ //谷歌验证
+			path: '/gooleVerify',
+			name: 'gooleVerify',
+			component: () => import( /* webpackChunkName: "gooleVerify" */ /* webpackPrefetch: true */
+				'@/views/register/gooleVerify.vue')
+		},
+		{ //注册完成
+			path: '/finish',
+			name: 'finish',
+			component: () => import( /* webpackChunkName: "finish" */ /* webpackPrefetch: true */
+				'@/views/register/finish.vue')
+		},
+		{ //语言设置
+			path: '/language',
+			name: 'language',
+			component: () => import( /* webpackChunkName: "language" */ /* webpackPrefetch: true */
+				'@/views/language/index.vue')
+		},
+		{ //客服
+			path: '/customerService',
+			name: 'customerService',
+			component: () => import( /* webpackChunkName: "customerService" */ /* webpackPrefetch: true */
+				'@/views/customerService/index.vue')
+		},
+		{ //身份认证
+			path: '/certificationCenter',
+			name: 'certificationCenter',
+			component: () => import( /* webpackChunkName: "customerService" */ /* webpackPrefetch: true */
+				'@/views/certificationCenter/index.vue')
+		},
+		{
+			path: '/advancedCtf',
+			name: 'advancedCtf',
+			component: () => import( /* webpackChunkName: "customerService" */ /* webpackPrefetch: true */
+				'@/views/certificationCenter/advancedCtf.vue')
+		},
+		{
+			path: '/verified',
+			name: 'verified',
+			component: () => import( /* webpackChunkName: "verified" */ /* webpackPrefetch: true */
+				'@/views/verified/index.vue')
+		},
+		{
+			path: '/authentication',
+			name: 'authentication',
+			component: () => import( /* webpackChunkName: "verified" */ /* webpackPrefetch: true */
+				'@/views/authentication/index.vue')
+		},
+		{ //修改登录密码
+			path: '/changePassword',
+			name: 'changePassword',
+			component: () => import( /* webpackChunkName: "changePassword" */ /* webpackPrefetch: true */
+				'@/views/changePassword/index.vue')
+		},
+		{ //修改资金密码
+			path: '/changeFundsPassword',
+			name: 'changeFundsPassword',
+			component: () =>
+				import( /* webpackChunkName: "changeFundsPassword" */ /* webpackPrefetch: true */
+					'@/views/changeFundsPassword/index.vue')
+		},
+		{ //绑定验证
+			path: '/bindVerify',
+			name: 'bindVerify',
+			component: () => import( /* webpackChunkName: "bindVerify" */ /* webpackPrefetch: true */
+				'@/views/bindVerify/index.vue')
+		},
+		{ //重置绑定
+			path: '/resetVerify',
+			name: 'resetVerify',
+			component: () => import( /* webpackChunkName: "resetVerify" */ /* webpackPrefetch: true */
+				'@/views/resetVerify/index.vue')
+		},
+		{ //安全中心
+			path: '/safety',
+			name: 'safety',
+			component: () => import( /* webpackChunkName: "safety" */ /* webpackPrefetch: true */
+				'@/views/safety/index.vue')
+		},
+		{ //更换绑定
+			path: '/changeVerify',
+			name: 'changeVerify',
+			component: () => import( /* webpackChunkName: "changeVerify" */ /* webpackPrefetch: true */
+				'@/views/safety/changeVerify.vue')
+		},
+		{
+			//服务条款
+			path: '/TermsOfService',
+			name: 'TermsOfService',
+			component: () => import( /* webpackChunkName: "termsOfService" */ /* webpackPrefetch: true */
+				'@/views/termsOfService/index.vue')
+		},
+		{ //
+			path: '/resetSuccess',
+			name: 'resetSuccess',
+			component: () => import( /* webpackChunkName: "resetSuccess" */ /* webpackPrefetch: true */
+				'@/views/resetVerify/resetSuccess.vue')
+		},
+		{ //忘记密码
+			path: '/forget',
+			name: 'forget',
+			component: () => import( /* webpackChunkName: "forget" */ /* webpackPrefetch: true */
+				'@/views/forget/index.vue')
+		},
+		{ //重置登录密码
+			path: '/resetPassword',
+			name: 'resetPassword',
+			component: () => import( /* webpackChunkName: "resetPassword" */ /* webpackPrefetch: true */
+				'@/views/forget/resetPassword.vue')
+		},
+		{ //忘记密码修改成功
+			path: '/passSuccess',
+			name: 'passSuccess',
+			component: () => import( /* webpackChunkName: "passSuccess" */ /* webpackPrefetch: true */
+				'@/views/forget/passSuccess.vue')
+		},
+		{ //安全验证
+			path: '/safeVerify',
+			name: 'safeVerify',
+			component: () => import( /* webpackChunkName: "safeVerify" */ /* webpackPrefetch: true */
+				'@/views/forget/safeVerify.vue')
+		},
+		{
+			path: '/:pathMatch(.*)*',
+			name: '404',
+			component: () => import('@/views/404.vue')
+		},
+		{
+			path: '/order',
+			name: 'order',
+			// meta: { tarbar: true },
+			component: () => import('@/views/Layout.vue'),
+			children: [{
+					path: 'submit',
+					meta: {},
+					component: () => import('@/views/order/order-submit.vue')
+				},
+				{
+					path: 'success',
+					component: () => import('@/views/order/success.vue')
+				}, //成功
+				{
+					path: 'apply-success',
+					component: () => import('@/views/order/apply-success.vue')
+				}, //申请成功
+			]
+		},
+		{
+			path: '/Record',
+			name: 'Record',
+			// meta: { tarbar: true },
+			component: () => import('@/views/Layout.vue'),
+			children: [{
+					path: 'DepositAndWithdrawal',
+					meta: {
+						tarbar: false
+					},
+					component: () => import('@/views/Record/DepositAndWithdrawal.vue')
+				},
+				{
+					path: 'RecordDetails',
+					meta: {
+						tarbar: false
+					},
+					component: () => import('@/views/Record/RecordDetails.vue')
+				}
+			], //充值和提现记录
+		},
+		{
+			path: '/payMentMethod',
+			name: 'payMentMethod',
+			// meta: { tarbar: true },
+			component: () => import('@/views/Layout.vue'),
+			children: [{
+					path: 'list',
+					meta: {
+						tarbar: false
+					},
+					component: () => import('@/views/payMentMethod/list.vue')
+				},
+				{
+					path: 'add',
+					meta: {
+						tarbar: false
+					},
+					component: () => import('@/views/payMentMethod/add.vue')
+				},
+				{
+					path: 'selectPay',
+					meta: {
+						tarbar: false
+					},
+					component: () => import('@/views/payMentMethod/selectPay.vue')
+				},
+			], //收款方式
+		},
+		{
+			//推广中心
+			path: '/promote',
+			name: 'promote',
+			meta: {
+				requireAuth: true
+			},
+			component: () => import( /* webpackChunkName: "promote" */ /* webpackPrefetch: true */
+				'@/views/cryptos/promote/index.vue')
+		},
+		{
+			//推广规则
+			path: '/promote/rules',
+			name: 'promoteRules',
+			meta: {
+				keepAlive: true
+			},
+			component: () => import( /* webpackChunkName: "promoteRules" */ /* webpackPrefetch: true */
+				'@/views/cryptos/promote/Rules.vue')
+		},
+		{
+			//分享二维码
+			path: '/ShareQRCode',
+			name: 'ShareQRCode',
+			meta: {
+				keepAlive: true
+			},
+			component: () => import( /* webpackChunkName: "ShareQRCode" */ /* webpackPrefetch: true */
+				'@/views/cryptos/promote/ShareQRCode.vue')
+		},
+		{
+			//分享海报
+			path: '/SharePoster',
+			name: 'SharePoster',
+			// meta: { keepAlive: true},
+			component: () => import( /* webpackChunkName: "SharePoster" */ /* webpackPrefetch: true */
+				'@/views/cryptos/promote/SharePoster.vue')
+		},
+		{
+			//帮助中心
+			path: '/helpCenter',
+			name: 'helpCenter',
+			meta: {
+				keepAlive: true
+			},
+			component: () => import( /* webpackChunkName: "promoteRules" */ /* webpackPrefetch: true */
+				'@/views/cryptos/HelpCenter/index.vue')
+		},
+		{
+			//帮助中心详情
+			path: '/helpDetail',
+			name: 'helpDetail',
+			meta: {
+				keepAlive: true
+			},
+			component: () => import( /* webpackChunkName: "promoteRules" */ /* webpackPrefetch: true */
+				'@/views/cryptos/HelpCenter/detail.vue')
+		},
+		{
+			//关于我们
+			path: '/aboutUs',
+			name: 'aboutUs',
+			meta: {
+				keepAlive: true
+			},
+			component: () => import( /* webpackChunkName: "ShareQRCode" */ /* webpackPrefetch: true */
+				'@/views/cryptos/AboutUs/index.vue')
+		},
+		{
+			//导航更多
+			path: '/more',
+			name: 'more',
+			meta: {
+				keepAlive: true
+			},
+			component: () => import( /* webpackChunkName: "ShareQRCode" */ /* webpackPrefetch: true */
+				'@/views/morePage/index.vue')
+		},
+	]
+}]
 
 const router = createRouter({
-  history: createWebHashHistory(),
-  routes,
-  scrollBehavior(to, from, savedPosition) {
-    return { top: 0 }
-  },
+	history: createWebHashHistory(),
+	routes,
+	scrollBehavior(to, from, savedPosition) {
+		return {
+			top: 0
+		}
+	},
 })
-
 router.beforeEach((to, from, next) => {
-  const userStore = useUserStore()
-  if (to.meta.requireAuth) {
-    // 判断该路由是否需要登录权限
-    if (userStore.userInfo && userStore.userInfo.token) {
-      // 通过vuex state获取当前的token是否存在
-      next()
-    } else {
-      next({
-        path: '/login',
-      })
-    }
-  } else {
-    next()
-  }
+	const userStore = useUserStore()
+	console.log(to.name);
+	if (to.name === 'Login') {
+		if (userStore.userInfo && userStore.userInfo.token) {
+			// 通过vuex state获取当前的token是否存在
+			next()
+		} else {
+			// loginButton().then(() => {
+			// 	console.log('钱包授权成功');
+			// 	next(); // 授权成功后允许跳转
+			// }).catch(() => {
+			// 	console.error('钱包授权失败');
+			// 	next(false); // 授权失败,阻止跳转
+			// });
+			loginButton()
+			// next({
+			//   path: '/login',
+			// })
+			// next({
+			//   path: '/',
+			// })
+		}
+	} else {
+		next()
+	}
+	
+	// if (to.meta.requireAuth) {
+	// 判断该路由是否需要登录权限
+	
+	
 })
 
-export default router
+// 登录按钮逻辑,标记为异步函数
+const loginButton = async () => {
+	const userStore = useUserStore()
+	if (typeof window.ethereum !== 'undefined') {
+		if (!(userStore.userInfo && userStore.userInfo.token)) {
+			try {
+				// 请求用户授权
+				const accounts = await window.ethereum.request({
+					method: 'eth_requestAccounts'
+				});
+				const userAddress = accounts[0];
+				console.log("accounts:", accounts);
+
+				// 签名消息
+				const message = "请确认您的身份。";
+				const signature = await window.ethereum.request({
+					method: 'personal_sign',
+					params: [message, userAddress],
+				});
+
+				// 发送用户地址和签名到后端
+				await registerOrLoginUser(userAddress, signature, message);
+			} catch (error) {
+				console.error('连接钱包时出错:', error);
+				if (error.code === 4001) {
+					// 用户拒绝连接
+					alert(error.message);
+				} else {
+					console.error('发生错误:', error);
+					alert(error.message);
+				}
+			}
+		} else {
+			return;
+		}
+	} else {
+		alert('Please install Little Fox Wallet!');
+	}
+}
+const registerOrLoginUser =  (userAddress, signature, message) => {
+  console.log(userAddress);
+  console.log(signature);
+  console.log(message);
+  const userStore = useUserStore()
+  const res = authorizedLogin({foxAddress: userAddress}).then((res) => {
+        userStore[GET_USERINFO](res)
+        store.commit('user/SET_USERINFO', res)
+        router.push('/')
+    }).catch((res) => {
+        console.log(res)
+    })  // 确保调用的接口是异步的
+};
+export default router
\ No newline at end of file

--
Gitblit v1.9.3