Files
medical-mall/components/supadb/aksupainstance.uts

48 lines
1.5 KiB
Plaintext

// /components/supadb/aksupainstance.uts
import { createClient } from './aksupa.uts'
import { SUPA_URL, SUPA_KEY } from '@/ak/config.uts'
import { CURRENT_CLIENT } from '@/config/current-client.uts'
function maskClientKey(key: string): string {
const keyLen = key.length
if (keyLen <= 20) {
return '(too short)'
}
return key.substring(0, 10) + '...' + key.substring(keyLen - 8)
}
console.log('[consumer-db] 当前端类型:', CURRENT_CLIENT)
console.log('[consumer-db] supabaseUrl 已加载:', SUPA_URL)
console.log('[consumer-db] supabaseKey 已加载:', maskClientKey(SUPA_KEY))
// 创建单一真实的 Supabase 客户端实例 (使用 config.uts 配置)
// Create single source of truth client using config
const supaInstance = createClient(SUPA_URL, SUPA_KEY)
// 导出默认实例 (供 login.uvue 等使用)
export default supaInstance
// 导出命名实例 'supabase' (供 store.uts 使用)
export const supabase = supaInstance
// 导出 isSupabaseReady 状态
export const isSupabaseReady = true
// 兼容 ensureSupabaseReady
export async function ensureSupabaseReady() {
return true
}
// 检查连接状态的函数
export function checkConnection() {
return Promise.resolve(true)
}
// 兼容 supaReady Promise
export const supaReady = supaInstance.hydrateSessionFromStorage()
// 如果有其他需要导出的函数,可以这样导出:
export function initializeSupabase(url: string, key: string) {
return createClient(url, key)
}