接入数据库
This commit is contained in:
@@ -258,8 +258,28 @@ const handleLogin = async () => {
|
||||
if (loginType.value === 0) {
|
||||
const isEmail = account.value.includes('@')
|
||||
if (isEmail) {
|
||||
const result = await supa.signIn(account.value, password.value)
|
||||
if (result.user == null) throw new Error('登录失败')
|
||||
// 邮箱 + 密码登录(Supabase Auth)
|
||||
const result = await supa.signIn(account.value.trim(), password.value)
|
||||
console.log('signIn result:', result)
|
||||
|
||||
// 检查登录是否失败
|
||||
if (result.user == null) {
|
||||
// 检查是否是邮箱未确认的错误
|
||||
const rawData = result.raw as UTSJSONObject
|
||||
const errorMsg = rawData?.getString('msg') ?? ''
|
||||
const errorCode = rawData?.getString('error_code') ?? ''
|
||||
|
||||
if (errorMsg.includes('email') && errorMsg.includes('confirm') ||
|
||||
errorCode === 'email_not_confirmed' ||
|
||||
errorMsg.includes('邮箱') && errorMsg.includes('确认')) {
|
||||
throw new Error('邮箱未确认,请先检查邮箱并点击确认链接')
|
||||
} else if (errorMsg.includes('Invalid login credentials') ||
|
||||
errorCode === 'invalid_credentials') {
|
||||
throw new Error('邮箱或密码错误')
|
||||
} else {
|
||||
throw new Error(errorMsg || '登录失败,请重试')
|
||||
}
|
||||
}
|
||||
} else {
|
||||
uni.showToast({ title: '手机号密码登录功能开发中', icon: 'none' })
|
||||
return
|
||||
@@ -269,8 +289,13 @@ const handleLogin = async () => {
|
||||
return
|
||||
}
|
||||
|
||||
const profile = await getCurrentUser()
|
||||
if (profile == null) throw new Error('获取用户信息失败')
|
||||
// 尝试获取/补全用户资料,但失败时不再阻塞登录
|
||||
try {
|
||||
const profile = await getCurrentUser()
|
||||
console.log('current user profile:', profile)
|
||||
} catch (e) {
|
||||
console.error('获取用户信息失败(忽略,不阻塞登录):', e)
|
||||
}
|
||||
|
||||
uni.showToast({ title: '登录成功', icon: 'success' })
|
||||
setTimeout(() => {
|
||||
|
||||
Reference in New Issue
Block a user