package models import "time" // ============================================================= // 微信小程序扫码注册核验会话 yz_auth_mini_register // (建表脚本:docs/sql/create_auth_mini_register.sql) // PC 注册页发起会话并展示小程序码 → 用户扫码在小程序内确认(wx.login)→ // 服务端写入 openid/unionid → PC 端轮询到已确认后继续注册,核验时按 scene 核销。 // ============================================================= // 会话状态 const ( MiniRegisterStatusWaiting = 0 // 待确认(已生成小程序码) MiniRegisterStatusConfirmed = 1 // 已确认(小程序端已上报 openid) MiniRegisterStatusUsed = 2 // 已核销(注册第一步已取用) MiniRegisterStatusExpired = 3 // 已过期 ) // AuthMiniRegister 微信小程序扫码注册核验会话 type AuthMiniRegister struct { ID uint64 `orm:"column(id);pk;auto" json:"id"` Scene string `orm:"column(scene);size(64)" json:"scene"` OpenID string `orm:"column(openid);size(64)" json:"openid"` UnionID string `orm:"column(unionid);size(64)" json:"unionid"` Mobile string `orm:"column(mobile);size(32)" json:"mobile"` AppID string `orm:"column(app_id);size(64)" json:"app_id"` Status int8 `orm:"column(status)" json:"status"` ExpireAt time.Time `orm:"column(expire_at);type(datetime)" json:"expire_at"` CreateTime time.Time `orm:"column(create_time);type(datetime);auto_now_add" json:"create_time"` UpdateTime *time.Time `orm:"column(update_time);type(datetime);null" json:"update_time"` } func (m *AuthMiniRegister) TableName() string { return "yz_auth_mini_register" }