From 3dc776b68c75359be8a29b48d7df73be73bdcc9e Mon Sep 17 00:00:00 2001 From: "Jingwei.Zhang" Date: Thu, 16 Jun 2022 10:51:39 +0800 Subject: [PATCH] fix: fix user api fetch in user center overview page 1. Fix user api fetch in user center overview page 2. Remove pureFetchDetail to baseStore to support the method for all store Change-Id: I59b6f0a8f5b2f844a718f121708f724787d047f0 --- .../user-center/containers/UserCenter/index.jsx | 14 ++++++++++++-- src/stores/base.js | 5 +++++ src/stores/octavia/loadbalancer.js | 5 ----- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/src/pages/user-center/containers/UserCenter/index.jsx b/src/pages/user-center/containers/UserCenter/index.jsx index d4e3c16b..f1361b8d 100644 --- a/src/pages/user-center/containers/UserCenter/index.jsx +++ b/src/pages/user-center/containers/UserCenter/index.jsx @@ -21,6 +21,13 @@ import classnames from 'classnames'; import styles from './styles.less'; export class Overview extends Component { + constructor(props) { + super(props); + this.state = { + detail: {}, + }; + } + componentDidMount() { this.fetchData(); } @@ -29,7 +36,10 @@ export class Overview extends Component { const { user: { user }, } = this.props.rootStore; - globalUserStore.pureFetchDetail({ id: user.id, silent: false }); + const detail = await globalUserStore.pureFetchDetail({ id: user.id }); + this.setState({ + detail, + }); } renderInfoItem(item) { @@ -42,7 +52,7 @@ export class Overview extends Component { } renderUserInfo() { - const { detail = {} } = globalUserStore; + const { detail = {} } = this.state; const data = { [t('Username')]: detail.name || '-', [t('Email')]: detail.email || '-', diff --git a/src/stores/base.js b/src/stores/base.js index 123d09d1..36372f54 100644 --- a/src/stores/base.js +++ b/src/stores/base.js @@ -511,6 +511,11 @@ export default class BaseStore { return newData; } + async pureFetchDetail({ id }) { + const result = await this.client.show(id); + return result[this.responseKey]; + } + @action async fetchDetail({ all_projects, silent, ...rest }) { if (!silent) { diff --git a/src/stores/octavia/loadbalancer.js b/src/stores/octavia/loadbalancer.js index c395ca02..3e261b8c 100644 --- a/src/stores/octavia/loadbalancer.js +++ b/src/stores/octavia/loadbalancer.js @@ -138,11 +138,6 @@ export class LbaasStore extends Base { return this.detail; } - async pureFetchDetail({ id }) { - const result = await this.client.show(id); - return result[this.responseKey]; - } - @action delete = ({ id }) => // TODO: check params;