package model import ( "context" "git.icechen.cn/monorepo/backend/pkg/orm" ) type User struct { NickName string `json:"nick_name" gorm:"column:nick_name"` // 用户昵称 AvatarUrl string `json:"avatar_url" gorm:"column:avatar_url"` // 用户头像图片的 URL。URL 最后一个数值代表正方形头像大小(有 0、46、64、96、132 数值可选,0 代表 640x640 的正方形头像,46 表示 46x46 的正方形头像,剩余数值以此类推。默认132),用户没有头像时该项为空。若用户更换头像,原有头像 URL 将失效。 Openid string `json:"openid" gorm:"column:openid"` // 用户唯一标识 SessionKey string `json:"session_key" gorm:"column:session_key"` // 会话密钥 Typeid string `json:"typeid" gorm:"column:typeid"` // 某个小程序的唯一id,配置文件里面的key } func (m *User) TableName() string { return "user" } func GetUserInfo(ctx context.Context, typeId, openId string) (*User, error) { db, err := orm.GetContextDB(ctx) if err != nil { return nil, err } i := new(User) affected := db.First(i, "typeid = ? AND openid = ?", typeId, openId).RowsAffected if affected == 1 { return i, nil } return nil, nil } func NewUser(ctx context.Context, user *User) error { db, err := orm.GetContextDB(ctx) if err != nil { return err } if err = db.Create(user).Error; err != nil { return err } return nil }