1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
| import { createRouter, createWebHashHistory } from 'vue-router'
| import { useUserStore } from "@/store/user.js";
|
| // 路由规则
| const routes = [
| {
| path: '/',
| children: [
| { path: '', redirect: '/news/index' },
| {
| path: '/login',
| name: 'Login',
| component: () => import(/* webpackChunkName: "login" */ /* webpackPrefetch: true */'@/views/login/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/foreign/CoinChart.vue'),
| children: [
| { path: 'index', meta: { tarbar: true, keepAlive: true }, name: 'tradeIndex', component: () => import(/* webpackChunkName: "trade" */ /* webpackPrefetch: true */'@/views/foreign/CoinChart.vue') },
| // { 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: true, }
| },
| {
| //交割合约历史
| 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(/* webpackChunkName: "cryptos" */ /* webpackPrefetch: true */ '@/views/cryptos/index.vue') }
| // { path: 'index', meta: { tarbar: false, keepAlive: true }, component: () => import(/* webpackChunkName: "cryptos" */ /* webpackPrefetch: true */ '@/views/cryptos/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: 'explanation', meta: { tarbar: true, keepAlive: true }, component: () => import(/* webpackChunkName: "chart" */ /* webpackPrefetch: true */'@/views/news/explanation.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: 'index', meta: { tarbar: false, keepAlive: true }, component: () => import(/* webpackChunkName: "cryptos" */ /* webpackPrefetch: true */ '@/views/cryptos/index.vue') },
| { 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: '/mining', meta: { tarbar: false, keepAlive: true }, component: () => import('@/views/cryptos/Funds/newIndex.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: '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: '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 },
| children: [
| { path: 'index', meta: { tarbar: true, }, component: () => import(/* webpackChunkName: "my" */ /* webpackPrefetch: true */'@/views/my/newindex.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 }
| },
| })
|
| 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()
| }
| })
|
| export default router
|
|