diff --git a/src/state/referral/hooks.ts b/src/state/referral/hooks.ts index 2a761b3..3f94b73 100644 --- a/src/state/referral/hooks.ts +++ b/src/state/referral/hooks.ts @@ -1,8 +1,11 @@ import { useSelector } from 'react-redux' import { State } from '../types' -export const useReferralConfigInfo = () => { - return useSelector((state: State) => state.referral.configInfo) +export const useReferralCommanderConfigInfo = () => { + return useSelector((state: State) => state.referral.commanderConfigInfo) +} +export const useReferralNormalConfigInfo = () => { + return useSelector((state: State) => state.referral.normalConfigInfo) } export const useReferralRewardInfo = () => { diff --git a/src/state/referral/index.ts b/src/state/referral/index.ts index a3bba5c..b2c1433 100644 --- a/src/state/referral/index.ts +++ b/src/state/referral/index.ts @@ -1,15 +1,21 @@ import { createSlice } from '@reduxjs/toolkit' import { getReferralInfo } from 'services/referral' -import { ReferralInfo } from 'types/referral' +import { ReferralInfo, ReferralConfigType } from 'types/referral' import { ReferralState } from '../types' -const initialState: ReferralState = { configInfo: {}, isCommander: false, rewardInfo: {} } +const initialState: ReferralState = { + commanderConfigInfo: {}, + normalConfigInfo: {}, + isCommander: false, + rewardInfo: {}, +} export const referralSlice = createSlice({ name: 'Referral', initialState, reducers: { setReferralInfo: (state, action) => { - state.configInfo = action.payload.configInfo + state.commanderConfigInfo = action.payload.commanderConfigInfo + state.normalConfigInfo = action.payload.normalConfigInfo state.isCommander = action.payload.isCommander state.rewardInfo = action.payload.rewardInfo }, @@ -27,7 +33,8 @@ export const fetchReferralInfoAsync = (account) => async (dispatch) => { const data: ReferralInfo = await getReferralInfo() dispatch( setReferralInfo({ - configInfo: data.inviteConfigList[0], + commanderConfigInfo: data.inviteConfigList?.find((item) => item.type === ReferralConfigType.COMMANDER), + normalConfigInfo: data.inviteConfigList?.find((item) => item.type === ReferralConfigType.NORMAL), isCommander: data.isCommander, rewardInfo: data.reward, }), diff --git a/src/state/types.ts b/src/state/types.ts index 51373c6..33f7875 100644 --- a/src/state/types.ts +++ b/src/state/types.ts @@ -484,7 +484,8 @@ export interface UserInfoState { } export interface ReferralState { - configInfo: ReferralConfigInfo + commanderConfigInfo: ReferralConfigInfo + normalConfigInfo: ReferralConfigInfo isCommander: boolean rewardInfo: ReferralRewardInfo } diff --git a/src/types/referral.ts b/src/types/referral.ts index bc3a522..0b3ae64 100644 --- a/src/types/referral.ts +++ b/src/types/referral.ts @@ -1,3 +1,8 @@ +export enum ReferralConfigType { + COMMANDER = 'COMMANDER', + NORMAL = 'NORMAL', +} + export interface ReferralConfigInfo { dividendFirst?: number dividendSecond?: number @@ -14,7 +19,7 @@ export interface ReferralRewardInfo { } export interface ReferralInfo { - inviteConfigList: ReferralConfigInfo + inviteConfigList: ReferralConfigInfo[] isCommander: boolean reward: ReferralRewardInfo } diff --git a/src/utils/request.ts b/src/utils/request.ts index 5e2c0fd..cab5097 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -14,7 +14,8 @@ export const initAxios = (dispatch: Dispatch, toast) => { hasInit = true request.interceptors.request.use( (memo: any) => { - memo.headers.Authorization = `Bearer ${localStorage.getItem(CACHE_TOKEN)} ` + const token = localStorage.getItem(CACHE_TOKEN) + token && (memo.headers.Authorization = `Bearer ${token}`) return memo }, (error) => {