数据模型
此目录包含应用程序的数据库模型定义,使用GORM作为ORM框架:
模型说明
base.go
: 包含基础模型结构robot.go
: 微信机器人模型,保存容器信息和微信账号信息contact.go
: 联系人模型,包括好友和群组group_member.go
: 群成员模型,存储群成员信息message.go
: 消息模型,存储聊天记录db.go
: 数据库连接及初始化
数据模型关系
- 一个机器人(Robot)有多个联系人(Contact)
- 一个群组(Contact中type为group)有多个群成员(GroupMember)
- 消息(Message)关联到机器人和联系人,记录具体的聊天内容
使用方法
初始化数据库连接:
import (
"github.com/Lxh/wechat-demo/internal/config"
"github.com/Lxh/wechat-demo/internal/model"
)
func main() {
cfg, _ := config.Load()
err := model.InitDB(&cfg.Database)
if err != nil {
panic(err)
}
// 使用DB实例
db := model.GetDB()
// ...
}