| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613 |
- import { createRouter, createWebHashHistory } from "vue-router";
- import HomeIndex from "../views/HomeIndex.vue";
- import AppIndex from "../views/index/Index.vue";
- import MarketIndex from "../views/market/Index.vue";
- import AssetIndex from "../views/asset/Index.vue";
- import UserIndex from "../views/user/Index.vue";
- import ApplyPermission from "../views/index/ApplyPermission.vue";
- import SplashScreen from "../views/index/SplashScreen.vue";
- import RiskTips from "../views/index/RiskTips.vue";
- import SearchIcon from "../views/index/SearchIcon.vue";
- import Notification from "../views/notification/Index.vue";
- import IndexUser from "../views/index/User.vue";
- import UserCenter from "../views/index/UserCenter.vue";
- import MarketDetails from "../views/market/details/Index.vue";
- import HistoryIndex from "../views/asset/history/Index.vue";
- import EntrustDetails from "../views/asset/history/EntrustDetails.vue";
- import PositionDetails from "../views/asset/history/PositionDetails.vue";
- import IcoIndex from "../views/index/ico/Index.vue";
- import LoanIndex from "../views/index/loan/Index.vue";
- import LoanRules from "../views/index/loan/Rules.vue";
- import UserLoanIndex from "../views/user/loan/Index.vue";
- import CommitMessage from "../views/index/loan/CommitMessage.vue";
- import ContractTerms from "../views/index/loan/ContractTerms.vue";
- import Signature from "../views/index/loan/Signature.vue";
- import DeleteAccount from "../views/user/DeleteAccount.vue";
- import RechargeIndex from "../views/index/recharge/RechargeIndex.vue";
- import WithdrawIndex from "../views/index/recharge/WithdrawIndex.vue";
- import RechargeChangeCoin from "../views/index/recharge/ChangeCoin.vue";
- import Transfer from "../views/index/recharge/Transfer.vue";
- import TransferHistory from "../views/index/recharge/TransferHistory.vue";
- import UserAsset from "../views/asset/UserAsset.vue";
- import OTCMessageIndex from "@/views/asset/otc/message/Index.vue";
- import OTCOrderIndex from "@/views/asset/otc/order/Index.vue";
- import OTCTransactionIndex from "@/views/asset/otc/transaction/Index.vue";
- import OTCUserIndex from "@/views/asset/otc/user/Index.vue";
- import CloudCalculator from "@/views/index/cloudComputingPower/Calculator.vue";
- import StakingIndex from "@/views/index/staking/Index.vue";
- import StakingRules from "@/views/index/staking/Rules.vue";
- import StakingRecord from "@/views/index/staking/Record.vue";
- import OTCIndex from "@/views/asset/otc/Index.vue";
- import MyPower from "@/views/index/cloudComputingPower/MyPower.vue";
- import MiningOutput from "@/views/index/cloudComputingPower/MiningOutput.vue";
- import ElectricityRecharge from "@/views/index/cloudComputingPower/ElectricityRecharge.vue";
- import ElectricitySetting from "@/views/index/cloudComputingPower/ElectricitySetting.vue";
- import ElectricityBill from "@/views/index/cloudComputingPower/ElectricityBill.vue";
- import CloudMyOrder from "@/views/index/cloudComputingPower/MyOrder.vue";
- import CloudComPowerIndex from "@/views/index/cloudComputingPower/Index.vue";
- import ComboDetails from "@/views/index/cloudComputingPower/ComboDetails.vue";
- import RechargeHistory from "../views/index/recharge/RechargeHistory.vue";
- import WithdrawHistory from "../views/index/recharge/WithdrawHistory.vue";
- import FinancialIndex from "../views/index/financial/Index.vue";
- import FinancialBuy from "../views/index/financial/Buy.vue";
- import MyFinancial from "../views/index/financial/MyFinancial.vue";
- import AddzfbAccount from "@/views/asset/otc/transaction/AddzfbAccount.vue";
- import AddBankAccount from "@/views/asset/otc/transaction/AddBankAccount.vue";
- import OTCMerchantDetails from "@/views/asset/otc/user/MerchantDetails.vue";
- import MyFollow from "@/views/asset/otc/user/MyFollow.vue";
- import LevelLimit from "@/views/asset/otc/user/LevelLimit.vue";
- import TransactionGuide from "@/views/asset/otc/user/TransactionGuide.vue";
- import CommonFunctionsPopup from "@/views/bitcoin/CommonFunctionsPopup/CommonFunctionsPopup.vue"; // 子组件路径
- import TradeRules from "@/views/bitcoin/CommonFunctionsPopup/GeneralLevel2/TradeRules.vue"; // 新建
- import TradeLayout from "@/views/bitcoin/TradeLayout.vue"; // 新建的公共父组件
- import TradeFutures from "@/views/bitcoin/TradeFutures.vue"; // (合约)
- import TradeSeconds from "@/views/bitcoin/lever/TradeSeconds.vue"; // 秒合约(占位)
- import TradeOptions from "@/views/bitcoin/lever/TradeOptions.vue"; // 期权(占位)
- import TradeMargin from "@/views/bitcoin/lever/TradeMargin.vue";
- import Calculator from "../views/bitcoin/Calculator.vue"; // 新建的计算器页面
- import TradeSettings from "@/views/bitcoin/CommonFunctionsPopup/GeneralLevel2/TradeSettings.vue"; // 新建
- import OptionTrading from "@/views/bitcoin/lever/OptionTrading.vue";
- import AddressAuth from "@/views/user/AddressAuth.vue";
- import RelativeAuth from "@/views/user/RelativeAuth.vue";
- import LanguageSwitch from "@/views/user/LanguageSwitch.vue"; //语言国际化
- const routes = [
- {
- path: "/",
- name: "home",
- component: HomeIndex,
- children: [
- {
- path: "",
- name: "appIndex",
- component: AppIndex,
- },
- {
- path: "marketIndex",
- name: "marketIndex",
- component: MarketIndex,
- },
- {
- path: "/bitcoin",
- component: TradeLayout, // 而是布局组件
- // 当访问 /bitcoin 时,自动重定向到 /bitcoin/contract
- redirect: "/bitcoin/CryptocurrencyTrading",
- children: [
- // 1. 核心交易子路由
- {
- path: "contract",
- name: "TradeContract",
- component: TradeFutures, // 核心交易逻辑
- meta: { title: "合约" },
- },
- {
- path: "seconds",
- name: "TradeSeconds",
- component: TradeSeconds,
- meta: { title: "秒合约" },
- },
- {
- path: "options",
- name: "TradeOptions",
- component: TradeOptions,
- meta: { title: "期权" },
- },
- {
- path: "CryptocurrencyTrading",
- name: "Cryptocurrency",
- component: () => import("@/views/bitcoin/lever/CryptocurrencyTrading.vue"),
- meta: { title: "币币交易" },
- },
- {
- path: "margin",
- name: "TradeMargin",
- component: TradeMargin,
- meta: { title: "杠杆" },
- },
- {
- path: "settings",
- name: "TradeSettings",
- component: TradeSettings,
- },
- ],
- },
- { path: "calculator", name: "calculator", component: Calculator },
- {
- path: "OptionTrading",
- name: "OptionTrading",
- component: OptionTrading,
- meta: { title: "" },
- },
- {
- path: "/assetIndex",
- name: "assetIndex",
- component: AssetIndex,
- },
- {
- path: "/userIndex",
- name: "userIndex",
- component: UserIndex,
- },
- ],
- },
- {
- path: "/AdvancedCertification",
- name: "AdvancedCertification",
- component: () => import("@/views/user/AdvancedCertification.vue"),
- meta: { title: "" },
- },
- {
- path: "/PnLAnalysis",
- name: "PnLAnalysis",
- component: () => import("@/views/bitcoin/lever/PnLAnalysis.vue"),
- meta: { title: "" },
- },
- {
- path: "/otcIndex",
- name: "otcIndex",
- component: OTCIndex,
- children: [
- {
- path: "",
- name: "otcTransactionIndex",
- component: OTCTransactionIndex,
- },
- {
- path: "/otcMessageIndex",
- name: "otcMessageIndex",
- component: OTCMessageIndex,
- },
- {
- path: "/otcOrderIndex",
- name: "otcOrderIndex",
- component: OTCOrderIndex,
- },
- {
- path: "/otcUserIndex",
- name: "otcUserIndex",
- component: OTCUserIndex,
- },
- ],
- },
- {
- path: "/detail",
- name: "HelpCenter",
- // 记得创建这个 Detail.vue 文件
- component: () => import("@/views/user/HelpCenter.vue"),
- },
- {
- // 动态路由,接收一个 id 参数
- path: "/help/detail",
- name: "HelpDetail",
- component: () => import("@/views/user/HelpDetail.vue"),
- },
- {
- path: "/about",
- name: "AboutUs",
- component: () => import("@/views/user/AboutUs.vue"),
- },
- {
- path: "/about/privacy",
- name: "PrivacyPolicy",
- component: () => import("@/views/user/PrivacyPolicy.vue"),
- },
- {
- path: "/about/agreement",
- name: "UserAgreement",
- component: () => import("@/views/user/UserAgreement.vue"),
- },
- {
- path: "/invite",
- name: "InviteCenter",
- component: () => import("@/views/user/InviteCenter.vue"), // 上面的组件
- },
- {
- path: "/invite/poster",
- name: "InvitePoster",
- component: () => import("@/views/user/InvitePoster.vue"),
- },
- {
- path: "/vip",
- name: "VipCenter",
- component: () => import("@/views/user/VipCenter.vue"),
- },
- {
- path: "/vip/rules",
- name: "VipRules",
- component: () => import("@/views/user/VipRules.vue"),
- },
- {
- path: "/kyc/step1",
- name: "KycForm",
- component: () => import("@/views/user/KycForm.vue"), // 填写表单
- },
- {
- path: "/kyc/step2",
- name: "KycUpload",
- component: () => import("@/views/user/KycUpload.vue"), // 上传证件
- },
- {
- path: "/security",
- name: "SecuritySettings",
- component: () => import("@/views/user/SecuritySettings.vue"), // 核心页面
- },
- {
- path: "/set-password",
- name: "SetPassword",
- component: () => import("@/views/user/SetPassword.vue"), // 新页面
- },
- {
- path: "/delete-account",
- name: "DeleteAccount",
- component: () => import("@/views/user/DeleteAccount.vue"), // 新页面
- },
- {
- // 地址认证:复用同一个组件,通过 query 参数 type 来区分是 "home" 还是 "work"
- path: "/auth/address",
- name: "address-auth",
- component: AddressAuth,
- },
- {
- // 亲属认证
- path: "/auth/relative",
- name: "relative-auth",
- component: RelativeAuth,
- },
- {
- path: "/language",
- name: "LanguageSwitch",
- component: LanguageSwitch,
- meta: { title: "切换语言" },
- },
- {
- path: "/basic-verify",
- name: "BasicVerify",
- component: () => import("@/views/user/BasicVerify.vue"),
- meta: { title: "基础认证" },
- },
- {
- path: "/applyPermission",
- name: "applyPermission",
- component: ApplyPermission,
- },
- {
- path: "/splashScreen",
- name: "splashScreen",
- component: SplashScreen,
- },
- {
- path: "/riskTips",
- name: "riskTips",
- component: RiskTips,
- },
- {
- path: "/searchIcon",
- name: "searchIcon",
- component: SearchIcon,
- },
- {
- path: "/notification",
- name: "notification",
- component: Notification,
- },
- {
- path: "/indexUser",
- name: "indexUser",
- component: IndexUser,
- },
- {
- path: "/userCenter",
- name: "userCenter",
- component: UserCenter,
- },
- {
- path: "/marketDetails",
- name: "marketDetails",
- component: MarketDetails,
- },
- {
- path: "/historyIndex",
- name: "historyIndex",
- component: HistoryIndex,
- },
- {
- path: "/entrustDetails",
- name: "entrustDetails",
- component: EntrustDetails,
- },
- {
- path: "/positionDetails",
- name: "positionDetails",
- component: PositionDetails,
- },
- {
- path: "/icoIndex",
- name: "icoIndex",
- component: IcoIndex,
- },
- {
- path: "/loanIndex",
- name: "loanIndex",
- component: LoanIndex,
- },
- {
- path: "/loanRules",
- name: "loanRules",
- component: LoanRules,
- },
- {
- path: "/userLoanIndex",
- name: "userLoanIndex",
- component: UserLoanIndex,
- },
- {
- path: "/commitMessage",
- name: "commitMessage",
- component: CommitMessage,
- },
- {
- path: "/contractTerms",
- name: "contractTerms",
- component: ContractTerms,
- },
- {
- path: "/signature",
- name: "signature",
- component: Signature,
- },
- {
- path: "/deleteAccount",
- name: "deleteAccount",
- component: DeleteAccount,
- },
- {
- path: "/rechargeIndex",
- name: "rechargeIndex",
- component: RechargeIndex,
- },
- {
- path: "/rechargeChangeCoin",
- name: "rechargeChangeCoin",
- component: RechargeChangeCoin,
- },
- {
- path: "/withdrawIndex",
- name: "withdrawIndex",
- component: WithdrawIndex,
- },
- {
- path: "/transfer",
- name: "transfer",
- component: Transfer,
- },
- {
- path: "/transferHistory",
- name: "transferHistory",
- component: TransferHistory,
- },
- {
- path: "/userAsset",
- name: "userAsset",
- component: UserAsset,
- },
- {
- path: "/applyPermission",
- name: "applyPermission",
- component: ApplyPermission,
- },
- {
- path: "/splashScreen",
- name: "splashScreen",
- component: SplashScreen,
- },
- {
- path: "/riskTips",
- name: "riskTips",
- component: RiskTips,
- },
- {
- path: "/searchIcon",
- name: "searchIcon",
- component: SearchIcon,
- },
- {
- path: "/notification",
- name: "notification",
- component: Notification,
- },
- {
- path: "/indexUser",
- name: "indexUser",
- component: IndexUser,
- },
- {
- path: "/userCenter",
- name: "userCenter",
- component: UserCenter,
- },
- {
- path: "/marketDetails",
- name: "marketDetails",
- component: MarketDetails,
- },
- {
- path: "/historyIndex",
- name: "historyIndex",
- component: HistoryIndex,
- },
- {
- path: "/entrustDetails",
- name: "entrustDetails",
- component: EntrustDetails,
- },
- {
- path: "/positionDetails",
- name: "positionDetails",
- component: PositionDetails,
- },
- {
- path: "/icoIndex",
- name: "icoIndex",
- component: IcoIndex,
- },
- {
- path: "/loanIndex",
- name: "loanIndex",
- component: LoanIndex,
- },
- {
- path: "/loanRules",
- name: "loanRules",
- component: LoanRules,
- },
- {
- path: "/userLoanIndex",
- name: "userLoanIndex",
- component: UserLoanIndex,
- },
- {
- path: "/rechargeHistory",
- name: "rechargeHistory",
- component: RechargeHistory,
- },
- {
- path: "/withdrawHistory",
- name: "withdrawHistory",
- component: WithdrawHistory,
- },
- {
- path: "/financialIndex",
- name: "financialIndex",
- component: FinancialIndex,
- },
- {
- path: "/financialBuy",
- name: "financialBuy",
- component: FinancialBuy,
- },
- {
- path: "/myFinancial",
- name: "myFinancial",
- component: MyFinancial,
- },
- {
- path: "/cloudComPowerIndex",
- name: "cloudComPowerIndex",
- component: CloudComPowerIndex,
- },
- {
- path: "/comboDetails",
- name: "comboDetails",
- component: ComboDetails,
- },
- {
- path: "/myPower",
- name: "myPower",
- component: MyPower,
- },
- {
- path: "/miningOutput",
- name: "miningOutput",
- component: MiningOutput,
- },
- {
- path: "/electricityRecharge",
- name: "electricityRecharge",
- component: ElectricityRecharge,
- },
- {
- path: "/electricitySetting",
- name: "electricitySetting",
- component: ElectricitySetting,
- },
- {
- path: "/electricityBill",
- name: "electricityBill",
- component: ElectricityBill,
- },
- {
- path: "/cloudMyOrder",
- name: "cloudMyOrder",
- component: CloudMyOrder,
- },
- {
- path: "/cloudCalculator",
- name: "cloudCalculator",
- component: CloudCalculator,
- },
- {
- path: "/stakingIndex",
- name: "stakingIndex",
- component: StakingIndex,
- },
- {
- path: "/stakingRules",
- name: "stakingRules",
- component: StakingRules,
- },
- {
- path: "/stakingRecord",
- name: "stakingRecord",
- component: StakingRecord,
- },
- {
- path: "/addzfbAccount",
- name: "addzfbAccount",
- component: AddzfbAccount,
- },
- {
- path: "/addBankAccount",
- name: "addBankAccount",
- component: AddBankAccount,
- },
- {
- path: "/OTCMerchantDetails",
- name: "OTCMerchantDetails",
- component: OTCMerchantDetails,
- },
- {
- path: "/myFollow",
- name: "myFollow",
- component: MyFollow,
- },
- {
- path: "/levelLimit",
- name: "levelLimit",
- component: LevelLimit,
- },
- {
- path: "/transactionGuide",
- name: "transactionGuide",
- component: TransactionGuide,
- },
- ];
- const router = createRouter({
- history: createWebHashHistory(),
- routes,
- });
- export default router;
|