随着跨境独立站的流行,中英双语的公司官网越来越受到重视。 此项目是基于开源CMS开发出的中英文双语外贸企业网站内容管理系统,命名HanCMS HanCMS汉CMS中英双语多语种外贸网站系统,是一个轻量级的网站系统,访问速度极快,使用简单。程序代码简洁严谨,完全免费开源。可用于建设各种类型的中英文网站,同时它是一个小型开发框架. 运行环境 Windows/Linux/macOSandsoon... IIS/Apache/nginx/Lighttpd/Kangle/Tengine/Caddyandsoon... PHP5.28.1 MySQL5+ Windows开发环境安装 注:如果您希望在本...

  lhW9HoiICdLK   2023年11月02日   46   0   0 PHP

这句话的意思是,从隐式的引入模块导入的 比如我使用某个第三方包,这个第三方包里面包含了mysql包 我在代码里直接使用了这个mysql包,但是在go.mod里没有引入,代码里ide是不会报错的,因为能找到代码库,但是运行的时候会报错 这个时候只需要显示的引入一下就可以了 比如提示的goget xxxxx包 gogetgithub.com/go-sql-driver/mysql@v1.5.0   这个时候点开go.mod文件,能看到mysql依赖就ok了 或者我们直接点开go.mod文件,有个报红的错误。直接鼠标移上去点击同步一下,也是可以的。

  lhW9HoiICdLK   2023年11月02日   36   0   0 Go

功能列表 1.即时通讯 2.访客链接 3.公告信息 4.欢迎信息 5.离线信息 5.单点登录 6.浏览器通知 7.邮箱通知 搭建运行环境 Linux环境 逐句执行以下命令 wgethttps://studygolang.com/dl/golang/go1.17.5.linux-amd64.tar.gz tar-C/usr/local-xvfgo1.17.5.linux-amd64.tar.gz mvgo1.17.5.linux-amd64.tar.gz/tmp echo"PATH=\$PATH:/usr/local/go/bin">>/etc/profile echo"PATH=...

  lhW9HoiICdLK   2023年11月02日   57   0   0 Go

