From bd82c7011f74f82afd1a1babdb9fe85beea56d70 Mon Sep 17 00:00:00 2001 From: Chushen Date: Wed, 27 Sep 2023 13:57:00 +0800 Subject: [PATCH] fix: fix issue that assets modify not effect --- packages/gi-site/src/hooks/useUserInfo.ts | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/packages/gi-site/src/hooks/useUserInfo.ts b/packages/gi-site/src/hooks/useUserInfo.ts index 2a9f95ae1..cabc12db5 100644 --- a/packages/gi-site/src/hooks/useUserInfo.ts +++ b/packages/gi-site/src/hooks/useUserInfo.ts @@ -1,8 +1,11 @@ import { useEffect, useState } from 'react'; import { getUser } from '../services/user'; +const ASSETS_PACKAGES_KEY = 'GI_ASSETS_PACKAGES'; +const VIP_ASSETS_RETRIEVED_KEY = 'GI_VIP_ASSETS_RETRIEVED'; + export const setAssetPackages = newAssets => { - const prevAssets = JSON.parse(localStorage.getItem('GI_ASSETS_PACKAGES') || '{}'); + const prevAssets = JSON.parse(localStorage.getItem(ASSETS_PACKAGES_KEY) || '{}'); newAssets.forEach(pkg => { const { global } = pkg; const prev = prevAssets[global]; @@ -12,7 +15,7 @@ export const setAssetPackages = newAssets => { prevAssets[global] = pkg; } }); - localStorage.setItem('GI_ASSETS_PACKAGES', JSON.stringify(prevAssets)); + localStorage.setItem(ASSETS_PACKAGES_KEY, JSON.stringify(prevAssets)); }; export const getLoginUserInfo = async () => { @@ -20,10 +23,14 @@ export const getLoginUserInfo = async () => { try { const result = await getUser(); if (result) { - const VIP_ASSETS = await fetch('https://unpkg.alipay.com/@alipay/gi-assets-vip@latest/json/assets.json').then( - res => res.json(), - ); - setAssetPackages(VIP_ASSETS); //暂时移除从user中获取资产信息 + if (!localStorage.getItem(VIP_ASSETS_RETRIEVED_KEY)) { + const VIP_ASSETS = await fetch('https://unpkg.alipay.com/@alipay/gi-assets-vip@latest/json/assets.json').then( + res => res.json(), + ); + setAssetPackages(VIP_ASSETS); + localStorage.setItem(VIP_ASSETS_RETRIEVED_KEY, new Date().toLocaleString()); + } + //@ts-ignore window.GI_USER_INFO = result; return result;