54 lines
1.6 KiB
Plaintext
54 lines
1.6 KiB
Plaintext
// /components/supadb/aksupainstance.uts
|
|
import { createClient } from './aksupa.uts'
|
|
|
|
// 创建并导出 Supabase 客户端实例
|
|
const supabaseUrl = 'https://your-project.supabase.co' // 替换为你的 Supabase URL
|
|
const supabaseAnonKey = 'your-anon-key' // 替换为你的匿名密钥
|
|
|
|
export const supabase = createClient(supabaseUrl, supabaseAnonKey)
|
|
|
|
// 导出 Supabase 实例就绪状态
|
|
export const isSupabaseReady = true
|
|
|
|
// 如果有其他需要导出的函数,可以这样导出:
|
|
export function initializeSupabase(url: string, key: string) {
|
|
return createClient(url, key)
|
|
}
|
|
|
|
// 检查连接状态的函数
|
|
export function checkConnection() {
|
|
return new Promise((resolve) => {
|
|
// 模拟连接检查
|
|
setTimeout(() => {
|
|
resolve(true)
|
|
}, 500)
|
|
})
|
|
}
|
|
|
|
// 不再使用 supaready 变量,而是提供函数
|
|
export async function ensureSupabaseReady() {
|
|
return await checkConnection()
|
|
}
|
|
import AkSupa from './aksupa.uts'
|
|
import { SUPA_URL, SUPA_KEY } from '@/ak/config.uts'
|
|
|
|
const supa = new AkSupa(SUPA_URL, SUPA_KEY)
|
|
|
|
// Do not perform hard-coded auto sign-in during page preload (development mode may preload pages).
|
|
// Instead, mark supa as ready if an existing session is present; otherwise defer sign-in to explicit user action.
|
|
const supaReady: Promise<boolean> = (async () => {
|
|
try {
|
|
const sess = supa.getSession();
|
|
if (sess != null && sess.session != null) {
|
|
return true;
|
|
}
|
|
// No session found — do not auto sign-in with hard-coded credentials.
|
|
return true;
|
|
} catch (err) {
|
|
console.error('Supabase instance init failed', err)
|
|
return false;
|
|
}
|
|
})()
|
|
|
|
export { supaReady }
|
|
export default supa |