优化mynft列表展示, 增加本地缓存

This commit is contained in:
cebgcontract 2022-04-18 09:31:00 +08:00
parent b912ce8e4d
commit f45684a346
2 changed files with 9 additions and 27 deletions

View File

@ -1,2 +1,2 @@
VUE_APP_WALLET_INFURAID='e7743d46923911fa8850619b7a7f6d9d'
VUE_APP_BASE_API='https://game2006api-test.kingsome.cn'
VUE_APP_BASE_API='https://market.cebg.games'

View File

@ -67,6 +67,7 @@ export default class MyNft extends Vue {
private filters = ['All Items', 'Normal', 'Selling', 'Renting']
private totalPage = 1
private currentPage = 1
private dataCache: Map<any, INftData[]> = new Map()
get accountId() {
return AppModule.accountId
@ -112,39 +113,20 @@ export default class MyNft extends Vue {
if (this.nftState > 0) {
reqData.state = this.nftState - 1
}
this.nftList.length = 0
if (this.dataCache.has(reqData)) {
this.nftList = this.dataCache.get(reqData)!
} else {
this.nftList.length = 0
}
const res: any = await getNftList(reqData)
if (res.nfts) {
this.nftList.length = 0
for (const data of res.nfts) {
// const nftInfo: INftAttr = data.info
// nftInfo.mintTime = data.mint_time
// nftInfo.owner = data.owner_address
// nftInfo.advancedCount = data.info?.advanced_count || 0
// nftInfo.successRate = data.info?.success_rate || 0
// const nftData: any = {
// name: data.info.name,
// class: ((data.info?.job || '0') + '').toLowerCase(),
// recordId: data.token_id,
// id: data.token_id,
// skelName: `n_${(data.info?.name || '').toLowerCase()}`,
// directBuy: false,
// showBuy: false,
// type: parseInt(data.type + '')
// }
// if (data.currency_list && data.currency_list.length > 0) {
// const priceData: any = data.currency_list[0]
// nftData.discount = priceData.discount_rate
// nftData.price = priceData.original_price
// nftData.priceDiscount = priceData.discount_price
// nftData.currency = priceData.name
// nftData.coinAddress = priceData.contract_address
// }
// nftData.info = nftInfo
const nftData = parseNftData(data)
this.nftList.push(nftData)
}
this.dataCache.set(reqData, this.nftList)
}
console.log(this.nftList)
if (res.page) {
const page = res.page
this.totalPage = page.total_pages || 1