| | |
| | | import { createRouter, createWebHashHistory } from 'vue-router' |
| | | import { useUserStore } from "@/store/user.js"; |
| | | import { customerServiceUrl } from "@/config/index.js"; |
| | | |
| | | // 路由规则 |
| | | const routes = [ |
| | | { |
| | | path: '/', |
| | | children: [ |
| | | { path: '', redirect: '/quotes' }, |
| | | { path: '', redirect: '/home' }, |
| | | { |
| | | path: '/login', |
| | | name: 'Login', |
| | | component: () => import(/* webpackChunkName: "login" */ '@/views/login/index.vue'), |
| | | }, |
| | | { |
| | | path: '/home', |
| | | name: 'Home', |
| | | meta: { |
| | | tarbar: true, |
| | | }, |
| | | component: () => import('@/views/Layout.vue'), |
| | | children: [ |
| | | { path: '', meta: { tarbar: true }, name: 'homeIndex', component: () => import(/* webpackChunkName: "home" */ '@/views/home/index.vue') }, |
| | | ] |
| | | }, |
| | | { |
| | | path: '/optional', |
| | |
| | | { path: 'hotModules', meta: { tarbar: true }, component: () => import(/* webpackChunkName: "hotModules" */ '@/views/quotes/HotModules.vue') }, |
| | | { path: 'openTrade', meta: { tarbar: false, }, component: () => import(/* webpackChunkName: "openTrade" */ '@/views/quotes/OpenTrade.vue') }, |
| | | { path: 'UsStockMore', meta: { tarbar: false }, component: () => import(/* webpackChunkName: "UsStockMore" */ '@/views/quotes/UsStockMore.vue') }, |
| | | { path: 'market', meta: { tarbar: true }, component: () => import(/* webpackChunkName: "market" */ '@/views/quotes/Market.vue') }, |
| | | |
| | | ] |
| | | }, |
| | |
| | | tarbar: true, |
| | | requireAuth: true |
| | | }, |
| | | redirect: '/trade/index', |
| | | redirect: '/trade/options', |
| | | component: () => import('@/views/Layout.vue'), |
| | | children: [ |
| | | { path: 'index', meta: { tarbar: true }, name: 'tradeIndex', component: () => import(/* webpackChunkName: "trade" */ /* webpackPrefetch: true */'@/views/trade/index.vue') }, |
| | | { path: 'options', meta: { tarbar: true }, name: 'tradeOptions', component: () => import(/* webpackChunkName: "options" */ '@/views/trade/Options.vue') }, |
| | | ] |
| | | }, |
| | | { |
| | |
| | | redirect: '/news/index', |
| | | component: () => import('@/views/Layout.vue'), |
| | | children: [ |
| | | { path: 'index', meta: { tarbar: true }, component: () => import(/* webpackChunkName: "news" */ '@/views/news/index.vue') }, |
| | | { path: 'index', meta: { tarbar: false }, component: () => import(/* webpackChunkName: "news" */ '@/views/news/index.vue') }, |
| | | ] |
| | | }, |
| | | { |
| | |
| | | { path: 'exchangeSubmit', meta: { tarbar: false }, component: () => import(/* webpackChunkName: "cryptosexchangeSubmit" */'@/views/cryptos/Exchange/exchangeSubmit.vue') }, |
| | | { path: 'exchangeRate', meta: { tarbar: false }, component: () => import(/* webpackChunkName: "cryptosexchangeRate" */'@/views/cryptos/Exchange/exchangeRate.vue') }, |
| | | { path: 'accountChange', meta: { tarbar: false }, component: () => import(/* webpackChunkName: "cryptosaccountChange" */'@/views/cryptos/AccountChange/index.vue') }, |
| | | { path: 'blockTrades', meta: { tarbar: false }, component: () => import(/* webpackChunkName: "blockTrades" */'@/views/cryptos/blockTrades/index.vue') }, |
| | | |
| | | { path: 'darkpoolTrading', meta: { tarbar: false }, component: () => import(/* webpackChunkName: "darkpoolTrading" */'@/views/cryptos/darkpoolTrading/index.vue') }, |
| | | |
| | | { path: 'blockTradesEtf', meta: { tarbar: false }, component: () => import(/* webpackChunkName: "blockTradesEtf" */'@/views/cryptos/blockTradesEtf/index.vue') }, |
| | | |
| | | { path: 'darkpoolTradingEtf', meta: { tarbar: false }, component: () => import(/* webpackChunkName: "darkpoolTradingEtf" */'@/views/cryptos/darkpoolTradingEtf/index.vue') }, |
| | | |
| | | { path: 'funds', meta: { tarbar: false }, component: () => import(/* webpackChunkName: "cryptosfunds" */'@/views/cryptos/Funds/index.vue') }, |
| | | { path: 'assetsCenter', meta: { tarbar: false }, component: () => import(/* webpackChunkName: "cryptosassetsCenter" */'@/views/cryptos/AssetsCenter/index.vue') }, |
| | | { path: 'trade/:symbol', name: 'trade', meta: { tarbar: false }, component: () => import(/* webpackChunkName: "cryptostrade" */ /* webpackPrefetch: true */'@/views/cryptos/Trade/index.vue') }, |
| | |
| | | { |
| | | path: "fund", |
| | | name: "Fund", |
| | | meta: { tarbar: true }, |
| | | component: () => |
| | | import(/* webpackChunkName: "Fund" */ "@/views/cryptos/financialManagement/fundHome.vue"), |
| | | }, |
| | |
| | | name: "Fundrule", |
| | | component: () => |
| | | import(/* webpackChunkName: "Fundrule" */ "@/views/cryptos/financialManagement/fundRule.vue"), |
| | | }, |
| | | { |
| | | path: "fund-orders", |
| | | name: "FundOrders", |
| | | component: () => |
| | | import(/* webpackChunkName: "FundOrders" */ "@/views/cryptos/financialManagement/fundOrders.vue"), |
| | | }, |
| | | { |
| | | path: "fm-home", |
| | |
| | | component: () => import('@/views/Layout.vue'), |
| | | meta: { tarbar: true }, |
| | | children: [ |
| | | { path: 'index', meta: { tarbar: true, }, component: () => import(/* webpackChunkName: "my" */ /* webpackPrefetch: true */'@/views/my/index.vue') } |
| | | { path: 'index', meta: { tarbar: false, requireAuth: true }, component: () => import(/* webpackChunkName: "my" */ /* webpackPrefetch: true */'@/views/my/index.vue') }, |
| | | { path: 'creditScore', meta: { tarbar: false, requireAuth: true }, component: () => import(/* webpackChunkName: "my" */'@/views/my/creditScore.vue') } |
| | | ] |
| | | }, |
| | | { |
| | |
| | | { //客服 |
| | | path: '/customerService', |
| | | name: 'customerService', |
| | | // beforeEnter: (to, from, next) => { |
| | | // // 如果 customerServiceUrl 有值,直接跳转到外链 |
| | | // if (customerServiceUrl && customerServiceUrl.trim()) { |
| | | // window.open(customerServiceUrl, '_blank'); |
| | | // } else { |
| | | // // 如果没有值,正常跳转 |
| | | // next(); |
| | | // } |
| | | // }, |
| | | component: () => import(/* webpackChunkName: "customerService" */ '@/views/customerService/index.vue') |
| | | }, |
| | | { //身份认证 |
| | |
| | | path: '/aboutUs', |
| | | name: 'aboutUs', |
| | | component: () => import(/* webpackChunkName: "aboutUs" */ '@/views/cryptos/AboutUs/index.vue') |
| | | }, |
| | | { |
| | | // W-8BEN表单 |
| | | path: '/w8ben', |
| | | name: 'w8ben', |
| | | meta: { requireAuth: true }, |
| | | component: () => import(/* webpackChunkName: "w8ben" */ '@/views/w8ben/index.vue') |
| | | }, |
| | | { |
| | | //导航更多 |