Sfoglia il codice sorgente

Merge branch 'jiahao'

jhaoG 1 mese fa
parent
commit
b78a46cf63

File diff suppressed because it is too large
+ 1 - 0
src/assets/icon/index/time.svg


+ 3 - 0
src/assets/icon/tabbar/bitcoin-circle-clicked.svg

@@ -0,0 +1,3 @@
+<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M10.911 9.25H8.79599V7.08997H10.911C11.494 7.08997 11.969 7.57404 11.969 8.17004C11.969 8.76604 11.494 9.25 10.911 9.25ZM11.427 10.75H10.91H8.79501V12.91H11.426C12.009 12.91 12.484 12.426 12.484 11.83C12.484 11.234 12.011 10.75 11.427 10.75ZM20 10C20 15.523 15.523 20 10 20C4.477 20 0 15.523 0 10C0 4.477 4.477 0 10 0C15.523 0 20 4.477 20 10ZM13.985 11.83C13.985 10.971 13.563 10.215 12.921 9.745C13.259 9.30799 13.468 8.76604 13.468 8.17004C13.468 6.92004 12.582 5.87599 11.409 5.64099V5C11.409 4.586 11.073 4.25 10.659 4.25C10.245 4.25 9.909 4.586 9.909 5V5.58997H9.31799V5C9.31799 4.586 8.98199 4.25 8.56799 4.25C8.15399 4.25 7.81799 4.586 7.81799 5V5.58997H6.76401C6.35001 5.58997 6.01401 5.92597 6.01401 6.33997C6.01401 6.75397 6.35001 7.08997 6.76401 7.08997H7.29501V12.91H6.76401C6.35001 12.91 6.01401 13.246 6.01401 13.66C6.01401 14.074 6.35001 14.41 6.76401 14.41H7.81799V15C7.81799 15.414 8.15399 15.75 8.56799 15.75C8.98199 15.75 9.31799 15.414 9.31799 15V14.41H9.909V15C9.909 15.414 10.245 15.75 10.659 15.75C11.073 15.75 11.409 15.414 11.409 15V14.41H11.426C12.838 14.41 13.985 13.253 13.985 11.83Z" fill="#DF384C"/>
+</svg>

BIN
src/assets/icon/tabbar/bitcoin-circle.png


+ 3 - 0
src/assets/icon/tabbar/bitcoin-circle.svg

@@ -0,0 +1,3 @@
+<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M10.75 0C4.822 0 0 4.822 0 10.75C0 16.678 4.822 21.5 10.75 21.5C16.678 21.5 21.5 16.678 21.5 10.75C21.5 4.822 16.678 0 10.75 0ZM10.75 20C5.649 20 1.5 15.851 1.5 10.75C1.5 5.649 5.649 1.5 10.75 1.5C15.851 1.5 20 5.649 20 10.75C20 15.851 15.851 20 10.75 20ZM13.672 10.495C14.01 10.058 14.219 9.51604 14.219 8.92004C14.219 7.67004 13.333 6.62599 12.16 6.39099V5.75C12.16 5.336 11.824 5 11.41 5C10.996 5 10.66 5.336 10.66 5.75V6.33997H10.069V5.75C10.069 5.336 9.733 5 9.319 5C8.905 5 8.569 5.336 8.569 5.75V6.33997H7.51501C7.10101 6.33997 6.76501 6.67597 6.76501 7.08997C6.76501 7.50397 7.10101 7.83997 7.51501 7.83997H8.04599V13.66H7.51501C7.10101 13.66 6.76501 13.996 6.76501 14.41C6.76501 14.824 7.10101 15.16 7.51501 15.16H8.569V15.75C8.569 16.164 8.905 16.5 9.319 16.5C9.733 16.5 10.069 16.164 10.069 15.75V15.16H10.66V15.75C10.66 16.164 10.996 16.5 11.41 16.5C11.824 16.5 12.16 16.164 12.16 15.75V15.16H12.177C13.588 15.16 14.735 14.003 14.735 12.58C14.735 11.721 14.313 10.965 13.672 10.495ZM12.719 8.92004C12.719 9.51604 12.244 10 11.661 10H9.54599V7.83997H11.661C12.244 7.83997 12.719 8.32404 12.719 8.92004ZM12.177 13.66H9.54599V11.5H11.661H12.178C12.761 11.5 13.236 11.984 13.236 12.58C13.236 13.176 12.761 13.66 12.177 13.66Z" fill="#A8A8A8"/>
+</svg>

