6. 数据迁移SQL示例
-- 第一步:为现有用户生成UUID
UPDATE users SET
user_uuid = UUID(),
platform_type = 'wechat',
platform_user_id = openid,
registration_source = 'legacy_migration'
WHERE user_uuid IS NULL;
-- 第二步:创建platform_accounts记录
INSERT INTO platform_accounts (
user_uuid, platform_type, platform_user_id,
platform_nickname, platform_avatar, is_primary
)
SELECT
user_uuid, 'wechat', openid,
nickname, avatar_url, TRUE
FROM users
WHERE openid IS NOT NULL;
7. 统一登录API设计
POST /api/v1/auth/unified-login
{
"platform_type": "wechat|douyin|app|pc|web",
"platform_data": {
"platform_user_id": "openid_or_other_id",
"nickname": "用户昵称",
"avatar_url": "头像URL",
"union_id": "unionid(如果有)",
"phone": "手机号(如果有)",
"email": "邮箱(如果有)"
}
}
Response:
{
"code": 0,
"data": {
"user_uuid": "全局用户ID",
"token": "JWT令牌",
"is_new_user": false,
"linked_platforms": ["wechat", "douyin"]
}
}