KevinHuSh
add front end code (#27)
6b8fc2c
raw
history blame
4.93 kB
import { Effect, Reducer, Subscription } from 'umi';
import { message } from 'antd';
import { addParam } from '@/utils';
import userService from '@/services/userService';
import { rearg } from 'lodash';
export interface settingModelState {
isShowPSwModal: boolean;
isShowTntModal: boolean;
isShowSAKModal: boolean;
isShowSSModal: boolean;
llm_factory: string;
loading: boolean;
tenantIfo: any,
llmInfo: any,
myLlm: any[],
factoriesList: any[]
}
export interface settingModelType {
namespace: 'settingModel';
state: settingModelState;
effects: {
setting: Effect;
getUserInfo: Effect;
getTenantInfo: Effect;
set_tenant_info: Effect;
factories_list: Effect;
llm_list: Effect;
my_llm: Effect;
set_api_key: Effect;
};
reducers: {
updateState: Reducer<settingModelState>;
};
subscriptions: { setup: Subscription };
}
const Model: settingModelType = {
namespace: 'settingModel',
state: {
isShowPSwModal: false,
isShowTntModal: false,
isShowSAKModal: false,
isShowSSModal: false,
llm_factory: '',
loading: false,
tenantIfo: {},
llmInfo: {},
myLlm: [],
factoriesList: []
},
subscriptions: {
setup({ dispatch, history }) {
history.listen(location => {
});
}
},
effects: {
*setting({ payload = {}, callback }, { call, put }) {
const { data, response } = yield call(userService.setting, payload);
const { retcode, data: res, retmsg } = data
if (retcode === 0) {
message.success('密码修改成功!');
callback && callback()
}
},
*getUserInfo({ payload = {} }, { call, put }) {
const { data, response } = yield call(userService.user_info, payload);
const { retcode, data: res, retmsg } = data
const userInfo = {
avatar: res.avatar,
name: res.nickname,
email: res.email
};
localStorage.setItem('userInfo', JSON.stringify(userInfo))
if (retcode === 0) {
// localStorage.setItem('userInfo',res.)
}
},
*getTenantInfo({ payload = {} }, { call, put }) {
yield put({
type: 'updateState',
payload: {
loading: true
}
});
const { data, response } = yield call(userService.get_tenant_info, payload);
const { retcode, data: res, retmsg } = data
// llm_id 对应chat_id
// asr_id 对应speech2txt
yield put({
type: 'updateState',
payload: {
loading: false
}
});
if (retcode === 0) {
res.chat_id = res.llm_id
res.speech2text_id = res.asr_id
yield put({
type: 'updateState',
payload: {
tenantIfo: res
}
});
}
},
*set_tenant_info({ payload = {} }, { call, put }) {
const { data, response } = yield call(userService.set_tenant_info, payload);
const { retcode, data: res, retmsg } = data
// llm_id 对应chat_id
// asr_id 对应speech2txt
if (retcode === 0) {
yield put({
type: 'updateState',
payload: {
isShowSSModal: false
}
});
yield put({
type: 'getTenantInfo'
})
}
},
*factories_list({ payload = {} }, { call, put }) {
const { data, response } = yield call(userService.factories_list, payload);
const { retcode, data: res, retmsg } = data
if (retcode === 0) {
yield put({
type: 'updateState',
payload: {
factoriesList: res
}
});
}
},
*llm_list({ payload = {} }, { call, put }) {
const { data, response } = yield call(userService.llm_list, payload);
const { retcode, data: res, retmsg } = data
if (retcode === 0) {
yield put({
type: 'updateState',
payload: {
llmInfo: res
}
});
}
},
*my_llm({ payload = {} }, { call, put }) {
const { data, response } = yield call(userService.my_llm, payload);
const { retcode, data: res, retmsg } = data
if (retcode === 0) {
yield put({
type: 'updateState',
payload: {
myLlm: res
}
});
}
},
*set_api_key({ payload = {}, callback }, { call, put }) {
const { data, response } = yield call(userService.set_api_key, payload);
const { retcode, data: res, retmsg } = data
if (retcode === 0) {
message.success('设置API KEY成功!');
callback && callback()
}
},
},
reducers: {
updateState(state, { payload }) {
return {
...state,
...payload
};
}
}
};
export default Model;