+ 3 - 0
src/assets/icon/tabbar/chart-2-clicked.svg

@@ -0,0 +1,3 @@
+<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M14.19 0H5.81C2.17 0 0 2.17 0 5.81V14.18C0 17.83 2.17 20 5.81 20H14.18C17.82 20 19.99 17.83 19.99 14.19V5.81C20 2.17 17.83 0 14.19 0ZM7.91 14.19C7.91 14.83 7.39 15.35 6.74 15.35C6.1 15.35 5.58 14.83 5.58 14.19V10.93C5.58 10.29 6.1 9.77 6.74 9.77C7.39 9.77 7.91 10.29 7.91 10.93V14.19ZM14.42 14.19C14.42 14.83 13.9 15.35 13.26 15.35C12.61 15.35 12.09 14.83 12.09 14.19V5.81C12.09 5.17 12.61 4.65 13.26 4.65C13.9 4.65 14.42 5.17 14.42 5.81V14.19Z" fill="#DF384C"/>
+</svg>

+ 5 - 0
src/assets/icon/tabbar/chart-2.svg

@@ -0,0 +1,5 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M9 22H15C20 22 22 20 22 15V9C22 4 20 2 15 2H9C4 2 2 4 2 9V15C2 20 4 22 9 22Z" stroke="#A9A9A9" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M15.5 18.5C16.6 18.5 17.5 17.6 17.5 16.5V7.5C17.5 6.4 16.6 5.5 15.5 5.5C14.4 5.5 13.5 6.4 13.5 7.5V16.5C13.5 17.6 14.39 18.5 15.5 18.5Z" stroke="#A9A9A9" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M8.5 18.5C9.6 18.5 10.5 17.6 10.5 16.5V13C10.5 11.9 9.6 11 8.5 11C7.4 11 6.5 11.9 6.5 13V16.5C6.5 17.6 7.39 18.5 8.5 18.5Z" stroke="#A9A9A9" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>

BIN
src/assets/icon/tabbar/home-clicked.png


+ 3 - 0
src/assets/icon/tabbar/home-clicked.svg

@@ -0,0 +1,3 @@
+<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M15 17.9993H11.8C11.634 17.9993 11.5 17.8652 11.5 17.6992V13.4993C11.5 12.1183 10.381 10.9993 9 10.9993C7.619 10.9993 6.5 12.1183 6.5 13.4993V17.6992C6.5 17.8652 6.36595 17.9993 6.19995 17.9993H3C1 17.9993 0 16.9993 0 14.9993V8.65029C0 6.65229 0.523054 6.34535 1.43005 5.58535L7.39404 0.58425C8.32304 -0.19475 9.67806 -0.19475 10.6071 0.58425L16.571 5.58535C17.477 6.34535 18.001 6.65229 18.001 8.65029V14.9993C18 16.9993 17 17.9993 15 17.9993Z" fill="#DF384C"/>
+</svg>

+ 3 - 0
src/assets/icon/tabbar/home.svg

