2024-02-05 12:01:27 +08:00
|
|
|
|
import { ITenantInfo } from '@/interfaces/database/knowledge';
|
2024-02-18 18:18:20 +08:00
|
|
|
|
import { IThirdOAIModelCollection as IThirdAiModelCollection } from '@/interfaces/database/llm';
|
2024-02-26 18:38:54 +08:00
|
|
|
|
import { IUserInfo } from '@/interfaces/database/userSetting';
|
2024-01-17 09:37:01 +08:00
|
|
|
|
import userService from '@/services/userService';
|
2024-01-29 19:28:39 +08:00
|
|
|
|
import { message } from 'antd';
|
2024-02-05 12:01:27 +08:00
|
|
|
|
import { Nullable } from 'typings';
|
2024-01-30 19:26:29 +08:00
|
|
|
|
import { DvaModel } from 'umi';
|
2024-01-17 09:37:01 +08:00
|
|
|
|
|
2024-01-30 19:26:29 +08:00
|
|
|
|
export interface SettingModelState {
|
2024-01-17 09:37:01 +08:00
|
|
|
|
isShowPSwModal: boolean;
|
|
|
|
|
|
isShowTntModal: boolean;
|
|
|
|
|
|
isShowSAKModal: boolean;
|
|
|
|
|
|
isShowSSModal: boolean;
|
|
|
|
|
|
llm_factory: string;
|
2024-02-05 12:01:27 +08:00
|
|
|
|
tenantIfo: Nullable<ITenantInfo>;
|
2024-02-18 18:18:20 +08:00
|
|
|
|
llmInfo: IThirdAiModelCollection;
|
2024-01-29 19:28:39 +08:00
|
|
|
|
myLlm: any[];
|
|
|
|
|
|
factoriesList: any[];
|
2024-02-26 18:38:54 +08:00
|
|
|
|
userInfo: IUserInfo;
|
2024-01-17 09:37:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2024-01-30 19:26:29 +08:00
|
|
|
|
const model: DvaModel<SettingModelState> = {
|
2024-01-17 09:37:01 +08:00
|
|
|
|
namespace: 'settingModel',
|
|
|
|
|
|
state: {
|
|
|
|
|
|
isShowPSwModal: false,
|
|
|
|
|
|
isShowTntModal: false,
|
|
|
|
|
|
isShowSAKModal: false,
|
|
|
|
|
|
isShowSSModal: false,
|
|
|
|
|
|
llm_factory: '',
|
2024-02-05 12:01:27 +08:00
|
|
|
|
tenantIfo: null,
|
2024-01-17 09:37:01 +08:00
|
|
|
|
llmInfo: {},
|
|
|
|
|
|
myLlm: [],
|
2024-01-29 19:28:39 +08:00
|
|
|
|
factoriesList: [],
|
2024-02-26 18:38:54 +08:00
|
|
|
|
userInfo: {} as IUserInfo,
|
2024-01-17 09:37:01 +08:00
|
|
|
|
},
|
2024-01-30 19:26:29 +08:00
|
|
|
|
reducers: {
|
|
|
|
|
|
updateState(state, { payload }) {
|
|
|
|
|
|
return {
|
|
|
|
|
|
...state,
|
|
|
|
|
|
...payload,
|
|
|
|
|
|
};
|
|
|
|
|
|
},
|
2024-02-26 18:38:54 +08:00
|
|
|
|
setUserInfo(state, { payload }) {
|
|
|
|
|
|
return {
|
|
|
|
|
|
...state,
|
|
|
|
|
|
userInfo: payload,
|
|
|
|
|
|
};
|
2024-01-29 19:28:39 +08:00
|
|
|
|
},
|
2024-01-17 09:37:01 +08:00
|
|
|
|
},
|
|
|
|
|
|
effects: {
|
2024-01-31 19:29:57 +08:00
|
|
|
|
*setting({ payload = {} }, { call, put }) {
|
|
|
|
|
|
const { data } = yield call(userService.setting, payload);
|
|
|
|
|
|
const { retcode } = data;
|
2024-01-17 09:37:01 +08:00
|
|
|
|
if (retcode === 0) {
|
2024-03-08 17:09:07 +08:00
|
|
|
|
message.success('Modified!');
|
2024-01-31 19:29:57 +08:00
|
|
|
|
yield put({
|
|
|
|
|
|
type: 'updateState',
|
|
|
|
|
|
payload: {
|
|
|
|
|
|
isShowPSwModal: false,
|
|
|
|
|
|
},
|
|
|
|
|
|
});
|
|
|
|
|
|
yield put({
|
|
|
|
|
|
type: 'getUserInfo',
|
|
|
|
|
|
});
|
2024-01-17 09:37:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
*getUserInfo({ payload = {} }, { call, put }) {
|
2024-02-26 18:38:54 +08:00
|
|
|
|
const { data } = yield call(userService.user_info, payload);
|
|
|
|
|
|
const { retcode, data: res } = data;
|
|
|
|
|
|
|
|
|
|
|
|
// const userInfo = {
|
|
|
|
|
|
// avatar: res.avatar,
|
|
|
|
|
|
// name: res.nickname,
|
|
|
|
|
|
// email: res.email,
|
|
|
|
|
|
// };
|
|
|
|
|
|
// authorizationUtil.setUserInfo(userInfo);
|
2024-01-17 09:37:01 +08:00
|
|
|
|
if (retcode === 0) {
|
2024-02-26 18:38:54 +08:00
|
|
|
|
yield put({ type: 'setUserInfo', payload: res });
|
2024-01-17 09:37:01 +08:00
|
|
|
|
// localStorage.setItem('userInfo',res.)
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
*getTenantInfo({ payload = {} }, { call, put }) {
|
2024-01-31 19:29:57 +08:00
|
|
|
|
const { data } = yield call(userService.get_tenant_info, payload);
|
|
|
|
|
|
const { retcode, data: res } = data;
|
2024-01-17 09:37:01 +08:00
|
|
|
|
// llm_id 对应chat_id
|
|
|
|
|
|
// asr_id 对应speech2txt
|
|
|
|
|
|
|
|
|
|
|
|
if (retcode === 0) {
|
2024-01-29 19:28:39 +08:00
|
|
|
|
res.chat_id = res.llm_id;
|
|
|
|
|
|
res.speech2text_id = res.asr_id;
|
2024-01-17 09:37:01 +08:00
|
|
|
|
yield put({
|
|
|
|
|
|
type: 'updateState',
|
|
|
|
|
|
payload: {
|
2024-01-29 19:28:39 +08:00
|
|
|
|
tenantIfo: res,
|
|
|
|
|
|
},
|
2024-01-17 09:37:01 +08:00
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
*set_tenant_info({ payload = {} }, { call, put }) {
|
2024-01-31 19:29:57 +08:00
|
|
|
|
const { data } = yield call(userService.set_tenant_info, payload);
|
|
|
|
|
|
const { retcode } = data;
|
2024-01-17 09:37:01 +08:00
|
|
|
|
// llm_id 对应chat_id
|
|
|
|
|
|
// asr_id 对应speech2txt
|
|
|
|
|
|
if (retcode === 0) {
|
|
|
|
|
|
yield put({
|
|
|
|
|
|
type: 'updateState',
|
|
|
|
|
|
payload: {
|
2024-01-29 19:28:39 +08:00
|
|
|
|
isShowSSModal: false,
|
|
|
|
|
|
},
|
2024-01-17 09:37:01 +08:00
|
|
|
|
});
|
|
|
|
|
|
yield put({
|
2024-01-29 19:28:39 +08:00
|
|
|
|
type: 'getTenantInfo',
|
|
|
|
|
|
});
|
2024-01-17 09:37:01 +08:00
|
|
|
|
}
|
2024-01-31 19:29:57 +08:00
|
|
|
|
return retcode;
|
2024-01-17 09:37:01 +08:00
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
*factories_list({ payload = {} }, { call, put }) {
|
2024-01-29 19:28:39 +08:00
|
|
|
|
const { data, response } = yield call(
|
|
|
|
|
|
userService.factories_list,
|
|
|
|
|
|
payload,
|
|
|
|
|
|
);
|
|
|
|
|
|
const { retcode, data: res, retmsg } = data;
|
2024-01-17 09:37:01 +08:00
|
|
|
|
if (retcode === 0) {
|
|
|
|
|
|
yield put({
|
|
|
|
|
|
type: 'updateState',
|
|
|
|
|
|
payload: {
|
2024-01-29 19:28:39 +08:00
|
|
|
|
factoriesList: res,
|
|
|
|
|
|
},
|
2024-01-17 09:37:01 +08:00
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
*llm_list({ payload = {} }, { call, put }) {
|
2024-02-18 18:18:20 +08:00
|
|
|
|
const { data } = yield call(userService.llm_list, payload);
|
|
|
|
|
|
const { retcode, data: res } = data;
|
2024-01-17 09:37:01 +08:00
|
|
|
|
if (retcode === 0) {
|
|
|
|
|
|
yield put({
|
|
|
|
|
|
type: 'updateState',
|
|
|
|
|
|
payload: {
|
2024-01-29 19:28:39 +08:00
|
|
|
|
llmInfo: res,
|
|
|
|
|
|
},
|
2024-01-17 09:37:01 +08:00
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
*my_llm({ payload = {} }, { call, put }) {
|
|
|
|
|
|
const { data, response } = yield call(userService.my_llm, payload);
|
2024-01-29 19:28:39 +08:00
|
|
|
|
const { retcode, data: res, retmsg } = data;
|
2024-01-17 09:37:01 +08:00
|
|
|
|
if (retcode === 0) {
|
|
|
|
|
|
yield put({
|
|
|
|
|
|
type: 'updateState',
|
|
|
|
|
|
payload: {
|
2024-01-29 19:28:39 +08:00
|
|
|
|
myLlm: res,
|
|
|
|
|
|
},
|
2024-01-17 09:37:01 +08:00
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
2024-01-31 19:29:57 +08:00
|
|
|
|
*set_api_key({ payload = {} }, { call, put }) {
|
|
|
|
|
|
const { data } = yield call(userService.set_api_key, payload);
|
|
|
|
|
|
const { retcode } = data;
|
2024-01-17 09:37:01 +08:00
|
|
|
|
if (retcode === 0) {
|
|
|
|
|
|
message.success('设置API KEY成功!');
|
2024-01-31 19:29:57 +08:00
|
|
|
|
yield put({
|
|
|
|
|
|
type: 'updateState',
|
|
|
|
|
|
payload: {
|
|
|
|
|
|
isShowSAKModal: false,
|
|
|
|
|
|
},
|
|
|
|
|
|
});
|
2024-01-17 09:37:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
},
|
|
|
|
|
|
};
|
2024-01-30 19:26:29 +08:00
|
|
|
|
export default model;
|