2025-10-10 15:09:04 +08:00
|
|
|
import api from './api';
|
|
|
|
|
import request, { post } from '@/utils/request';
|
2025-10-11 17:18:40 +08:00
|
|
|
import type { ITenantInfo } from '@/interfaces/database/knowledge';
|
|
|
|
|
import type { IUserInfo, ITenant } from '@/interfaces/database/user-setting';
|
2025-10-15 16:24:53 +08:00
|
|
|
import type { LlmModelType } from '@/constants/knowledge';
|
2025-10-10 15:09:04 +08:00
|
|
|
|
|
|
|
|
// 用户相关API服务
|
|
|
|
|
const userService = {
|
|
|
|
|
// 用户登录
|
|
|
|
|
login: (data: { email: string; password: string }) => {
|
|
|
|
|
return post(api.login, data);
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 用户登出
|
|
|
|
|
logout: () => {
|
|
|
|
|
return request.get(api.logout);
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 用户注册
|
2025-10-10 18:25:20 +08:00
|
|
|
register: (data: { email: string; password: string; nickname?: string }) => {
|
2025-10-10 15:09:04 +08:00
|
|
|
return post(api.register, data);
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 获取用户信息
|
|
|
|
|
getUserInfo: () => {
|
|
|
|
|
return request.get(api.user_info);
|
|
|
|
|
},
|
|
|
|
|
|
2025-10-21 11:40:47 +08:00
|
|
|
// 更新用户密码
|
|
|
|
|
updatePassword: (data: { password: string; new_password: string }) => {
|
|
|
|
|
return post(api.setting, data);
|
|
|
|
|
},
|
|
|
|
|
|
2025-10-10 15:09:04 +08:00
|
|
|
// 更新用户设置
|
2025-10-21 11:40:47 +08:00
|
|
|
updateSetting: (data: Partial<IUserInfo>) => {
|
2025-10-10 15:09:04 +08:00
|
|
|
return post(api.setting, data);
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 获取登录渠道
|
|
|
|
|
getLoginChannels: () => {
|
|
|
|
|
return request.get(api.login_channels);
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 通过渠道登录
|
|
|
|
|
loginWithChannel: (channel: string) => {
|
|
|
|
|
window.location.href = api.login_channel(channel);
|
|
|
|
|
},
|
|
|
|
|
|
2025-10-21 16:41:22 +08:00
|
|
|
/** 租户用户管理接口 */
|
|
|
|
|
// 获取租户信息
|
|
|
|
|
getTenantInfo: () => {
|
|
|
|
|
return request.get(api.tenant_info);
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 设置租户信息
|
|
|
|
|
setTenantInfo: (data: ITenantInfo) => {
|
|
|
|
|
return post(api.set_tenant_info, data);
|
|
|
|
|
},
|
2025-10-10 15:09:04 +08:00
|
|
|
// 租户用户管理
|
|
|
|
|
listTenantUser: (tenantId: string) => {
|
|
|
|
|
return request.get(api.listTenantUser(tenantId));
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
addTenantUser: (tenantId: string, email: string) => {
|
|
|
|
|
return post(api.addTenantUser(tenantId), { email });
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
deleteTenantUser: ({ tenantId, userId }: { tenantId: string; userId: string }) => {
|
|
|
|
|
return request.delete(api.deleteTenantUser(tenantId, userId));
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 租户管理
|
|
|
|
|
listTenant: () => {
|
|
|
|
|
return request.get(api.listTenant);
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
agreeTenant: (tenantId: string) => {
|
|
|
|
|
return request.put(api.agreeTenant(tenantId));
|
|
|
|
|
},
|
2025-10-15 16:24:53 +08:00
|
|
|
|
2025-10-21 16:41:22 +08:00
|
|
|
/** LLM 模型相关接口 */
|
|
|
|
|
// llm list
|
2025-10-15 16:24:53 +08:00
|
|
|
llm_list: (data: { model_type?: LlmModelType }) => {
|
|
|
|
|
return request.get(api.llm_list, { params: data });
|
|
|
|
|
},
|
2025-10-21 16:41:22 +08:00
|
|
|
|
|
|
|
|
// my llm list
|
|
|
|
|
my_llm: (params: { include_details?: boolean } = {}) => {
|
|
|
|
|
return request.get(api.my_llm, { params: { include_details: params.include_details } });
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// llm factory list
|
|
|
|
|
llm_factories_list: () => {
|
|
|
|
|
return request.get(api.factories_list);
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// add llm
|
|
|
|
|
add_llm: (data: { factory_name: string; model_name: string }) => {
|
|
|
|
|
return request.post(api.add_llm, data);
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// delete llm
|
|
|
|
|
delete_llm: (data: { factory_name: string; model_name: string }) => {
|
|
|
|
|
return request.post(api.delete_llm, data);
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// delete factory
|
|
|
|
|
deleteFactory: (data: { factory_name: string }) => {
|
|
|
|
|
return request.post(api.deleteFactory, data);
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// set api key
|
|
|
|
|
set_api_key: (data: { factory_name: string; model_name: string; api_key: string }) => {
|
|
|
|
|
return request.post(api.set_api_key, data);
|
|
|
|
|
},
|
2025-10-10 15:09:04 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export default userService;
|