diff --git a/webapp/packages/supersonic-fe/package.json b/webapp/packages/supersonic-fe/package.json index e98deae10..4f4f88f33 100644 --- a/webapp/packages/supersonic-fe/package.json +++ b/webapp/packages/supersonic-fe/package.json @@ -53,6 +53,7 @@ ], "dependencies": { "@ant-design/charts": "^1.3.3", + "@ant-design/cssinjs": "^1.10.1", "@ant-design/icons": "^4.7.0", "@ant-design/pro-card": "^1.11.13", "@ant-design/pro-components": "^2.4.4", @@ -143,4 +144,4 @@ "@types/react": "17.0.0" }, "__npminstall_done": false -} \ No newline at end of file +} diff --git a/webapp/packages/supersonic-fe/src/app.tsx b/webapp/packages/supersonic-fe/src/app.tsx index 74bd1632f..2ccfb6ed9 100644 --- a/webapp/packages/supersonic-fe/src/app.tsx +++ b/webapp/packages/supersonic-fe/src/app.tsx @@ -50,7 +50,7 @@ const getToken = async () => { try { const fromUrl = localStorage.getItem(FROM_URL_KEY); const res = await queryToken(data.code as string); - localStorage.setItem(TOKEN_KEY, res.data.authToken); + localStorage.setItem(TOKEN_KEY, res.payload); const newUrl = deleteUrlQuery(window.location.href, 'code'); window.location.href = fromUrl || newUrl; } catch (err) { diff --git a/webapp/packages/supersonic-fe/src/common/constants.ts b/webapp/packages/supersonic-fe/src/common/constants.ts index f32921677..d0e3aafc2 100644 --- a/webapp/packages/supersonic-fe/src/common/constants.ts +++ b/webapp/packages/supersonic-fe/src/common/constants.ts @@ -1,6 +1,5 @@ // 登陆 token key -export const AUTH_TOKEN_KEY = 'SUPERSONIC_TOKEN'; - +export const AUTH_TOKEN_KEY = process.env.APP_TARGET === 'inner' ? 'TME_TOKEN' : 'SUPERSONIC_TOKEN'; // 记录上次访问页面 export const FROM_URL_KEY = 'FROM_URL'; diff --git a/webapp/packages/supersonic-fe/src/components/SelectTMEPerson/index.tsx b/webapp/packages/supersonic-fe/src/components/SelectTMEPerson/index.tsx index 989812f4b..2f7beff49 100644 --- a/webapp/packages/supersonic-fe/src/components/SelectTMEPerson/index.tsx +++ b/webapp/packages/supersonic-fe/src/components/SelectTMEPerson/index.tsx @@ -22,11 +22,12 @@ const SelectTMEPerson: FC = ({ placeholder, value, isMultiple = true, onC { fetcher: async () => { const res = await getAllUser(); - if (res.code !== 200) { + if (res.code == 200 || Number(res.code) == 0) { + return res.data || []; + } else { message.error(res.msg); throw new Error(res.msg); } - return res.data || []; }, updater: (list) => { const users = list.map((item: UserItem) => { diff --git a/webapp/packages/supersonic-fe/src/pages/Chat/RightSection/Context/index.tsx b/webapp/packages/supersonic-fe/src/pages/Chat/RightSection/Context/index.tsx index dc42669f7..fe7860a17 100644 --- a/webapp/packages/supersonic-fe/src/pages/Chat/RightSection/Context/index.tsx +++ b/webapp/packages/supersonic-fe/src/pages/Chat/RightSection/Context/index.tsx @@ -17,15 +17,17 @@ const Context: React.FC = ({ chatContext }) => { 主题域: {domainName} - {dateInfo && ( -
- 时间范围: - - {dateInfo.text || - `近${moment(dateInfo.endDate).diff(moment(dateInfo.startDate), 'days') + 1}天`} - -
- )} + { + dateInfo && ( +
+ 时间范围: + + {dateInfo.text || + `近${moment(dateInfo.endDate).diff(moment(dateInfo.startDate), 'days') + 1}天`} + +
+ ) + } {metrics && metrics.length > 0 && (
指标: diff --git a/webapp/packages/supersonic-fe/src/pages/Chat/index.tsx b/webapp/packages/supersonic-fe/src/pages/Chat/index.tsx index 3a58bb1ed..41189b8d3 100644 --- a/webapp/packages/supersonic-fe/src/pages/Chat/index.tsx +++ b/webapp/packages/supersonic-fe/src/pages/Chat/index.tsx @@ -11,9 +11,14 @@ import RightSection from './RightSection'; import ChatFooter from './ChatFooter'; import classNames from 'classnames'; import { AUTH_TOKEN_KEY, DEFAULT_CONVERSATION_NAME, WEB_TITLE } from '@/common/constants'; -import { HistoryMsgItemType, MsgDataType, getHistoryMsg, queryContext } from 'supersonic-chat-sdk'; +import { + HistoryMsgItemType, + MsgDataType, + getHistoryMsg, + queryContext, + setToken as setChatSdkToken, +} from 'supersonic-chat-sdk'; import { getConversationContext } from './utils'; -import { setToken as setChatSdkToken } from 'supersonic-chat-sdk'; import 'supersonic-chat-sdk/dist/index.css'; const Chat = () => { diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/ProjectManager.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/ProjectManager.tsx index edcce689f..3f7467ecb 100644 --- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/ProjectManager.tsx +++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/ProjectManager.tsx @@ -26,6 +26,7 @@ type Props = { const DEFAULT_LEFT_SIZE = '300px'; const DomainManger: React.FC = ({ domainManger, dispatch }) => { + window.RUNNING_ENV = 'semantic'; const [collapsed, setCollapsed] = useState(false); const [leftSize, setLeftSize] = useState(''); const { selectDomainId, selectDomainName } = domainManger; diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/SemanticGraph/index.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/SemanticGraph/index.tsx index 6f79cdca8..ba6d01565 100644 --- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/SemanticGraph/index.tsx +++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/SemanticGraph/index.tsx @@ -196,7 +196,6 @@ const DomainManger: React.FC = ({ domainManger, domainId }) => { }; // const [visible, setVisible] = useState(false); useEffect(() => { - console.log(domainId, graphData, 'domainId'); if (!(Array.isArray(graphData.children) && graphData.children.length > 0)) { return; } @@ -356,7 +355,6 @@ const DomainManger: React.FC = ({ domainManger, domainId }) => { labelCfg: { style: { fill: '#3c3c3c' } }, }; }); - console.log(graphData, 'graphData'); // graph.data(graphData); graph.changeData(graphData); graph.render(); @@ -386,7 +384,6 @@ const DomainManger: React.FC = ({ domainManger, domainId }) => { value={graphShowType} onChange={(e) => { const { value } = e.target; - console.log(value, 'value'); setGraphShowType(value); changeGraphData(dataSourceListData, value); }} diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/Entity/DimensionSearchVisibleModal.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/Entity/DimensionSearchVisibleModal.tsx index 6306e21a6..82eba7b19 100644 --- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/Entity/DimensionSearchVisibleModal.tsx +++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/Entity/DimensionSearchVisibleModal.tsx @@ -26,13 +26,13 @@ const DimensionSearchVisibleModal: React.FC = ({ const [dictRules, setDictRules] = useState(''); useEffect(() => { - const dictionaryInfos = themeData?.dictionaryInfos; - if (Array.isArray(dictionaryInfos)) { - const target = dictionaryInfos[0]; + const knowledgeInfos = themeData?.knowledgeInfos; + if (Array.isArray(knowledgeInfos)) { + const target = knowledgeInfos[0]; if (Array.isArray(target?.ruleList)) { setDictRules(target.ruleList[0]); } - const selectKeys = dictionaryInfos.map((item: any) => { + const selectKeys = knowledgeInfos.map((item: any) => { return item.itemId; }); setSelectedKeyList(selectKeys); @@ -48,7 +48,7 @@ const DimensionSearchVisibleModal: React.FC = ({ }, [settingSourceList]); const saveDictBatch = async () => { - const dictionaryInfos = selectedKeyList.map((key: string) => { + const knowledgeInfos = selectedKeyList.map((key: string) => { return { itemId: key, type: 'DIMENSION', @@ -62,7 +62,7 @@ const DimensionSearchVisibleModal: React.FC = ({ saveDomainExtendQuery = editDomainExtend; } const { code, msg } = await saveDomainExtendQuery({ - dictionaryInfos, + knowledgeInfos, domainId, id, }); diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/Permission/PermissionTable.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/Permission/PermissionTable.tsx index 7f154ec00..dcacc302c 100644 --- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/Permission/PermissionTable.tsx +++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/Permission/PermissionTable.tsx @@ -53,14 +53,14 @@ const PermissionTable: React.FC = ({ domainManger }) => { const queryDepartmentData = async () => { const { code, data } = await getDepartmentTree(); - if (code === 200) { + if (code === 200 || code === '0') { setDepartmentTreeData(data); } }; const queryTmePersonData = async () => { const { code, data } = await getAllUser(); - if (code === 200) { + if (code === 200 || Number(code) === 0) { setTmePerson(data); } }; diff --git a/webapp/packages/supersonic-fe/src/services/login.ts b/webapp/packages/supersonic-fe/src/services/login.ts index 179904954..2035aa497 100644 --- a/webapp/packages/supersonic-fe/src/services/login.ts +++ b/webapp/packages/supersonic-fe/src/services/login.ts @@ -9,7 +9,7 @@ export type LoginParamsType = { }; export async function queryToken(code: string) { - return request(`${process.env.API_BASE_URL}user/ioaLoginCallback`, { + return request(`/davinciapi/login/tmeloginCallback`, { params: { code }, }); } diff --git a/webapp/packages/supersonic-fe/src/services/request.ts b/webapp/packages/supersonic-fe/src/services/request.ts index b60fa3c12..ddba11cab 100644 --- a/webapp/packages/supersonic-fe/src/services/request.ts +++ b/webapp/packages/supersonic-fe/src/services/request.ts @@ -20,6 +20,7 @@ const authHeaderInterceptor = (url: string, options: RequestOptionsInit) => { const token = query[TOKEN_KEY] || localStorage.getItem(TOKEN_KEY); if (token) { + headers.Authorization = `Bearer ${token}`; headers.auth = `Bearer ${token}`; localStorage.setItem(TOKEN_KEY, token); } @@ -31,25 +32,19 @@ const authHeaderInterceptor = (url: string, options: RequestOptionsInit) => { }; const responseInterceptor = async (response: Response) => { - const data: Result = await response?.clone()?.json?.(); - if (Number(data.code) === 403) { - history.push('/login'); - return response; - } - const redirect = response.headers.get('redirect'); // 若HEADER中含有REDIRECT说明后端想重定向 if (redirect === 'REDIRECT') { localStorage.removeItem(TOKEN_KEY); - let win: any = window; - while (win !== win.top) { - win = win.top; - } - if (!/fromExternal=true/.test(win.location.search)) { - localStorage.setItem(FROM_URL_KEY, win.location.href); - } + const win: any = window; // 将后端重定向的地址取出来,使用win.location.href去实现重定向的要求 const contextpath = response.headers.get('contextpath'); win.location.href = contextpath; + } else { + const data: Result = await response?.clone()?.json?.(); + if (Number(data.code) === 403) { + history.push('/login'); + return response; + } } return response;