优化小程序
This commit is contained in:
1 parent
2e2b837a20
commit
727319a6eb
24 files changed
+1509
-200
No files matched your search
@@ -46,12 +46,13 @@ func (m *AuthIdentity) TableName() string {
|
||||
|
||||
// 第三方登录 provider 常量
|
||||
const (
|
||||
IdPWechat = "wechat"
|
||||
IdPDingTalk = "dingtalk"
|
||||
IdPFeishu = "feishu"
|
||||
IdPQQ = "qq"
|
||||
IdPGitHub = "github"
|
||||
IdPGoogle = "google"
|
||||
IdPWechat = "wechat"
|
||||
IdPWechatMini = "wechat_mini"
|
||||
IdPDingTalk = "dingtalk"
|
||||
IdPFeishu = "feishu"
|
||||
IdPQQ = "qq"
|
||||
IdPGitHub = "github"
|
||||
IdPGoogle = "google"
|
||||
)
|
||||
|
||||
// AuthIdentityThird 第三方身份绑定:yz_auth_identity_third
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
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" }
|
||||
@@ -0,0 +1,38 @@
|
||||
package models
|
||||
|
||||
import "time"
|
||||
|
||||
// =============================================================
|
||||
// 注册会话 yz_auth_register_session
|
||||
// (建表脚本:docs/sql/create_auth_register_session.sql)
|
||||
// 第一步核验通过 → 写入本表并签发 token(此时尚未创建身份);
|
||||
// 第二步企业归属时按 token 取出、建号并写回 identity_id;业务成功后删除。
|
||||
// 落库而非放内存:服务重启 / 多副本部署都不会让用户的注册流程中途失效。
|
||||
// =============================================================
|
||||
|
||||
// 注册会话状态
|
||||
const (
|
||||
RegisterSessionPending = 0 // 待完成(第二步归属未提交)
|
||||
RegisterSessionDone = 1 // 已完成
|
||||
)
|
||||
|
||||
// AuthRegisterSession 注册会话
|
||||
type AuthRegisterSession struct {
|
||||
ID uint64 `orm:"column(id);pk;auto" json:"id"`
|
||||
Token string `orm:"column(token);size(64)" json:"-"`
|
||||
Account string `orm:"column(account);size(64)" json:"account"`
|
||||
Mobile string `orm:"column(mobile);size(20)" json:"mobile"`
|
||||
Nickname string `orm:"column(nickname);size(64)" json:"nickname"`
|
||||
PasswordHash string `orm:"column(password_hash);size(255)" json:"-"`
|
||||
PasswordAlgo string `orm:"column(password_algo);size(16)" json:"password_algo"`
|
||||
OpenID string `orm:"column(openid);size(64)" json:"openid"`
|
||||
UnionID string `orm:"column(unionid);size(64)" json:"unionid"`
|
||||
Provider string `orm:"column(provider);size(32)" json:"provider"`
|
||||
IdentityID uint64 `orm:"column(identity_id)" json:"identity_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 *AuthRegisterSession) TableName() string { return "yz_auth_register_session" }
|
||||
@@ -237,6 +237,11 @@ func Init(_ string) {
|
||||
new(WechatMpLoginToken),
|
||||
new(WechatMpScanLogin),
|
||||
|
||||
// 微信小程序扫码注册核验会话(docs/sql/create_auth_mini_register.sql)
|
||||
new(AuthMiniRegister),
|
||||
// 注册会话(第一步核验 → 第二步企业归属,docs/sql/create_auth_register_session.sql)
|
||||
new(AuthRegisterSession),
|
||||
|
||||
// 微信小程序配置(docs/sql/create_wechat_mini_config.sql)
|
||||
new(WechatMiniConfig),
|
||||
// 微信小程序多应用配置(docs/sql/create_wechat_mini_app.sql)
|
||||
|
||||
Reference in new issue
Block a user