Documentation ¶
Index ¶
- func Cli() *qmgo.Client
- func CreateAgent(ctx context.Context, msg *Agent) (id string, err error)
- func CreateMessage(ctx context.Context, msg *Message)
- func CreateVisitor(ctx context.Context, visitor *Visitor) (id string, err error)
- func DB(database ...string) *qmgo.Database
- func GetAgentCollection() *qmgo.Collection
- func GetMessageCollection() *qmgo.Collection
- func GetUserCollection() *qmgo.Collection
- func GetVisitorCollection() *qmgo.Collection
- func GetVisitorNicks(ctx context.Context, ids []string) (nickmap map[string]string, err error)
- func UpsertAgent(ctx context.Context, agentID string, agent *Agent) (id string, err error)
- func UpsertVisitor(ctx context.Context, visitor *Visitor) (id string, err error)
- type Agent
- type DefaultField
- type Message
- func FindMessageByVisitorID(ctx context.Context, id string) ([]*Message, error)
- func FindMessageByVisitorIDWithPaging(ctx context.Context, id string, pageNum, pageSize int64) ([]*Message, error)
- func GetLastMessageByVisitorID(ctx context.Context, id string) (*Message, error)
- func GetLastMessagesByVisitorIDs(ctx context.Context, ids []string) ([]*Message, error)
- type User
- type Visitor
- type WorkingTime
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateMessage ¶
func CreateVisitor ¶
func GetAgentCollection ¶
func GetAgentCollection() *qmgo.Collection
func GetMessageCollection ¶
func GetMessageCollection() *qmgo.Collection
func GetUserCollection ¶
func GetUserCollection() *qmgo.Collection
func GetVisitorCollection ¶
func GetVisitorCollection() *qmgo.Collection
func GetVisitorNicks ¶
func UpsertAgent ¶
Types ¶
type Agent ¶
type Agent struct { DefaultField `bson:",inline"` UserID string `bson:"userID" json:"userID"` Status int `bson:"status" json:"status"` Online bool `bson:"online" json:"online"` Blocked bool `bson:"blocked" json:"blocked"` }
Agent 客服
type DefaultField ¶
type DefaultField struct { ID primitive.ObjectID `bson:"_id" json:"id"` CreatedAt time.Time `bson:"createdAt" json:"createdAt"` UpdatedAt time.Time `bson:"updatedAt" json:"updatedAt"` }
func (DefaultField) CustomFields ¶
func (DefaultField) CustomFields() field.CustomFieldsBuilder
type Message ¶
type Message struct { DefaultField `bson:",inline"` AgentID string `bson:"agentID" json:"agentID"` // 客服ID VisitorID string `bson:"visitorID" json:"visitorID"` // 访客ID SenderID string `bson:"senderID" json:"senderID"` // 发送者ID Type string `bson:"type" json:"type"` // 消息类型 Content map[string]interface{} `bson:"content" json:"content"` // 消息内容 Status int `bson:"status" json:"status"` // 消息状态 }
Message 消息
func FindMessageByVisitorID ¶
type User ¶
type User struct { DefaultField `bson:",inline"` Username string `bson:"username" json:"username"` Nickname string `bson:"nickname" json:"nickname"` Phone string `bson:"phone" json:"phone"` Email string `bson:"email" json:"email"` Password string `bson:"password" json:"-"` Avatar string `bson:"avatar" json:"avatar"` Language string `bson:"language" json:"language"` IsAdmin bool `bson:"isAdmin" json:"isAdmin"` }
User 账号
type Visitor ¶
type Visitor struct { DefaultField `bson:",inline"` Domain string `bson:"domain" json:"domain"` Refer string `bson:"refer" json:"refer"` Token string `bson:"token" json:"token"` Nickname string `bson:"nickname" json:"nickname"` Email string `bson:"email" json:"email"` Phone string `bson:"phone" json:"phone"` Geo string `bson:"geo" json:"geo"` IP string `bson:"ip" json:"ip"` Country string `bson:"country" json:"country"` City string `bson:"city" json:"city"` AgentID string `bons:"agentID" json:"agentID"` }
Visitor 访客
func GetVisitorByID ¶
type WorkingTime ¶
type WorkingTime struct { DefaultField `bson:",inline"` InboxID string // 用于区分不同渠道下不同的设定 CloseByHolidays []string // 公共的假期:不区分年,应该是一个常规的日期:月/日 CloseByDates []string // 自定义假期:具体的日期:年/月/日 StartWeek int // 周几开始 EndWeek int // 周几结束 StartTime string // 每天几点开始 EndTime string // 每天几点结束 }
WorkingTime 客服工作时段设定
Click to show internal directories.
Click to hide internal directories.