首页 > 其他分享 >golang在线客服系统二次开发

golang在线客服系统二次开发

时间:2024-08-19 13:53:59浏览次数:11  
标签:客服 前端 系统 golang token html 二次开发 页面

客服源码是使用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{})
})
  1. 修改访客聊天页

前端页面地址位于 ./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

标签:客服,前端,系统,golang,token,html,二次开发,页面
From: https://www.cnblogs.com/taoshihan/p/18367171

相关文章

  • 智能在线客服系统
    大家好,首先介绍下自己,我是一名独立开发者。从13年开始工作到现在有10+年工作经验,其中16年到21年一直在新浪做PHP开发工作,21年以后在另一家公司离职后就一直独立开发自主创业了。工作以来一直是后端开发,前端也还可以。创业后,开发一款在线客服系统产品(gofly.v1kf.com),该系统后端采......
  • 抖音企业号私信客服系统
    基于抖音开放平台官方接口,授权接入有两种方式:登录注册页面,直接抖音扫码登入后台前往【菜单】【团队设置】【抖音接入】【扫码授权】,这个地方可以在一个客服账号下绑定多个抖音,方便统一管理和回复扫描抖音的授权码,可以将当前客服账号与抖音账号进行绑定 普通个人号授权:......
  • Golang杂谈-gorm集成雪花id
    gogetgithub.com/bwmarrin/snowflakepackagemainimport( "fmt" "github.com/bwmarrin/snowflake")funcmain(){ //CreateanewNodewithaNodenumberof1 node,err:=snowflake.NewNode(1) iferr!=nil{ fmt.Println(er......
  • ESP32(WiFi&BLE)+4G摄像头视频语音模块-二次开发环境搭建
    <p><iframename="ifd"src="https://mnifdv.cn/resource/cnblogs/product/audioCamera.html"frameborder="0"scrolling="auto"width="100%"height="1500"></iframe></p>  安装串口......
  • Jupyter 二次开发思路(1)
    上篇文章介绍了Jupyter生态及重要组件的原理。基于之前的内容,本文介绍Jupyter二次开发的思路。首先介绍项目的需求,接着进一步介绍架构设计,进行demo的实现,最后进行总结。需求实现图数据管理分析BI平台的NotebookService,具备数据的探索、执行分析任务、sql操作、sp......
  • 区块链编程golang(五)—钱包
     block/block.gopackageblockchainimport("bytes""crypto/sha256""encoding/gob""log")typeBlockstruct{Hash[]byteTransactions[]*TransactionPrevHash[]byte......
  • 基于gobot框架在BBB Debian运行的GoLang程序
    为了让GoLang与BBB(BeagleBoneBlack开发板)搭配使用,我们借助了gobot机器上框架(查阅“参考资料”里的链接),在BBBDebian系统上运行go程序来控制硬件,下面是我们的整个入门配置和测试记录(在PCUbuntu系统下进行):1.获取gobot源码  goget-d-ugithub.com/hybridgroup/gobot/...&......
  • Golang使用Option设计模式优雅处理可选参数
    go语言不像其他语言函数的参数可以设置默认值以下是参考第三方库的写法packagemainimport"fmt"typeUserstruct{namestringageintidint}//Option代表可选参数typeOptionfunc(foo*User)//WithName为name字段提供一个设置器funcWithName(name......
  • golang json inline用法
    packagemainimport( "encoding/json" "fmt")typeProjectstruct{ Keystring`json:"key"` Valuestring`json:"value"`}typeJiraHttpReqFieldstruct{ Project`json:",inline"` Summarystring`jso......
  • 区块链编程-golang(三)
    文件目录主文件下有文件blockchain、go.mod、gosum、文件tmp、main.go文件blockhain下面有block.go、blockchain.go、proof.go part1:block.gopackageblockchainimport("bytes""encoding/gob""log")typeBlockstruct{Hash[]b......