Files
TERES_web_frontend/src/services/user_service.ts
guangfei.zhao 836ee763e3 feat(user): add user data management system with global state
- Implement user store with Zustand for global state management
- Create UserDataProvider component to initialize user data on app load
- Add useUserData hook for accessing and managing user data
- Refactor knowledge base list page to use new hooks
2025-10-11 17:18:40 +08:00

76 lines
1.8 KiB
TypeScript

import api from './api';
import request, { post } from '@/utils/request';
import type { ITenantInfo } from '@/interfaces/database/knowledge';
import type { IUserInfo, ITenant } from '@/interfaces/database/user-setting';
// 用户相关API服务
const userService = {
// 用户登录
login: (data: { email: string; password: string }) => {
return post(api.login, data);
},
// 用户登出
logout: () => {
return request.get(api.logout);
},
// 用户注册
register: (data: { email: string; password: string; nickname?: string }) => {
return post(api.register, data);
},
// 获取用户信息
getUserInfo: () => {
return request.get(api.user_info);
},
// 更新用户设置
updateSetting: (data: any) => {
return post(api.setting, data);
},
// 获取租户信息
getTenantInfo: () => {
return request.get(api.tenant_info);
},
// 设置租户信息
setTenantInfo: (data: ITenantInfo) => {
return post(api.set_tenant_info, data);
},
// 获取登录渠道
getLoginChannels: () => {
return request.get(api.login_channels);
},
// 通过渠道登录
loginWithChannel: (channel: string) => {
window.location.href = api.login_channel(channel);
},
// 租户用户管理
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));
},
};
export default userService;