215 lines
5.7 KiB
Go
215 lines
5.7 KiB
Go
package customerservice
|
|
|
|
import (
|
|
gvaGlobal "git.echol.cn/loser/lckt/global"
|
|
"git.echol.cn/loser/lckt/model/system"
|
|
"git.echol.cn/loser/lckt/plugin/customerservice/model"
|
|
"git.echol.cn/loser/lckt/plugin/customerservice/router"
|
|
"git.echol.cn/loser/lckt/plugin/customerservice/service/ws"
|
|
"git.echol.cn/loser/lckt/plugin/plugin-tool/utils"
|
|
"github.com/gin-gonic/gin"
|
|
"go.uber.org/zap"
|
|
)
|
|
|
|
type CustomerServicePlugin struct {
|
|
}
|
|
|
|
func CreateCustomerServicePlug() *CustomerServicePlugin {
|
|
go func() {
|
|
err := gvaGlobal.GVA_DB.AutoMigrate(model.SysService{},
|
|
model.SysServiceMsg{},
|
|
model.SysServiceRecord{},
|
|
model.SysServiceReply{},
|
|
model.SysServiceScript{},
|
|
model.SysTestUser{})
|
|
if err != nil {
|
|
gvaGlobal.GVA_LOG.Error("自动创建表失败", zap.Error(err))
|
|
} else {
|
|
gvaGlobal.GVA_LOG.Info("自动创建表成功")
|
|
}
|
|
}() // 此处可以把插件依赖的数据库结构体自动创建表 需要填写对应的结构体
|
|
// 下方会自动注册菜单 第一个参数为菜单一级路由信息一般为定义好的组名 第二个参数为真实使用的web页面路由信息
|
|
// 具体值请根据实际情况修改
|
|
utils.RegisterMenus(
|
|
system.SysBaseMenu{
|
|
Path: "service",
|
|
Name: "客服管理",
|
|
Hidden: false,
|
|
Component: "view/routerHolder.vue",
|
|
Sort: 4,
|
|
Meta: system.Meta{
|
|
Title: "客服管理",
|
|
Icon: "service",
|
|
},
|
|
},
|
|
system.SysBaseMenu{
|
|
Path: "index",
|
|
Name: "客服列表",
|
|
Hidden: false,
|
|
Component: "plugin/customerservice/view/service/index.vue",
|
|
Sort: 1,
|
|
Meta: system.Meta{
|
|
Title: "客服列表",
|
|
Icon: "service",
|
|
},
|
|
},
|
|
system.SysBaseMenu{
|
|
Path: "script/list",
|
|
Name: "客服话术",
|
|
Hidden: false,
|
|
Component: "plugin/customerservice/view/script/index.vue",
|
|
Sort: 2,
|
|
Meta: system.Meta{
|
|
Title: "客服话术",
|
|
Icon: "document",
|
|
},
|
|
},
|
|
system.SysBaseMenu{
|
|
Path: "reply/list",
|
|
Name: "自动回复",
|
|
Hidden: false,
|
|
Component: "plugin/customerservice/view/reply/index.vue",
|
|
Sort: 3,
|
|
Meta: system.Meta{
|
|
Title: "自动回复",
|
|
Icon: "bell-filled",
|
|
},
|
|
},
|
|
)
|
|
|
|
// 下方会自动注册api 以下格式为示例格式,请按照实际情况修改
|
|
utils.RegisterApis(
|
|
//system.SysApi{
|
|
// Path: "/service/ws",
|
|
// Description: "用户连接接口",
|
|
// ApiGroup: "客服管理",
|
|
// Method: "GET",
|
|
//},
|
|
//system.SysApi{
|
|
// Path: "/service/serve_ws",
|
|
// Description: "客服连接接口",
|
|
// ApiGroup: "客服管理",
|
|
// Method: "GET",
|
|
//},
|
|
//system.SysApi{
|
|
// Path: "/service/send_msg",
|
|
// Description: "发送消息接口",
|
|
// ApiGroup: "客服管理",
|
|
// Method: "POST",
|
|
//},
|
|
//system.SysApi{
|
|
// Path: "/service/get_msg_list",
|
|
// Description: "消息列表",
|
|
// ApiGroup: "客服管理",
|
|
// Method: "GET",
|
|
//},
|
|
//system.SysApi{
|
|
// Path: "/service/get_msg_user",
|
|
// Description: "客服聊天用户列表",
|
|
// ApiGroup: "客服管理",
|
|
// Method: "GET",
|
|
//},
|
|
//system.SysApi{
|
|
// Path: "/service/get_kf_info",
|
|
// Description: "当前客服详情",
|
|
// ApiGroup: "客服管理",
|
|
// Method: "GET",
|
|
//},
|
|
//system.SysApi{
|
|
// Path: "/service/set_msg_view",
|
|
// Description: "设置已读",
|
|
// ApiGroup: "客服管理",
|
|
// Method: "GET",
|
|
//},
|
|
system.SysApi{
|
|
Path: "/service/get_service_list",
|
|
Description: "后台客服列表",
|
|
ApiGroup: "客服管理",
|
|
Method: "GET",
|
|
},
|
|
system.SysApi{
|
|
Path: "/service/save_service",
|
|
Description: "后台客服新增/更新",
|
|
ApiGroup: "客服管理",
|
|
Method: "POST",
|
|
},
|
|
system.SysApi{
|
|
Path: "/service/delete_service",
|
|
Description: "删除客服",
|
|
ApiGroup: "客服管理",
|
|
Method: "DELETE",
|
|
},
|
|
system.SysApi{
|
|
Path: "/service/find_service",
|
|
Description: "客服详情",
|
|
ApiGroup: "客服管理",
|
|
Method: "GET",
|
|
},
|
|
system.SysApi{
|
|
Path: "/service/get_script_list",
|
|
Description: "客服话术列表",
|
|
ApiGroup: "客服管理",
|
|
Method: "GET",
|
|
},
|
|
system.SysApi{
|
|
Path: "/service/save_script",
|
|
Description: "客服话术新增/更新",
|
|
ApiGroup: "客服管理",
|
|
Method: "POST",
|
|
},
|
|
system.SysApi{
|
|
Path: "/service/delete_script",
|
|
Description: "删除客服话术",
|
|
ApiGroup: "客服管理",
|
|
Method: "DELETE",
|
|
},
|
|
system.SysApi{
|
|
Path: "/service/find_script",
|
|
Description: "客服话术详情",
|
|
ApiGroup: "客服管理",
|
|
Method: "GET",
|
|
},
|
|
system.SysApi{
|
|
Path: "/service/auto_reply_list",
|
|
Description: "自动回复列表",
|
|
ApiGroup: "客服管理",
|
|
Method: "GET",
|
|
},
|
|
system.SysApi{
|
|
Path: "/service/save_reply",
|
|
Description: "自动回复新增/更新",
|
|
ApiGroup: "客服管理",
|
|
Method: "POST",
|
|
},
|
|
system.SysApi{
|
|
Path: "/service/delete_reply",
|
|
Description: "删除自动回复",
|
|
ApiGroup: "客服管理",
|
|
Method: "DELETE",
|
|
},
|
|
system.SysApi{
|
|
Path: "/service/find_reply",
|
|
Description: "自动回复详情",
|
|
ApiGroup: "客服管理",
|
|
Method: "GET",
|
|
},
|
|
system.SysApi{
|
|
Path: "/service/admin_login",
|
|
Description: "进入客服工作台",
|
|
ApiGroup: "客服管理",
|
|
Method: "GET",
|
|
},
|
|
)
|
|
go ws.Manager.Start()
|
|
go ws.Manager.CheckClientActivity()
|
|
return &CustomerServicePlugin{}
|
|
}
|
|
|
|
func (*CustomerServicePlugin) Register(group *gin.RouterGroup) {
|
|
router.RouterGroupApp.InitCustomerServiceRouter(group)
|
|
}
|
|
|
|
func (*CustomerServicePlugin) RouterPath() string {
|
|
return ""
|
|
}
|