-- ============================================ -- 迁移: 005_add_web_login_codes.sql -- 目的: 添加网页端微信扫码登录临时码表 -- 日期: 2026-04-20 -- 依赖: users 表(001 创建) -- 说明: 用户扫码后生成临时登录码,前端轮询验证登录状态 -- ============================================ -- 05_add_web_login_codes.sql -- 网页端微信扫码登录:临时登录码表 CREATE TABLE IF NOT EXISTS web_login_codes ( id SERIAL PRIMARY KEY, code VARCHAR(32) UNIQUE NOT NULL, -- 登录码,如 ASD-ABC123 user_id INTEGER, -- 关联用户(确认登录后写入) openid VARCHAR(128), -- 用户 openid token TEXT, -- 生成的 JWT(确认后写入) expires_at TIMESTAMPTZ NOT NULL, -- 过期时间(10分钟内有效) created_at TIMESTAMPTZ DEFAULT NOW() ); -- 登录码索引 CREATE INDEX IF NOT EXISTS idx_web_login_codes_code ON web_login_codes(code); CREATE INDEX IF NOT EXISTS idx_web_login_codes_expires ON web_login_codes(expires_at); -- 定期清理过期登录码(可由 cron 或服务启动时触发) -- DELETE FROM web_login_codes WHERE expires_at < NOW();