-- 统一认证:注册会话(第一步核验 → 第二步企业归属) -- 之前注册会话只存在进程内存里,服务重启 / 多副本部署 / 填表超时都会导致 -- 「注册会话已失效,请重新注册」。改为落库后: -- ① 重启、多实例共享都不丢;② 有效期可放宽到 2 小时(填企业资料+上传执照足够); -- ③ 身份仍在第二步才创建,超时/放弃时不会留下占用账号的半成品身份。 CREATE TABLE IF NOT EXISTS `yz_auth_register_session` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, `token` VARCHAR(64) NOT NULL COMMENT '注册令牌(第一步核验通过后签发)', `account` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '账号名(账号 / 小程序注册;短信注册为空)', `mobile` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '手机号(短信注册)', `nickname` VARCHAR(64) NOT NULL DEFAULT '', `password_hash` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '待注册密码哈希(argon2id PHC 格式)', `password_algo` VARCHAR(16) NOT NULL DEFAULT 'argon2id', `openid` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '核验得到的微信 openid', `unionid` VARCHAR(64) NOT NULL DEFAULT '', `provider` VARCHAR(32) NOT NULL DEFAULT '' COMMENT 'wechat(公众号) / wechat_mini(小程序)', `identity_id` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '第二步建号后写回;0 = 尚未建号', `status` TINYINT NOT NULL DEFAULT 0 COMMENT '0待完成 1已完成', `expire_at` DATETIME NOT NULL COMMENT '过期时间', `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, `update_time` DATETIME DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `uk_token` (`token`), KEY `idx_expire_at` (`expire_at`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='统一认证-注册会话';