@@ -0,0 +1,3 @@
+<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M15.75 19.5012H11.5V14.2512C11.5 13.2862 10.715 12.5012 9.75 12.5012C8.785 12.5012 8 13.2862 8 14.2512V19.5012H3.75C1.332 19.5012 0 18.1692 0 15.7512V9.40126C0 7.27826 0.585992 6.68523 1.54199 5.89223L7.66199 0.76125C8.87099 -0.25375 10.629 -0.25375 11.838 0.76125L17.958 5.89223C18.914 6.68523 19.5 7.27926 19.5 9.40126V15.7512C19.5 18.1692 18.168 19.5012 15.75 19.5012ZM13 18.0012H15.75C17.327 18.0012 18 17.3282 18 15.7512V9.40126C18 7.87526 17.748 7.66628 17.001 7.04628L10.875 1.9103C10.223 1.3643 9.277 1.3643 8.625 1.9103L2.49902 7.04628C1.75202 7.66628 1.5 7.87526 1.5 9.40126V15.7512C1.5 17.3282 2.173 18.0012 3.75 18.0012H6.5V14.2512C6.5 12.4592 7.958 11.0012 9.75 11.0012C11.542 11.0012 13 12.4592 13 14.2512V18.0012Z" fill="#A8A8A8"/>
+</svg>

+ 3 - 0
src/assets/icon/tabbar/user-circle-clicked.svg

@@ -0,0 +1,3 @@
+<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M10 0C4.477 0 0 4.477 0 10C0 15.523 4.477 20 10 20C15.523 20 20 15.523 20 10C20 4.477 15.523 0 10 0ZM10.0081 5C11.6651 5 13.0081 6.343 13.0081 8C13.0081 9.657 11.6651 11 10.0081 11C8.35106 11 7.00806 9.657 7.00806 8C7.00806 6.343 8.35106 5 10.0081 5ZM10 18.5C7.79 18.5 5.77001 17.65 4.26001 16.26C4.70001 14.88 5.84004 13.5699 8.29004 13.5699H11.71C14.15 13.5699 15.29 14.89 15.74 16.26C14.23 17.65 12.21 18.5 10 18.5Z" fill="#DF384C"/>
+</svg>

BIN
src/assets/icon/tabbar/user-circle.png


+ 3 - 0
src/assets/icon/tabbar/user-circle.svg

@@ -0,0 +1,3 @@
+<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M21.5 10.75C21.5 4.822 16.678 0 10.75 0C4.822 0 0 4.822 0 10.75C0 14.22 1.65899 17.302 4.21899 19.269C4.22299 19.273 4.22903 19.2751 4.23303 19.2791C6.04403 20.6661 8.29898 21.5 10.751 21.5C13.203 21.5 15.458 20.6661 17.269 19.2791C17.273 19.2751 17.279 19.273 17.283 19.269C19.841 17.302 21.5 14.22 21.5 10.75ZM1.5 10.75C1.5 5.649 5.649 1.5 10.75 1.5C15.851 1.5 20 5.649 20 10.75C20 13.273 18.982 15.5621 17.338 17.2321C16.889 15.3311 15.452 13.5699 12.46 13.5699H9.04004C6.04804 13.5699 4.60999 15.3311 4.16199 17.2321C2.51799 15.5621 1.5 13.273 1.5 10.75ZM5.50903 18.364C5.56703 17.338 6.03604 15.0699 9.04004 15.0699H12.46C15.464 15.0699 15.933 17.338 15.991 18.364C14.5 19.394 12.695 20 10.75 20C8.805 20 7.00003 19.393 5.50903 18.364ZM10.7581 12.5C12.8251 12.5 14.5081 10.818 14.5081 8.75C14.5081 6.682 12.8251 5 10.7581 5C8.69106 5 7.00806 6.682 7.00806 8.75C7.00806 10.818 8.69006 12.5 10.7581 12.5ZM10.7581 6.5C11.9981 6.5 13.0081 7.509 13.0081 8.75C13.0081 9.991 11.9981 11 10.7581 11C9.51806 11 8.50806 9.991 8.50806 8.75C8.50806 7.509 9.51806 6.5 10.7581 6.5Z" fill="#A8A8A8"/>
+</svg>

+ 3 - 0
src/assets/icon/tabbar/wallet-clicked.svg

