客服源码是使用Golang(又称Go)开发的,Go是Google公司开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。Go 天生支持并发。好处太多就不多说了。
全源码客服系统用户,想要针对自己的业务,进行二次开发,那么就需要了解一下我们客服系统的开发逻辑,从而进行定制化的功能开发。
系统架构:Golang Gin框架 + MySQL + 前端 ElementUI
前端二开需求
想要修改前端界面,删除某些功能,或修改某些文字,可以查看下面介绍
我们的前端是传统的开发模式,不是node编译后部署形式,前端没有独立的项目
所有展示的页面地址,都是后端的地址,后端把前端html模板页渲染出来展示
渲染前端页面的原理
Gin框架引入并渲染前端页面后,前端页面就是传统的开发模式了,可以引入js写样式等
Golang Gin框架展示一个静态页面,是在路由处理中加载模板页面。在./router/view.go中是所有与前端页面展示有关的逻辑。
如果访问地址是 /douyin.html ,那么路由处理类似下面。页面模板地址位于 ./static/templates/下
//前台页面
engine.GET("/douyin.html", func(c *gin.Context) {
c.HTML(http.StatusOK, "douyin.html", gin.H{})
})
-
修改访客聊天页
前端页面地址位于 ./static/templates/default/chat_page.html
想要删除或隐藏某些工具栏上的按钮,可以直接在页面里找到元素位置,直接删除掉。
如果找不到元素的位置,可以直接在模板文件中搜索页面中不可变的字符串,比如下面的class属性,不可动态引入的
寻找其他元素位置,可以同理直接在 ./static/templates/下全局搜索
对接开发需求
SSO单点登录第三方系统接入
第三方系统单点登录客服系统,例如第三方商城系统或者是其他内部CRM系统,与客服系统进行对接。
- 第三方系统账号与客服账号绑定
首先商家账号与客服账号需要绑定,可以设置账号名一致,或者自行创建绑定关系表
管理员在系统配置中,设置IP白名单,只有白名单中的服务才可以访问下面的接口
- 通过内部接口获取token
GET请求
域名/other/internalToken?account=客服账号
这时可以得到token,拿着token往下面的链接跳转
- 通过SSO接口跳转到客服系统指定页面
GET /sso?token=【token】&redirect=【跳转地址】
例如:/sso?token=xxxxxxxxxx&redirect=/main