import { GET, POST, PUT } from '@/web/common/api/request'; import { hashStr } from '@fastgpt/global/common/string/tools'; import type { ResLogin } from '@/global/support/api/userRes.d'; import { UserAuthTypeEnum } from '@fastgpt/global/support/user/auth/constants'; import { UserUpdateParams } from '@/types/user'; import { UserType } from '@fastgpt/global/support/user/type.d'; import type { FastLoginProps, OauthLoginProps, PostLoginProps } from '@fastgpt/global/support/user/api.d'; import { GetWXLoginQRResponse } from '@fastgpt/global/support/user/login/api.d'; export const sendAuthCode = (data: { username: string; type: `${UserAuthTypeEnum}`; googleToken: string; }) => POST(`/proApi/support/user/inform/sendAuthCode`, data); export const getTokenLogin = () => GET('/support/user/account/tokenLogin', {}, { maxQuantity: 1 }); export const oauthLogin = (params: OauthLoginProps) => POST('/proApi/support/user/account/login/oauth', params); export const postFastLogin = (params: FastLoginProps) => POST('/proApi/support/user/account/login/fastLogin', params); export const postRegister = ({ username, password, code, inviterId }: { username: string; code: string; password: string; inviterId?: string; }) => POST(`/proApi/support/user/account/register/emailAndPhone`, { username, code, inviterId, password: hashStr(password) }); export const postFindPassword = ({ username, code, password }: { username: string; code: string; password: string; }) => POST(`/proApi/support/user/account/password/updateByCode`, { username, code, password: hashStr(password) }); export const updatePasswordByOld = ({ oldPsw, newPsw }: { oldPsw: string; newPsw: string }) => POST('/support/user/account/updatePasswordByOld', { oldPsw: hashStr(oldPsw), newPsw: hashStr(newPsw) }); export const postLogin = ({ password, ...props }: PostLoginProps) => POST('/support/user/account/loginByPassword', { ...props, password: hashStr(password) }); export const loginOut = () => GET('/support/user/account/loginout'); export const putUserInfo = (data: UserUpdateParams) => PUT('/support/user/account/update', data); export const getWXLoginQR = () => GET('/proApi/support/user/account/login/wx/getQR'); export const getWXLoginResult = (code: string) => GET(`/proApi/support/user/account/login/wx/getResult`, { code });