consumer模块完成90%,前端完成supabase对接

This commit is contained in:
2026-02-04 17:21:15 +08:00
parent 8a535e3f38
commit 39aa1b6bec
1335 changed files with 191376 additions and 4 deletions

View File

@@ -0,0 +1,42 @@
import supa, { ensureSupabaseReady } from '@/components/supadb/aksupainstance.uts'
export async function rpcOrEmptyArray(functionName: string, params: UTSJSONObject): Promise<Array<UTSJSONObject>> {
await ensureSupabaseReady()
const res: any = await supa.rpc(functionName, params)
if (res?.status === 404) {
return [] as Array<UTSJSONObject>
}
if (res?.error != null) {
throw res.error
}
const anyData = res.data as any
return Array.isArray(anyData) ? (anyData as Array<UTSJSONObject>) : ([] as Array<UTSJSONObject>)
}
export async function rpcOrNull(functionName: string, params: UTSJSONObject): Promise<UTSJSONObject | null> {
await ensureSupabaseReady()
const res: any = await supa.rpc(functionName, params)
if (res?.status === 404) {
return null
}
if (res?.error != null) {
throw res.error
}
const anyData = res.data as any
if (Array.isArray(anyData)) {
return anyData.length > 0 ? (anyData[0] as UTSJSONObject) : null
}
return anyData != null ? (anyData as UTSJSONObject) : null
}
export async function rpcOrValue(functionName: string, params: UTSJSONObject): Promise<any> {
await ensureSupabaseReady()
const res: any = await supa.rpc(functionName, params)
if (res?.status === 404) {
return null
}
if (res?.error != null) {
throw res.error
}
return res.data
}