From a33ea7eee04cb45fcfdfa8a4d7276c415bb102ac Mon Sep 17 00:00:00 2001 From: fave3722 <372276175@qq.com> Date: Thu, 8 Sep 2022 17:09:25 +0800 Subject: [PATCH] feat --- components.d.ts | 6 +- src/api/AddressController/index.ts | 38 ++++ src/api/TokensController/index.ts | 39 ++++- src/api/TransactionsController/index.ts | 44 ++++- src/components/row-search.vue | 163 ++++++++++++++++++ src/components/search.vue | 21 ++- src/components/table/constant.ts | 24 ++- src/components/table/dBase/detailsRow.vue | 9 +- src/components/table/dBase/hpRow.vue | 6 +- .../table/dBase/tokensDetailsRow.vue | 8 +- .../table/dBase/transactDetailsRow.vue | 25 +-- src/components/table/dBase/transfersRow.vue | 44 +++++ src/components/table/desktop/bkTable.vue | 5 + .../table/desktop/tokensDetails.vue | 58 ++++--- src/components/table/desktop/tokensTable.vue | 65 +++++-- .../table/desktop/transactDetails.vue | 51 +----- .../table/desktop/transactTable.vue | 45 +++-- src/components/table/mBase/detailsRow.vue | 9 +- src/components/table/mBase/mobileCard.vue | 7 +- src/components/table/mBase/nowrapRow.vue | 2 +- .../table/mBase/tokensDetailsRow.vue | 14 +- .../table/mBase/transactDetailsRow.vue | 20 ++- src/components/table/mobile/bkTable.vue | 68 ++++++-- .../table/mobile/bkTableDetails.vue | 69 +++++--- src/components/table/mobile/tokensDetails.vue | 60 +++---- src/components/table/mobile/tokensTable.vue | 75 +++++--- .../table/mobile/transactDetails.vue | 60 ++----- src/components/table/mobile/transactTable.vue | 75 ++++++-- src/pages/BitcNFt/cards.vue | 9 +- src/pages/BitcNFt/centerContent.vue | 138 +++++++++++++-- src/pages/BitcNFt/holdersRow.vue | 28 +++ src/pages/BitcNFt/index.vue | 3 + src/pages/HomePage/index.vue | 3 +- src/pages/TableBlock/Block/details.vue | 47 ++++- src/pages/TableBlock/Block/index.vue | 91 +--------- src/pages/TableBlock/Tokens/details.vue | 159 ++++++++++++++++- src/pages/TableBlock/Tokens/index.vue | 103 +---------- src/pages/TableBlock/Transactions/details.vue | 153 ++++++++++------ src/pages/TableBlock/Transactions/index.vue | 126 +------------- src/pages/TableBlock/Transactions/logs.vue | 55 ++++++ src/pages/TableBlock/index.vue | 57 +----- src/pages/VNFT/centerContent.vue | 131 ++++++++------ src/pages/VNFT/mobileRow.vue | 4 +- src/utils/test.js | 48 ++++++ src/utils/throttle.ts | 6 + 45 files changed, 1441 insertions(+), 830 deletions(-) create mode 100644 src/api/AddressController/index.ts create mode 100644 src/components/row-search.vue create mode 100644 src/components/table/dBase/transfersRow.vue create mode 100644 src/pages/BitcNFt/holdersRow.vue create mode 100644 src/pages/TableBlock/Transactions/logs.vue create mode 100644 src/utils/test.js diff --git a/components.d.ts b/components.d.ts index 1364ada..ea66189 100644 --- a/components.d.ts +++ b/components.d.ts @@ -13,10 +13,7 @@ declare module '@vue/runtime-core' { DetailsRow: typeof import('./src/components/table/dBase/detailsRow.vue')['default'] ElIcon: typeof import('element-plus/es')['ElIcon'] ElInput: typeof import('element-plus/es')['ElInput'] - ElOption: typeof import('element-plus/es')['ElOption'] ElPagination: typeof import('element-plus/es')['ElPagination'] - ElSelect: typeof import('element-plus/es')['ElSelect'] - ElSelectV2: typeof import('element-plus/es')['ElSelectV2'] ElSkeleton: typeof import('element-plus/es')['ElSkeleton'] ElSkeletonItem: typeof import('element-plus/es')['ElSkeletonItem'] ElTabPane: typeof import('element-plus/es')['ElTabPane'] @@ -31,8 +28,8 @@ declare module '@vue/runtime-core' { NowrapRow: typeof import('./src/components/table/mBase/nowrapRow.vue')['default'] RouterLink: typeof import('vue-router')['RouterLink'] RouterView: typeof import('vue-router')['RouterView'] + RowSearch: typeof import('./src/components/row-search.vue')['default'] Search: typeof import('./src/components/search.vue')['default'] - Tabs: typeof import('./src/components/tabs.vue')['default'] THeader: typeof import('./src/components/table/dBase/tHeader.vue')['default'] TokensCard: typeof import('./src/components/table/mBase/tokensCard.vue')['default'] TokensDetails: typeof import('./src/components/table/desktop/tokensDetails.vue')['default'] @@ -42,6 +39,7 @@ declare module '@vue/runtime-core' { TransactDetails: typeof import('./src/components/table/desktop/transactDetails.vue')['default'] TransactDetailsRow: typeof import('./src/components/table/dBase/transactDetailsRow.vue')['default'] TransactTable: typeof import('./src/components/table/desktop/transactTable.vue')['default'] + TransfersRow: typeof import('./src/components/table/dBase/transfersRow.vue')['default'] UpperLowerSwitch: typeof import('./src/components/base/UpperLowerSwitch.vue')['default'] } } diff --git a/src/api/AddressController/index.ts b/src/api/AddressController/index.ts new file mode 100644 index 0000000..8e34b13 --- /dev/null +++ b/src/api/AddressController/index.ts @@ -0,0 +1,38 @@ +import { requestService } from '../requst' +interface getAddressInfoParams { + address: string +} +export const getAddressInfo = (params: getAddressInfoParams) => { + return requestService({ + url: '/api/address/getAddressInfo', + method: 'get', + params, + }) +} +interface getContractAddressParams { + contractAddress: string +} +export const getContractAddressInfoList = ( + params: getContractAddressParams +) => { + return requestService({ + url: '/api/address/getContractAddressInfoList', + method: 'get', + params, + }) +} + +interface getContractHoldingParams { + pageNum?: number + pageSize?: number + contractAddress: string +} +export const getContractHoldingQuantity = ( + params: getContractHoldingParams +) => { + return requestService({ + url: '/api/address/getContractHoldingQuantity', + method: 'get', + params, + }) +} diff --git a/src/api/TokensController/index.ts b/src/api/TokensController/index.ts index 2e0513e..5af5b66 100644 --- a/src/api/TokensController/index.ts +++ b/src/api/TokensController/index.ts @@ -1,8 +1,43 @@ +import { StringChain } from 'lodash' import { requestService } from '../requst' - -export const getFindTokenList = () => { +interface TokensListProps { + pageNum?: number + pageSize?: number + search?: string +} +export const getFindTokenList = (params: TokensListProps) => { return requestService({ url: '/api/token/findTokenList', method: 'get', + params, + }) +} +interface FindReceiptByTokenPageProps { + pageNum?: number + pageSize?: number + tokenId?: string + contractAddress: string +} +export const getFindReceiptByTokenPage = ( + params: FindReceiptByTokenPageProps +) => { + return requestService({ + url: '/api/token/findReceiptByTokenPage', + method: 'get', + params, + }) +} +interface TokenInfoProps { + pageNum?: number + pageSize?: number + tokenId: string + contractAddress: string +} +///api/token/findTokenInfo +export const getFindTokenInfo = (params: TokenInfoProps) => { + return requestService({ + url: '/api/token/findTokenInfo', + method: 'get', + params, }) } diff --git a/src/api/TransactionsController/index.ts b/src/api/TransactionsController/index.ts index b99118f..3134f0c 100644 --- a/src/api/TransactionsController/index.ts +++ b/src/api/TransactionsController/index.ts @@ -1,12 +1,54 @@ import { requestService } from '../requst' interface TransactionListProps { + address?: string + isContract?: Number + number?: Number pageNum?: Number pageSize?: Number } +// 分页请求 export const getFindTransactionListPage = (params: TransactionListProps) => { return requestService({ url: '/api/transactions/findTransactionListPage', - params: params, + params, + method: 'get', + }) +} +interface TransactionsDetailProps { + hash: string +} +// 请求详情 +export const getFindTransactionsDetail = (params: TransactionsDetailProps) => { + return requestService({ + url: '/api/transactions/findTransactionsDetail', + params, + method: 'get', + }) +} +interface TransactionsLogsProps { + hash: string +} +// 请求logs /api/transactions/findTransactionsLogs +export const getFindTransactionsLogs = (params: TransactionsLogsProps) => { + return requestService({ + url: '/api/transactions/findTransactionsLogs', + params, + method: 'get', + }) +} +interface FindReceiptByAddressPageProps { + pageNum?: Number + pageSize?: Number + address?: string + filterType?: string +} +// /api/transactions/findReceiptByAddressPage +export const getFindReceiptByAddressPage = ( + params: FindReceiptByAddressPageProps +) => { + return requestService({ + url: '/api/transactions/findReceiptByAddressPage', + params, method: 'get', }) } diff --git a/src/components/row-search.vue b/src/components/row-search.vue new file mode 100644 index 0000000..54393cc --- /dev/null +++ b/src/components/row-search.vue @@ -0,0 +1,163 @@ + + + + + diff --git a/src/components/search.vue b/src/components/search.vue index 19a4031..a9c6df8 100644 --- a/src/components/search.vue +++ b/src/components/search.vue @@ -35,7 +35,7 @@ :class="isActive && data.length > 0 ? '' : 'hidden'" >
-

+

{{ value }}

@@ -24,8 +27,8 @@ diff --git a/src/components/table/dBase/transfersRow.vue b/src/components/table/dBase/transfersRow.vue new file mode 100644 index 0000000..b7dbe80 --- /dev/null +++ b/src/components/table/dBase/transfersRow.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/src/components/table/desktop/bkTable.vue b/src/components/table/desktop/bkTable.vue index 4b1c395..c6aca88 100644 --- a/src/components/table/desktop/bkTable.vue +++ b/src/components/table/desktop/bkTable.vue @@ -79,12 +79,17 @@ const initBlock = async (page: number) => { currentData.value = res.data.rows.map((item: any) => ({ ...item, timestamp: timeConvert(item?.timestamp), + // number: item?.number?.toString(), })) // 骨架屏隐藏 loading.value = false } // 监听分页更新 -> 请求数据 watchEffect(() => { + // 如果屏幕尺寸小于1440px 则不执行 + if (window.screen.width < 1440) { + return + } loading.value = true initBlock(currentPage.value) }) diff --git a/src/components/table/desktop/tokensDetails.vue b/src/components/table/desktop/tokensDetails.vue index 36854c4..efaf843 100644 --- a/src/components/table/desktop/tokensDetails.vue +++ b/src/components/table/desktop/tokensDetails.vue @@ -5,7 +5,7 @@
-

{{ data?.tokens }}

+

{{ currentData?.address }}

@@ -15,9 +15,9 @@
@@ -25,39 +25,41 @@ diff --git a/src/components/table/desktop/transactTable.vue b/src/components/table/desktop/transactTable.vue index 7978d23..4665456 100644 --- a/src/components/table/desktop/transactTable.vue +++ b/src/components/table/desktop/transactTable.vue @@ -1,21 +1,34 @@ diff --git a/src/components/table/mobile/transactTable.vue b/src/components/table/mobile/transactTable.vue index cc01728..297e31b 100644 --- a/src/components/table/mobile/transactTable.vue +++ b/src/components/table/mobile/transactTable.vue @@ -4,49 +4,85 @@ v-for="(item, index) in currentData" :key="index" :card-data="item" + @click="routerLink(item?.txnHash)" />
diff --git a/src/pages/BitcNFt/holdersRow.vue b/src/pages/BitcNFt/holdersRow.vue new file mode 100644 index 0000000..1bd3b45 --- /dev/null +++ b/src/pages/BitcNFt/holdersRow.vue @@ -0,0 +1,28 @@ + + + + + diff --git a/src/pages/BitcNFt/index.vue b/src/pages/BitcNFt/index.vue index 10a7e89..50d50d6 100644 --- a/src/pages/BitcNFt/index.vue +++ b/src/pages/BitcNFt/index.vue @@ -72,6 +72,9 @@ import router from '@src/routes' import centerContent from './centerContent.vue' const input = ref() + +// 请求代币信息 +// const request const goBack = () => router.back() diff --git a/src/pages/HomePage/index.vue b/src/pages/HomePage/index.vue index c98af6f..f68e65a 100644 --- a/src/pages/HomePage/index.vue +++ b/src/pages/HomePage/index.vue @@ -112,7 +112,6 @@ const overview = reactive([ ]) const router = useRouter() -const input = ref() let ws = ref() // 初始化接口请求 const initRequist = async () => { @@ -121,7 +120,7 @@ const initRequist = async () => { overview[1].value = res.data.totalTransactions overview[2].value = res.data.averageBlockTime // 获取tokens接口拿到总数 - const tokenRes = await getFindTokenList() + const tokenRes = await getFindTokenList({}) overview[3].value = tokenRes.data.total // 获取最新的交易 处理数据 加上tooltip const TransactionList = await getFindTransactionListPage({ diff --git a/src/pages/TableBlock/Block/details.vue b/src/pages/TableBlock/Block/details.vue index 2c4b922..9a9f853 100644 --- a/src/pages/TableBlock/Block/details.vue +++ b/src/pages/TableBlock/Block/details.vue @@ -19,7 +19,7 @@
- +
-
+

There are no transactions for this block.

+
+ +
+
+ +
@@ -81,16 +147,93 @@ diff --git a/src/pages/TableBlock/Transactions/details.vue b/src/pages/TableBlock/Transactions/details.vue index 5465602..fda97a0 100644 --- a/src/pages/TableBlock/Transactions/details.vue +++ b/src/pages/TableBlock/Transactions/details.vue @@ -16,10 +16,10 @@ >
- +
- +
-
+

There are no transactions for this block.

+
+ +
@@ -45,53 +62,19 @@ Logs

-
-

Address

-

- 0x6c4bb7121d1cf8d395a3d295d1d9e5fa85f3a342 -

-
-
-

Address

-
-

- [1] - 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef -

-

- [1] - 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef -

-

- [1] - 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef -

-
-
-
-

Address

-

- 0x6c4bb7121d1cf8d395a3d295d1d9e5fa85f3a342 -

-
-
-

Address

-

- 0x6c4bb7121d1cf8d395a3d295d1d9e5fa85f3a342 -

-
+ There are no log for this address. +

+
+ +
+
-
@@ -109,16 +92,86 @@ diff --git a/src/pages/TableBlock/Transactions/logs.vue b/src/pages/TableBlock/Transactions/logs.vue new file mode 100644 index 0000000..1bd189e --- /dev/null +++ b/src/pages/TableBlock/Transactions/logs.vue @@ -0,0 +1,55 @@ + + + + + diff --git a/src/pages/TableBlock/index.vue b/src/pages/TableBlock/index.vue index 4fadbba..cbacc95 100644 --- a/src/pages/TableBlock/index.vue +++ b/src/pages/TableBlock/index.vue @@ -1,65 +1,12 @@ diff --git a/src/pages/VNFT/mobileRow.vue b/src/pages/VNFT/mobileRow.vue index de4906e..de17db5 100644 --- a/src/pages/VNFT/mobileRow.vue +++ b/src/pages/VNFT/mobileRow.vue @@ -25,9 +25,9 @@
-

{{ value2 }}

+

{{ value2 }}

-

{{ value3 }}

+

{{ value3 }}

diff --git a/src/utils/test.js b/src/utils/test.js new file mode 100644 index 0000000..98f590c --- /dev/null +++ b/src/utils/test.js @@ -0,0 +1,48 @@ +let getInfo = (data) => { + if (!data) return null + let result = [] + for (let i = 1; i <= 20; i++) { + try { + let item = {} + if (data['temp' + i]) { + item['temp'] = data['temp' + i] + + if (JSON.stringify(tilesState.max) !== '{}') + if (tilesState.max['temp' + i]) + item['maxTemp'] = tilesState.max['temp' + i] + + if (JSON.stringify(tilesState.min) !== '{}') + if (tilesState.min['temp' + i]) + item['minTemp'] = tilesState.min['temp' + i] + + if (JSON.stringify(tilesState.avg) !== '{}') + if (tilesState.avg['temp' + i]) + item['avgTemp'] = tilesState.avg['temp' + i] + } + + if (data['humidity' + i]) { + item['humidity'] = data['humidity' + i] + if (JSON.stringify(tilesState.max) !== '{}') + if (tilesState.max['humidity' + i]) + item['maxHumidity'] = tilesState.max['humidity' + i] + + if (JSON.stringify(tilesState.min) !== '{}') + if (tilesState.min['humidity' + i]) + item['minHumidity'] = tilesState.min['humidity' + i] + + if (JSON.stringify(tilesState.avg) !== '{}') + if (tilesState.avg['humidity' + i]) + item['avgHumidity'] = tilesState.avg['humidity' + i] + } + + if (JSON.stringify(item) !== '{}') { + item['title'] = 'Temperature-Humidity-' + i + result.push(item) + } + } catch (e) { + console.log(e) + } + } + console.log(result) + return result +} diff --git a/src/utils/throttle.ts b/src/utils/throttle.ts index fbf0970..6eb4ab2 100644 --- a/src/utils/throttle.ts +++ b/src/utils/throttle.ts @@ -11,3 +11,9 @@ export const Throttle = (fn: () => void, delay: number | undefined) => { }, delay) } } + + + + + +