This commit is contained in:
hero920103 committed 2026-11-03 11:13:55 +08:00
1 parent 5d7ed43570
commit 012f8edf8b
4 files changed
+778

No files matched your search

+38
View File
@@ -0,0 +1,38 @@
package models
import "time"
// ==================== 游客(免登录模块)轻身份与通用数据 ====================
//
// 设计:免登录模块「不登录也要能存数据」。小程序用手机号授权换取游客轻身份
// (yz_guest_user),业务条目按 guest_id + module 文档式存入 yz_guest_data,
// 永久保留不清理;正式登录后按手机号把数据合并进正式账号(见 controllers/guest_merge.go)。
// GuestUser 游客轻身份,以微信验证手机号为唯一标识。
type GuestUser struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
Phone string `orm:"column(phone);size(20)" json:"phone"`
OpenID string `orm:"column(openid);size(64);default('')" json:"openid"`
UnionID string `orm:"column(unionid);size(64);default('')" json:"unionid"`
CreateTime time.Time `orm:"column(create_time);type(datetime);auto_now_add" json:"create_time"`
LastActiveTime *time.Time `orm:"column(last_active_time);type(datetime);null" json:"last_active_time"`
MergedUID uint64 `orm:"column(merged_uid);default(0)" json:"merged_uid"`
MergedTime *time.Time `orm:"column(merged_time);type(datetime);null" json:"merged_time"`
}
func (*GuestUser) TableName() string { return "yz_guest_user" }
// GuestData 游客通用数据行:一条业务条目 = 一行 JSON 文档。
// module 取值与免登录业务对应(notebook / schedule / passwordStore / …),
// 新模块直接复用本表,无需再加业务表。
type GuestData struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
GuestID uint64 `orm:"column(guest_id)" json:"guest_id"`
Module string `orm:"column(module);size(50)" json:"module"`
Payload string `orm:"column(payload);type(text)" json:"payload"`
IsDeleted int8 `orm:"column(is_deleted);default(0)" json:"is_deleted"` // 0正常 1已删除 2已合并
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 (*GuestData) TableName() string { return "yz_guest_data" }