@@ -0,0 +1,3 @@
+<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M10.25 11C10.25 12.79 11.71 14.25 13.5 14.25H18V15C18 17 17 18 15 18H3C1 18 0 17 0 15V2C0 3.1 0.9 4 2 4H15C17 4 18 5 18 7V7.75H13.5C11.71 7.75 10.25 9.21 10.25 11ZM13.5 9.25C12.54 9.25 11.75 10.04 11.75 11C11.75 11.96 12.54 12.75 13.5 12.75H18V9.25H13.5ZM14.02 12C13.47 12 13.01 11.55 13.01 11C13.01 10.45 13.46 10 14.01 10H14.02C14.57 10 15.02 10.45 15.02 11C15.02 11.55 14.57 12 14.02 12ZM12 0H2.75C2.06 0 1.5 0.56 1.5 1.25C1.5 1.94 2.06 2.5 2.75 2.5H14.97C14.82 0.83 13.83 0 12 0Z" fill="#DF384C"/>
+</svg>

BIN
src/assets/icon/tabbar/wallet.png


+ 3 - 0
src/assets/icon/tabbar/wallet.svg

@@ -0,0 +1,3 @@
+<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M16.5 4.047V3.75C16.5 1.332 15.168 0 12.75 0H2.75C1.233 0 0 1.233 0 2.75V15.75C0 18.168 1.332 19.5 3.75 19.5H15.75C18.168 19.5 19.5 18.168 19.5 15.75V7.75C19.5 5.595 18.442 4.303 16.5 4.047ZM18 13.5H14.25C13.285 13.5 12.5 12.715 12.5 11.75C12.5 10.785 13.285 10 14.25 10H18V13.5ZM2.75 1.5H12.75C14.327 1.5 15 2.173 15 3.75V4H2.75C2.061 4 1.5 3.439 1.5 2.75C1.5 2.061 2.061 1.5 2.75 1.5ZM15.75 18H3.75C2.173 18 1.5 17.327 1.5 15.75V5.19897C1.875 5.39097 2.3 5.5 2.75 5.5H15.75C17.327 5.5 18 6.173 18 7.75V8.5H14.25C12.458 8.5 11 9.958 11 11.75C11 13.542 12.458 15 14.25 15H18V15.75C18 17.327 17.327 18 15.75 18ZM14.76 10.75H14.77C15.323 10.75 15.77 11.198 15.77 11.75C15.77 12.302 15.323 12.75 14.77 12.75C14.218 12.75 13.765 12.302 13.765 11.75C13.765 11.198 14.208 10.75 14.76 10.75Z" fill="#A8A8A8"/>
+</svg>

File diff suppressed because it is too large
+ 6 - 0
src/assets/img/index/kuangji.svg


File diff suppressed because it is too large
+ 6 - 0
src/assets/img/index/yunsuanli-banner.svg


+ 321 - 322
src/router/index.js

@@ -1,4 +1,4 @@
-import {createRouter, createWebHistory} from "vue-router";
+import { createRouter, createWebHistory } from "vue-router";
 import HomeIndex from "../views/HomeIndex.vue";
 import AppIndex from "../views/index/Index.vue";
 import MarketIndex from "../views/market/Index.vue";
