import type { LoginQqParams, LoginResult, LoginWxParams } from "@/types/auth"; import alovaInstance from "./index"; export function loginQqApi(params: LoginQqParams) { return alovaInstance.Post>(`/auth/login/qq`, params); } export function loginWxApi(params: LoginWxParams) { return alovaInstance.Post>(`/auth/login/wechat`, params); } export function getUniqueIdApi(count = 1) { return alovaInstance.Post>(`/data/getUniqueId`, { count: count, }); } interface LoadDataBySqlParams { sql: string; args: any[]; } export function loadDataBySqlApi(params: LoadDataBySqlParams) { return alovaInstance.Post>(`/data/loadDataBySql`, params); } interface LoadDataParams { view_name: string; search_condition: string; order_by: string; search_columns: string[]; args: any[]; } export function loadDataApi(params: LoadDataParams) { return alovaInstance.Post>(`/data/loadData`, params); } interface SaveDataParams { table_name: string; key_field: string; inserts: any[]; updates: any[]; deletes: any[]; } export function saveDataApi(params: SaveDataParams[]) { return alovaInstance.Post>(`/data/saveData`, params); } export function s3ListBucketsApi() { return alovaInstance.Post>(`/s3/listBuckets`); } export function s3UploadFileApi(files: { uri: string; name: string; type: string }[]) { const form = new FormData(); files.forEach((file) => { form.append("files", file as any); }); return alovaInstance.Post>("/s3/upload", form, { headers: { "Content-Type": "multipart/form-data", }, }); }