diff --git a/src/app.tsx b/src/app.tsx new file mode 100644 index 0000000..1ef118f --- /dev/null +++ b/src/app.tsx @@ -0,0 +1,15 @@ +// src/app.ts +import { message } from 'antd'; +import { refreshDictCache } from './servers/api'; + +export async function getInitialState() { + try { + const res = await refreshDictCache(); + if (res.code == 200) { + sessionStorage.setItem('dict', JSON.stringify(res.data)); + } + } catch (e) { + message.error('初始化失败'); + return {}; + } +} diff --git a/src/pages/index/index.tsx b/src/pages/index/index.tsx index 153533f..9de361d 100644 --- a/src/pages/index/index.tsx +++ b/src/pages/index/index.tsx @@ -146,6 +146,7 @@ const IndexPage: React.FC = ({ user }) => { }).then((res) => { setNoticeList(res.data.records); }); + }, []); const toSystem = (type: string) => { diff --git a/src/servers/api/dict.ts b/src/servers/api/dict.ts index c81f6bd..f80373b 100644 --- a/src/servers/api/dict.ts +++ b/src/servers/api/dict.ts @@ -42,7 +42,17 @@ export type DictItem = { * @returns 字典列表 */ export async function getDictList(code: string): Promise { - return request(`/cosco/dictProject/getAllList/${code}`, { - method: 'GET', - }); + const data: string | null = sessionStorage.getItem('dict'); + if (data) { + const dictData = JSON.parse(data); + const codeType = `${code.trim()}=supplier_manage_type`; + return Promise.resolve({ + code: 200, + data: dictData[codeType], + message: 'success', + success: true, + }) + } else { + return Promise.reject(new Error('请先请求字典数据')); + } } diff --git a/src/servers/api/index.ts b/src/servers/api/index.ts index b89cb28..b6ca2ea 100644 --- a/src/servers/api/index.ts +++ b/src/servers/api/index.ts @@ -14,3 +14,11 @@ export async function getCoscoPortalsLinksFriendshipConnections() { method: 'get', }); } +/** + * 字典缓存接口 + */ +export async function refreshDictCache() { + return request('/v1/dictProject/refreshDictCache', { + method: 'GET' + }); +}