@@ -34,337 +34,336 @@ 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 CloudComPowerIndex from "@/views/index/cloudComputingPower/Index.vue";
+import ComboDetails from "@/views/index/cloudComputingPower/ComboDetails.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 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";
 
 const routes = [
-    {
-        path: "/",
-        name: "home",
-        component: HomeIndex,
+  {
+    path: "/",
+    name: "home",
+    component: HomeIndex,
+    children: [
+      {
+        path: "",
+        name: "",
+        component: AppIndex,
+      },
+      {
+        path: "marketIndex",
+        name: "marketIndex",
+        component: MarketIndex,
+      },
+      {
+        path: "/bitcoin",
+        component: TradeLayout, // 而是布局组件
+        // 当访问 /bitcoin 时,自动重定向到 /bitcoin/contract
+        redirect: "/bitcoin/contract",
         children: [
-            {
-                path: "",
-                name: "",
-                component: AppIndex,
-            },
-            {
-                path: "marketIndex",
-                name: "marketIndex",
-                component: MarketIndex,
-            },
-            {
-                path: "/bitcoin",
-                component: TradeLayout, // 而是布局组件
-                // 当访问 /bitcoin 时,自动重定向到 /bitcoin/contract
-                redirect: "/bitcoin/contract",
-                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: "margin",
-                        name: "TradeMargin",
-                        component: TradeMargin,
-                        meta: {title: "杠杆"},
-                    },
-                    {
-                        path: 'settings',
-                        name: 'TradeSettings',
-                        component: TradeSettings
-                    },
+          // 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: 'PnLAnalysis',
-                name: 'PnLAnalysis.vue',
-                component: () => import('@/views/bitcoin/lever/PnLAnalysis.vue'),
-                meta: {title: ''}
-            },
-            {
-                path: 'calculator',
-                name: 'calculator',
-                component: Calculator
-            },
-            {
-                path: 'OptionTrading',
-                name: 'OptionTrading',
-                component: OptionTrading,
-                meta: {title: ''}
-            },
-            {path: "settings", name: "TradeSettings", component: TradeSettings},
-            {path: "calculator", name: "calculator", component: Calculator},
-        ]
-    },
-    {
-        path: "assetIndex",
-        name: "assetIndex",
-        component: AssetIndex,
-    },
-    {
-        path: "userIndex",
-        name: "userIndex",
-        component: UserIndex,
-    },
-    {
-        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: "margin",
+            name: "TradeMargin",
+            component: TradeMargin,
+            meta: { title: "杠杆" },
+          },
+          {
+            path: "settings",
+            name: "TradeSettings",
+            component: TradeSettings,
+          },
+        ],
+      },
+      {
+        path: "PnLAnalysis",
+        name: "PnLAnalysis.vue",
+        component: () => import("@/views/bitcoin/lever/PnLAnalysis.vue"),
+        meta: { title: "" },
+      },
+      {
+        path: "calculator",
+        name: "calculator",
+        component: Calculator,
+      },
+      {
+        path: "OptionTrading",
+        name: "OptionTrading",
+        component: OptionTrading,
+        meta: { title: "" },
+      },
+      { path: "settings", name: "TradeSettings", component: TradeSettings },
+      { path: "calculator", name: "calculator", component: Calculator },
+    ],
+  },
+  {
+    path: "assetIndex",
+    name: "assetIndex",
+    component: AssetIndex,
+  },
+  {
+    path: "userIndex",
+    name: "userIndex",
+    component: UserIndex,
+  },
+  {
+    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,
+  },
 ];
 
 const router = createRouter({
-    history: createWebHistory(process.env.BASE_URL),
-    routes,
+  history: createWebHistory(process.env.BASE_URL),
+  routes,
 });
 
 export default router;

+ 10 - 10
src/views/HomeIndex.vue

