mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-10 19:51:00 +00:00
Merge pull request #8 from sevenliu1896/master
semantic-fe update and fix merge conflicts
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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';
|
||||
|
||||
|
||||
@@ -22,11 +22,12 @@ const SelectTMEPerson: FC<Props> = ({ 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) => {
|
||||
|
||||
@@ -17,15 +17,17 @@ const Context: React.FC<Props> = ({ chatContext }) => {
|
||||
<span className={styles.fieldName}>主题域:</span>
|
||||
<span className={styles.fieldValue}>{domainName}</span>
|
||||
</div>
|
||||
{dateInfo && (
|
||||
<div className={styles.field}>
|
||||
<span className={styles.fieldName}>时间范围:</span>
|
||||
<span className={styles.fieldValue}>
|
||||
{dateInfo.text ||
|
||||
`近${moment(dateInfo.endDate).diff(moment(dateInfo.startDate), 'days') + 1}天`}
|
||||
</span>
|
||||
</div>
|
||||
)}
|
||||
{
|
||||
dateInfo && (
|
||||
<div className={styles.field}>
|
||||
<span className={styles.fieldName}>时间范围:</span>
|
||||
<span className={styles.fieldValue}>
|
||||
{dateInfo.text ||
|
||||
`近${moment(dateInfo.endDate).diff(moment(dateInfo.startDate), 'days') + 1}天`}
|
||||
</span>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
{metrics && metrics.length > 0 && (
|
||||
<div className={styles.field}>
|
||||
<span className={styles.fieldName}>指标:</span>
|
||||
|
||||
@@ -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 = () => {
|
||||
|
||||
@@ -26,6 +26,7 @@ type Props = {
|
||||
const DEFAULT_LEFT_SIZE = '300px';
|
||||
|
||||
const DomainManger: React.FC<Props> = ({ domainManger, dispatch }) => {
|
||||
window.RUNNING_ENV = 'semantic';
|
||||
const [collapsed, setCollapsed] = useState(false);
|
||||
const [leftSize, setLeftSize] = useState('');
|
||||
const { selectDomainId, selectDomainName } = domainManger;
|
||||
|
||||
@@ -196,7 +196,6 @@ const DomainManger: React.FC<Props> = ({ 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<Props> = ({ 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<Props> = ({ domainManger, domainId }) => {
|
||||
value={graphShowType}
|
||||
onChange={(e) => {
|
||||
const { value } = e.target;
|
||||
console.log(value, 'value');
|
||||
setGraphShowType(value);
|
||||
changeGraphData(dataSourceListData, value);
|
||||
}}
|
||||
|
||||
@@ -26,13 +26,13 @@ const DimensionSearchVisibleModal: React.FC<Props> = ({
|
||||
const [dictRules, setDictRules] = useState<string>('');
|
||||
|
||||
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<Props> = ({
|
||||
}, [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<Props> = ({
|
||||
saveDomainExtendQuery = editDomainExtend;
|
||||
}
|
||||
const { code, msg } = await saveDomainExtendQuery({
|
||||
dictionaryInfos,
|
||||
knowledgeInfos,
|
||||
domainId,
|
||||
id,
|
||||
});
|
||||
|
||||
@@ -53,14 +53,14 @@ const PermissionTable: React.FC<Props> = ({ 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);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -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 },
|
||||
});
|
||||
}
|
||||
|
||||
@@ -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<any> = 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<any> = await response?.clone()?.json?.();
|
||||
if (Number(data.code) === 403) {
|
||||
history.push('/login');
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
||||
return response;
|
||||
|
||||
Reference in New Issue
Block a user