登录注册接入数据库

This commit is contained in:
2026-03-10 17:01:56 +08:00
parent 8561d1debc
commit 4df88ea502
6 changed files with 210 additions and 172 deletions

View File

@@ -58,9 +58,21 @@ export async function ensureUserProfile(sessionUser: UTSJSONObject): Promise<Use
// 用户不存在,创建新用户资料
const newUserData = new UTSJSONObject()
newUserData.set('id', userId)
newUserData.set('auth_id', userId)
newUserData.set('email', email)
newUserData.set('username', email.split('@')[0] ?? 'user') // 默认用户名为邮箱前缀
// 获取注册时带入的 meta_data 角色信息,在这个端(商家端/管理端)找不到则默认为 merchant
let userRole = 'merchant'
const metadata = sessionUser.getJSON('user_metadata') ?? sessionUser.getJSON('raw_user_meta_data')
if (metadata != null) {
const metaRole = metadata.getString('user_role')
if (metaRole != null && metaRole.trim() !== '') {
userRole = metaRole
}
}
newUserData.set('role', userRole)
const insertRes = await supabase.from('ak_users')
.insert(newUserData)
.select('*', {})
@@ -89,7 +101,7 @@ export async function ensureUserProfile(sessionUser: UTSJSONObject): Promise<Use
bio: newUser.getString('bio'),
avatar_url: newUser.getString('avatar_url'),
preferred_language: newUser.getString('preferred_language'),
role: newUser.getString('role') ?? 'consumer',
role: newUser.getString('role') ?? userRole,
created_at: newUser.getString('created_at'),
updated_at: newUser.getString('updated_at')
} as UserProfile