@@ -35,36 +35,36 @@
     {
       key: "index",
       path: "/",
-      image: require("@/assets/icon/tabbar/home-clicked.png"),
-      selectedImage: require("@/assets/icon/tabbar/home-clicked.png"),
+      image: require("@/assets/icon/tabbar/home.svg"),
+      selectedImage: require("@/assets/icon/tabbar/home-clicked.svg"),
       text: "首页",
     },
     {
       key: "market",
       path: "/marketIndex",
-      image: require("@/assets/icon/tabbar/bitcoin-circle.png"),
-      selectedImage: require("@/assets/icon/tabbar/bitcoin-circle.png"),
+      image: require("@/assets/icon/tabbar/chart-2.svg"),
+      selectedImage: require("@/assets/icon/tabbar/chart-2-clicked.svg"),
       text: "行情",
     },
     {
       key: "bitcoin",
       path: "/bitcoin",
-      image: require("@/assets/icon/tabbar/bitcoin-circle.png"),
-      selectedImage: require("@/assets/icon/tabbar/bitcoin-circle.png"),
+      image: require("@/assets/icon/tabbar/bitcoin-circle.svg"),
+      selectedImage: require("@/assets/icon/tabbar/bitcoin-circle-clicked.svg"),
       text: "交易",
     },
     {
       key: "asset",
       path: "/assetIndex",
-      image: require("@/assets/icon/tabbar/wallet.png"),
-      selectedImage: require("@/assets/icon/tabbar/wallet.png"),
+      image: require("@/assets/icon/tabbar/wallet.svg"),
+      selectedImage: require("@/assets/icon/tabbar/wallet-clicked.svg"),
       text: "资产",
     },
     {
       key: "user",
       path: "/userIndex",
-      image: require("@/assets/icon/tabbar/user-circle.png"),
-      selectedImage: require("@/assets/icon/tabbar/user-circle.png"),
+      image: require("@/assets/icon/tabbar/user-circle.svg"),
+      selectedImage: require("@/assets/icon/tabbar/user-circle-clicked.svg"),
       text: "我的",
     },
   ];

+ 7 - 2
src/views/index/ApplyPermission.vue

@@ -9,12 +9,17 @@
         <div>正在申请访问你的钱包地址,</div>
         <div>你确认将钱包地址公开给此网站吗?</div>
       </div>
-      <div class="sure-btn pf600 fs14 fcFFFFFF">确认</div>
+      <div class="sure-btn pf600 fs14 fcFFFFFF" @click="sure">确认</div>
       <div class="cancel-btn pf400 fs14 fcDF384C">取消</div>
     </div>
   </div>
 </template>
