登录注册接入数据库
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user