渲染模板 我的客服系统后端使用的golangGin框架,想把页面渲染出来,下面就是加载html模板页面 packagerouter funcInitViewRouter(enginegin.Engine){ //关于页面 engine.GET("/aboutus.html",func(cgin.Context){ c.HTML(http.StatusOK,"aboutus.html",gin.H{ "nav":"aboutus", }) }) //演示页面 engine.GET("/show.html",func(cgin.Context){ c.HTML(http.StatusOK,"...

  lhW9HoiICdLK   2023年11月02日   44   0   0 Go

获取微信昵称、头像、OpenID 微信公众号服务号的网页授权功能开发,主要是通过js跳转到一个微信提供的url 然后微信会弹出获取昵称头像的按钮 允许获取后,会回跳到我们的网址上,并且带着一个code参数 我们拿到code参数,调用接口获取到获取到昵称头像、以及openid。这样就拿到了微信客户的主要信息 绑定自有系统 我们数据库会建立一张表,存储一个对应关系 微信openid对应的我们用户的唯一标识,拿到OpenID查询出唯一标识,就能获取到我们自己的用户信息 这样就能直接登录到系统了 实际案例 比如我的唯一在线客服系统(gofly.v1kf.com),客服人员点击模板消息的时候,就是访问以...

  lhW9HoiICdLK   2023年11月02日   88   0   0 Go

自己的客服系统做好了,官网页面也有了,但是没有介绍性的内容文章。网站被收录的太少,这样会导致网站的权重不高,搜索排名比较低。 因此要简单的加上一个小型的内容管理功能。 设计数据库 很简单的两张表,分类表和内容表 DROPTABLEIFEXISTS`cms_cate`; CREATETABLE`cms_cate`( `id`int(11)NOTNULLAUTO_INCREMENT, `cat_name`varchar(50)NOTNULLDEFAULT''COMMENT'分类名称', `created_at`timestampNOTNULLDEFAULTCURRENT_TIMESTAMPCOM...

  lhW9HoiICdLK   2023年11月02日   36   0   0 Go

在我的客服系统项目中,我使用的gin框架没有自带session功能,需要经过下面的整合处理 使用的是  github.com/gin-contrib/sessions 在我的tools包下 packagetools import( "github.com/gin-contrib/sessions" "github.com/gin-contrib/sessions/cookie" "github.com/gin-gonic/gin" ) //中间件,处理session funcSession(keyPairsstring)gin.HandlerFunc{ store:=...

  lhW9HoiICdLK   2023年11月02日   72   0   0 Go

 gobuild 命令好处 我开发了一套在线客服系统源码,使用了gobuild进行编译 在我的在线客服系统使用gobuild命令的主要好处是,它可以将Go程序编译成可执行文件,这样就可以将程序部署到生产环境中。 在生产环境中运行的程序通常是编译后的可执行文件,因为这样可以提高程序的执行效率,并且还可以将源代码隐藏起来,避免被他人查看或篡改。 另外,使用gobuild命令还可以在编译时对程序进行优化,以便在生产环境中提高程序的执行效率。 总之,使用gobuild命令可以使得在线客服系统的Go程序更加高效、可靠,并且更加适合在生产环境中使用。    gobu...

  lhW9HoiICdLK   2023年11月02日   38   0   0 Go

我的客服系统有一些接口是专门给内部调用的,只允许其他内部系统来调用,不允许随意访问,可以使用IP白名单机制 使用Gin框架实现IP白名单机制可以使用中间件的方式实现。你可以编写一个中间件函数,在每个请求到来时检查它的IP地址是否在白名单中,如果不在,则返回错误信息。 例如,你可以这样编写中间件函数: funcIPWhiteList(whitelist[]string)gin.HandlerFunc{ returnfunc(cgin.Context){ //获取请求的IP地址 ip:=c.ClientIP() //检查IP地址是否在白名单中 allowed:=false for_,value:...

  lhW9HoiICdLK   2023年11月02日   112   0   0 Go

我的客服系统使用的Golang+Gin作为后端服务,所以下面的代码是演示demo 在Go语言中使用Gin框架实现WebSocket的方法如下: 安装gin-gonic/websocket库。 在Gin的路由处理函数中使用ws.Upgrade函数将HTTP连接升级为WebSocket连接。 在路由处理函数中使用conn.ReadMessage和conn.WriteMessage函数接收和发送消息。 例如: packagemain import( "net/http" "github.com/gin-gonic/gin" "github.com/gin-gonic/websocket" ...

  lhW9HoiICdLK   2023年11月02日   51   0   0 Go

在访客进入聊天界面的时候,就要调用接口生成一个唯一ID标识 然后前端链接WebSocket的时候,传递这个访客ID进来   如果你想在前端访客连接时生成一个UUID,可以使用Go语言的第三方库来生成UUID。 推荐使用github.com/satori/go.uuid库。它是一个简单易用的UUID生成库,支持生成常用的几种UUID版本。 例如,你可以使用下面的代码生成一个UUIDV4: packagemain import( "fmt" "github.com/satori/go.uuid" ) funcmain(){ u:=uuid.NewV4() fmt.Printf("...

  lhW9HoiICdLK   2023年11月02日   55   0   0 Go

近期开发私有数据知识库功能,想要实现和ChatGPT聊天效果类似的逐字流式输出展示效果。 GPT3.5本身就有流式聊天补全接口,后端Golang对接后,也需要能流式输出。下面就介绍下前端JS后端Golang来实现这种输出效果   大部分介绍是使用EventStream来实现,我现在不使用EventStream也来实现同样的效果 在服务器端需要关闭输出缓冲,使得每次写入的数据能够立即发送给客户端。可以通过调用http.ResponseWriter对象的Flush方法实现。 在客户端需要使用XHR对象或WebSocket对象实现长连接,从而能够接收来自服务器的多次响应。   ...

  lhW9HoiICdLK   2023年11月02日   35   0   0 Go

在Go语言中,读取Excel数据可以使用第三方库github.com/tealeg/xlsx,该库提供了丰富的API,可以方便地读取和操作Excel文件。 以下是一个简单的示例代码,演示了如何使用github.com/tealeg/xlsx库读取Excel文件: import( "fmt" "github.com/tealeg/xlsx" "log" "testing" ) funcTestExcel(ttesting.T){ //打开Excel文件 xlFile,err:=xlsx.OpenFile("1.xlsx") iferr!=nil{ log.Println(err) retur...

  lhW9HoiICdLK   2023年11月02日   35   0   0 Go

之前开发的开源在线客服系统gofly,访客端一直没有展示历史聊天记录,最近抽时间给加上了 实现的效果就是,访客刚进聊天界面,如果存在历史记录,按5条分页,默认查询加载5条聊天记录。 如果历史记录超过5条,顶部出现“点击加载更多”按钮,点击按钮就分页查询历史记录,堆入消息记录数组里。   访客前端js部分,因为历史记录里需要区分是客服发的,还是访客发的,所以进行了判断。 js数组unshift的意思就是往数组前面插入元素 //获取信息列表 getHistoryMessage:function(){ letparams={ page:this.messages.page, pagesi...

  lhW9HoiICdLK   2023年11月02日   49   0   0 Go

公众号服务号每个月只能群发推送四次文章,我们可以使用模板消息为公众号粉丝推送信息 下面是使用golang实现的模板消息发送类库封装,轻松实现模板消息发送 wechat.go packagelib import( "github.com/silenceper/wechat/v2" "github.com/silenceper/wechat/v2/cache" "github.com/silenceper/wechat/v2/officialaccount" offConfig"github.com/silenceper/wechat/v2/officialaccount/config" "g...

  lhW9HoiICdLK   2023年11月02日   49   0   0 Go

函数的功能是从输入的字符串切片中去除重复的元素,并返回去重后的结果。具体的实现逻辑如下: 创建一个空的结果切片result,用于存储去重后的字符串。 创建一个临时的maptempMap,用于存放不重复的字符串。map的键是字符串,值是字节类型。 遍历输入的字符串切片slc中的每个元素e: 首先,获取tempMap的长度,并将其赋值给变量l。 然后,将字符串e作为键,值设置为0,存入tempMap中。 如果加入tempMap后,tempMap的长度发生了变化(即原本不存在的元素被成功添加),则说明该元素是第一次出现,不是重复的。 将该元素e追加到结果切片result中。 遍历完所有元素...

  lhW9HoiICdLK   2023年11月02日   31   0   0 Go

众所周知,我们是访问不通OpenAI官方服务的,但是我们可以自己通过代理或者使用第三方代理访问接口 现在新出台的规定禁止使用境外的AI大模型接口对境内客户使用,所以我们需要使用国内的大模型接口 国内的效果真的很差,现在如果想合规的使用GPT大模型,可以使用微软Azure的OpenAI服务,毕竟微软在中国是有公司的,算是合规的境内公司。   负责任的AI 在微软,我们致力于以人为本的原则推动AI的进步。生成模型(如AzureOpenAI中可用的模型)具有显著的潜在优势,但如果没有仔细的设计和深思熟虑的缓解措施,这样的模型有可能生成不正确甚至有害的内容。微软已经进行了大量投资,以帮助防止...

  lhW9HoiICdLK   2023年11月02日   31   0   0 .NET

在这个系列文章里,我尝试将自己开发唯一客服系统(gofly.v1kf.com)所涉及的经验和技术点进行梳理总结。 文章写作水平有限,有时候会表达不清楚,难免有所疏漏,欢迎批评指正   该系列将分成以下几个部分 一.需求分析 二.初步技术方案选型,验证 三.数据库结构设计 四.WEB访客前端设计与开发 五.WEB客服端设计与开发 六.客户端设计与开发   在这个系列的文章中,您将了解并学习到以下技术知识: MySQL、VUE、WebSocket、Golang+Gin、UniApp等 如果这些技术对您有用,还请您 推荐 一下本文章,谢谢!   什么...

  lhW9HoiICdLK   2023年11月01日   96   0   0 JavaScript

在浏览器访问网站,想在浏览器最新化的情况下,也能收到右下角的消息通知 这个时候就会用到H5Notifications       具体效果可以参照演示页面 演示页面-唯一在线客服系统 实现代码js functionnotify(title,options,callback){ //先检查浏览器是否支持 if(!window.Notification){ console.log("浏览器不支持notify"); return; } console.log("浏览器notify权限:",Notification.permission); //检查用户...

  lhW9HoiICdLK   2023年11月01日   49   0   0 JavaScript

常见的在线客服系统中,或者是统计代码中,粘贴一段js代码,就能引入某个插件的效果。这个是怎么实现的呢?   原理非常的简单: 对于不同的加载文件类型创建不同的节点,然后添加各自的属性,最后扔到head标签里面。 经测试,本方法兼容各浏览器,安全、无毒、环保,是web开发人员工作常备代码。   //动态加载css functiondynamicLoadCss(url){ varhead=document.getElementsByTagName('head')[0]; varlink=document.createElement('link'); link.type='te...

  lhW9HoiICdLK   2023年11月01日   46   0   0 JavaScript
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~