-<script setup></script>
+<script setup>
+  const sure = async () => {
+    const accounts = await ethereum.request({ method: "eth_requestAccounts" });
+    console.log(1, accounts);
+  };
+</script>
 <style lang="less" scoped>
   .apply-permission {
     position: fixed;

+ 80 - 0
src/views/index/cloudComputingPower/ComboDetails.vue

@@ -0,0 +1,80 @@
+<template>
+  <!-- 套餐详情 -->
+  <div class="loan-header">
+    <div class="header-content pf600 fs18 fc1F2937">
+      <img
+        class="left-arrow-image"
+        src="../../../assets/icon/index/left-arrow.svg"
+        @click="toPath()" />
+      套餐名称
+      <div class="save pf500 fs14 fcDF384C">
+        <img src="../../../assets/icon/index/Headphones.svg" alt="" />
+      </div>
+    </div>
+  </div>
+  <div class="combo-details">
+    <img src="@/assets/img/index/kuangji.svg" class="kuangji" alt="" />
+  </div>
+</template>
+<script setup>
+  import { useRoute, useRouter } from "vue-router";
+
+  const router = useRouter();
+
+  const toPath = () => {
+    router.back();
+  };
+</script>
+<style lang="less" scoped>
+  .loan-header {
+    position: fixed;
+    left: 0;
+    top: 0;
+    z-index: 1;
+    width: 100%;
+    height: 48px;
+    background: #ffffff;
+    overflow: hidden;
+
+    .header-content {
+      display: flex;
+      flex-direction: row;
+      justify-content: center;
+      align-items: center;
+      position: relative;
+      width: 100%;
+      height: 48px;
+
+      .left-arrow-image {
+        position: absolute;
+        left: 14px;
+        top: 15px;
+        width: 9px;
+        height: 16px;
+      }
+
+      .save {
+        position: absolute;
+        top: 12px;
+        right: 16px;
+        width: 24px;
+        height: 24px;
+      }
+    }
+  }
+
+  .combo-details {
+    display: flex;
+    flex-direction: column;
+    justify-content: flex-start;
+    align-items: center;
+    margin-top: 48px;
+    width: 100%;
+
+    .kuangji {
+      margin-top: 20px;
+      width: 278px;
+      height: 214px;
+    }
+  }
+</style>

+ 236 - 0
src/views/index/cloudComputingPower/Index.vue

@@ -0,0 +1,236 @@
+<template>
+  <!-- 云算力-首页 -->
+  <div class="loan-header">
+    <div class="header-content pf600 fs18 fc121212">
+      <img
+        class="left-arrow-image"
+        src="../../../assets/icon/index/left-arrow.svg"
+        @click="toPath()" />
+      云算力
+      <div class="save pf600 fs14 fc333333">我的算力</div>
+    </div>
+  </div>
+  <div class="cloud-power-index">
+    <img src="@/assets/img/index/yunsuanli-banner.svg" class="yunsuanli-banner" alt="" />
+    <div class="cloud-combo">
+      <div class="title pf600 fs18 fc121212">算力套餐</div>
+      <div class="combo-main">
+        <div class="coin-item" v-for="(item, index) in 2" :key="index">
+          <div class="item-name">
+            <div class="item-info">
+              <div class="info-top pf500 fs14 fc1F2937">
+                <div>算力套餐名称</div>
+                <div>0.0176/T/天</div>
+              </div>
+              <div class="info-bottom">
+                <div class="pf500 fs10 fc121212">
+                  <img src="@/assets/icon/coin/bnb.svg" alt="" />
+                  BTC
+                </div>
+                <div class="start-time pf500 fs10 fc999999">
+                  <img src="@/assets/icon/index/time.svg" class="time" alt="" />
+                  开始挖矿 24小时内
+                </div>
+              </div>
+            </div>
+          </div>
+          <div class="item-line"></div>
+          <div class="item-use pf500 fs12 margin-top10">
+            <div class="fcA8A8A8">套餐天数</div>
+            <div class="fcDF384C">15 天</div>
+          </div>
+          <div class="item-use pf500 fs12 margin-top4">
+            <div class="fcA8A8A8">预估每日收益</div>
+            <div class="fc767676">0.015/T天</div>
+          </div>
+          <div class="item-use pf500 fs12 margin-top4">
+            <div class="fcA8A8A8">预估每日成本</div>
+            <div class="fc767676">0.00215/T天</div>
+          </div>
+          <div class="item-use pf500 fs12 margin-top4">
+            <div class="fcA8A8A8">预期收益率</div>
+            <div class="fc767676">152.16%</div>
+          </div>
+          <div class="conduct-btn pf600 fs14 fcFFFFFF" @click="goComboDetails">
+            立即购买
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+<script setup>
+  import { useRoute, useRouter } from "vue-router";
+
+  const router = useRouter();
+
+  const toPath = () => {
+    router.back();
+  };
+
+  const goComboDetails = () => {
+    router.push("/comboDetails");
+  };
+</script>
+<style lang="less" scoped>
+  .loan-header {
+    position: fixed;
+    left: 0;
+    top: 0;
+    z-index: 1;
+    width: 100%;
+    height: 48px;
+    background: #ffffff;
+    overflow: hidden;
+
+    .header-content {
+      display: flex;
+      flex-direction: row;
+      justify-content: center;
+      align-items: center;
+      position: relative;
+      width: 100%;
+      height: 48px;
+
+      .left-arrow-image {
+        position: absolute;
+        left: 14px;
+        top: 16px;
+        width: 9px;
+        height: 16px;
+      }
+
+      .save {
+        position: absolute;
+        top: 15px;
+        right: 16px;
+        height: 24px;
+      }
+    }
+  }
+
+  .cloud-power-index {
+    display: flex;
+    flex-direction: column;
+    justify-content: flex-start;
+    align-items: center;
+    margin-top: 48px;
+    width: 100%;
+
+    .yunsuanli-banner {
+      width: 345px;
+      height: 100px;
+    }
+
+    .cloud-combo {
+      margin-top: 10px;
+      width: 345px;
+
+      .title {
+        height: 24px;
+        line-height: 24px;
+      }
+
+      .combo-main {
+        width: 100%;
+
+        .coin-item {
+          padding-left: 19px;
+          padding-right: 11px;
+          margin-top: 10px;
+          width: 345px;
+          height: 209px;
+          border-radius: 8px;
+          border: 1px solid #ebebeb;
+          box-sizing: border-box;
+
+          .item-name {
+            display: flex;
+            flex-direction: row;
+            justify-content: space-between;
+            margin-top: 11px;
+            width: 100%;
+            height: 34px;
+
+            img {
+              width: 15px;
+              height: 15px;
+            }
+
+            .item-info {
+              width: calc(345px);
+              height: 34px;
+
+              .info-top {
+                display: flex;
+                flex-direction: row;
+                justify-content: space-between;
+                align-items: center;
+                width: 100%;
+                height: 20px;
+              }
+
+              .info-bottom {
+                display: flex;
+                flex-direction: row;
+                justify-content: space-between;
+                align-items: center;
+                margin-top: 2px;
+                width: 100%;
+                height: 15px;
+
+                .start-time {
+                  display: flex;
+                  flex-direction: row;
+                  justify-content: flex-start;
+                  align-items: center;
+                }
+
+                .time {
+                  margin-right: 2px;
+                  width: 12px;
+                  height: 12px;
+                }
+              }
+            }
+          }
+
+          .item-line {
+            margin-top: 10px;
+            width: 100%;
+            height: 1px;
+            background: #e9e9e9;
+          }
+
+          .margin-top10 {
+            margin-top: 10px;
+          }
+
+          .margin-top4 {
+            margin-top: 4px;
+          }
+
+          .item-use {
+            display: flex;
+            flex-direction: row;
+            justify-content: space-between;
+            align-items: center;
+            width: 100%;
+            height: 18px;
+          }
+
+          .conduct-btn {
+            margin-top: 8px;
+            width: 311px;
+            height: 40px;
+            line-height: 40px;
+            text-align: center;
+            border-radius: 100px;
+            background: #df384c;
+            letter-spacing: 0.2px;
+          }
+        }
+      }
+    }
+  }
+</style>

+ 10 - 1
src/views/index/financial/Buy.vue

@@ -25,7 +25,10 @@
       <input type="text" class="input pf400 fs14 fc333333" placeholder="最少1000.00" />
       <div class="all pf400 fs14 fc333333">USDT <span class="fcDF384C">全部</span></div>
     </div>
-    <div class="use-number pf400 fs12 fc333333">可用&nbsp; 215.0508 USDT</div>
+    <div class="use-number pf400 fs12 fc333333">
+      可用&nbsp; 215.0508 USDT
+      <img src="@/assets/icon/bitcoin/qianbao1.svg" alt="" class="qianbao" />
+    </div>
     <div class="message margin-top20 pf500 fs14 fc666666">
       <div>理财周期</div>
       <div>30天</div>
@@ -218,6 +221,12 @@
       margin-top: 7px;
       width: 345px;
       height: 18px;
+
+      .qianbao {
+        margin-left: 8px;
+        width: 14px;
+        height: 14px;
+      }
     }
 
     .message {

+ 11 - 1
src/views/index/financial/Index.vue

@@ -26,7 +26,11 @@
       <img src="@/assets/img/index/Rectangle 1.svg" alt="" />
     </div>
     <div class="index-menu">
-      <div class="menu-item" v-for="(item, index) in indexMenu" :key="index">
+      <div
+        class="menu-item"
+        v-for="(item, index) in indexMenu"
+        :key="index"
+        @click="goMenu(index)">
         <img :src="item.image" alt="" />
         <div class="item-text pf400 fs14 fc666666">{{ item.name }}</div>
       </div>
@@ -69,6 +73,12 @@
     router.push("/financialBuy");
   };
 
+  const goMenu = (index) => {
+    if (index == 0) {
+      router.push("/cloudComPowerIndex");
+    }
+  };
+
   const indexMenu = [
     {
       name: "云算力",

Some files were not shown because too many files changed in this diff