摘要:
vue中的模板变量间隔符是{{}} 但是在很多后端语言里,两个大括号可能被使用了,所以现在想改变间隔符 可以像下面这样操作,使用的时候可以用${} const App = { compilerOptions: { delimiters: ['${', '}'], comments: true },
阅读全文
posted @ 2021-11-08 16:52
唯一客服系统开发笔记
阅读(250)
推荐(0)
摘要:
在实现GOFLY在线克服的过程中,需要实现在线录音发送的功能 特别把这段代码demo抽出来 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <!-- Import style --
阅读全文
posted @ 2021-11-07 23:03
唯一客服系统开发笔记
阅读(1277)
推荐(0)
摘要:
GOFLY,一套可私有化部署的免费开源客服系统,独立部署后,无服务器限制,无域名限制,无坐席限制 网站只需嵌入一段js或跳转直连地址即可快速接入客服,访客端支持电脑、手机页面自适应,全渠道支持,这个项目截止到现在已经更新了一年多时间,github提交了720多次修改,开源版也获取了800多star收
阅读全文
posted @ 2021-11-06 10:32
唯一客服系统开发笔记
阅读(430)
推荐(0)
摘要:
删除所有内容 组合命令为:ggdG gg为跳转到文件首行; dG为删除光标所在行以及其下所有行的内容;d为删除,G为跳转到文件末尾行;
阅读全文
posted @ 2021-11-04 10:57
唯一客服系统开发笔记
阅读(2911)
推荐(0)
摘要:
当开发客服系统安装脚本的时候,需要在shell脚本里面判断当前系统是多少位 32位的系统不支持 可以使用这个命令 getconf LONG_BIT 32位系统下 64位系统下
阅读全文
posted @ 2021-11-04 10:41
唯一客服系统开发笔记
阅读(259)
推荐(0)
摘要:
GOFLY在线客服,是一套可私有化部署的开源客服系统,安装过程不超过五分钟,基于Golang开发,二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的网页在线客服系统,致力于帮助广大开发者/中小站长快速整合私有客服功能 实现js复制文本内容 //复制文本
阅读全文
posted @ 2021-11-02 12:25
唯一客服系统开发笔记
阅读(346)
推荐(0)
摘要:
GOFLY在线客服,是一套可私有化部署的开源客服系统,安装过程不超过五分钟,基于Golang开发,二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的网页在线客服系统,致力于帮助广大开发者/中小站长快速整合私有客服功能 实现浏览器通知提示的效果 浏览器通知
阅读全文
posted @ 2021-11-01 22:20
唯一客服系统开发笔记
阅读(433)
推荐(0)
摘要:
int→stringstring := strconv.Itoa(int) int→int64int64_ := int64(int)int64→stringstring := strconv.FormatInt(int64,10) int→floatfloat := float32(int)flo
阅读全文
posted @ 2021-11-01 15:17
唯一客服系统开发笔记
阅读(910)
推荐(0)
摘要:
之前写过一个gorm执行原生sql,是查询语句的时候,需要获取结果的时候 如果是update 或者 delete这种sql语句的时候,可以使用下面的方式 DB是*gorm.DB结构体指针 db := DB.Exec(sql) err := db.Error if err != nil { log.P
阅读全文
posted @ 2021-11-01 15:06
唯一客服系统开发笔记
阅读(259)
推荐(0)
摘要:
在使用vue框架的elementui开发的时候 遇到了这样的错误 Invalid prop: custom validator check failed for prop "type" 这是因为,这个组件的type属性值写错了,检查一下 有的时候是多了空格,有的时候是固定的几个值,但是自己写错误了
阅读全文
posted @ 2021-11-01 11:49
唯一客服系统开发笔记
阅读(3123)
推荐(0)
摘要:
当进去表的update操作的时候 报错说,不正确的表名 查看日志发现sql语句里面没有表名 需要在update操作的时候,Model()方法指定好要更新的表struct类型 官方的注释 // update all users's name to `hello` db.Model(&User{}).U
阅读全文
posted @ 2021-11-01 11:19
唯一客服系统开发笔记
阅读(143)
推荐(0)
摘要:
在使用Golang开发的过程中,要时刻注意interface{}类型本来存储的是什么类型 当需要强转回原类型时,要能转对 这个错误就是因为我使用gin框架的过程中,c.set()进去的类型和c.get()出来interface{}类型,强转的时候类型不对 c.set进去的是float64 ,我这里需
阅读全文
posted @ 2021-11-01 11:12
唯一客服系统开发笔记
阅读(444)
推荐(0)
摘要:
在布局前端页面的过程中,有使用display: flex来进行弹性布局 任何块,设置了display: flex就变成了弹性容器 设为Flex布局以后,子元素的float、clear和vertical-align属性将失效,变成了一条线 可以设置换行或者不换行 在 Flexbox 模型中,有三个核心
阅读全文
posted @ 2021-10-31 23:25
唯一客服系统开发笔记
阅读(362)
推荐(0)
摘要:
当项目里实现自适应布局的时候,使用到了flex弹性布局 比如左边div 400px,右边div 自适应宽度 可以这样实现 .guideContent{ display: flex; } .guideContent .left{ width: 400px; background: #fff; marg
阅读全文
posted @ 2021-10-31 20:54
唯一客服系统开发笔记
阅读(195)
推荐(0)
摘要:
gin框架实现websocket服务非常简单,只需要升级一下http请求,就可以实现了 比如下面的控制器部分代码 //包级变量,升级器 var upgrader = websocket.Upgrader{} func init() { //初始化 upgrader = websocket.Upgra
阅读全文
posted @ 2021-10-28 18:24
唯一客服系统开发笔记
阅读(340)
推荐(0)
摘要:
当有验证需求是,传递的多个字段,必须有一个有值 这时候就可以使用required_without_all 来实现 $rules = [ 'student_id' => 'required_without_all:student_id,ucid|integer', 'ucid' => 'require
阅读全文
posted @ 2021-10-28 16:06
唯一客服系统开发笔记
阅读(337)
推荐(0)
摘要:
项目为了提升性能 需要select查询的时候,读取从库mysql数据 插入修改的时候,操作主库mysql数据 在laravel中只需要配置一下就可以实现 read就是从库的连接信息,write就是主库的连接信息,在.env里可以进行配置 'mysql' => [ 'driver' => 'mysql
阅读全文
posted @ 2021-10-28 15:28
唯一客服系统开发笔记
阅读(199)
推荐(0)
摘要:
还是因为上一个join优化的问题,项目使用laravel框架 但是框架自身的join()方法并不能使用 STRAIGHT_JOIN stackoverflow 同名问题,查到的方法 mysql - Is there a way to create a STRAIGHT_JOIN using Lara
阅读全文
posted @ 2021-10-27 17:31
唯一客服系统开发笔记
阅读(201)
推荐(0)
摘要:
在优化join查询的过程中 需要理解MySQL对多表连接的处理方式,首先MySQL优化器要确定以谁为驱动表,也就是说以哪个表为基准,在处理此类问题时,MySQL优化器采用了简单粗暴的解决方法:哪个表的结果集小,就以哪个表为驱动表,当然MySQL优化器实际的处理方式会复杂许多。 MySQL优化器选择小
阅读全文
posted @ 2021-10-27 16:48
唯一客服系统开发笔记
阅读(148)
推荐(0)
摘要:
项目里有条sql语句使用inner join 语句 但是在增加了order by 左表.字段 desc 后效率非常慢 查询explain 如下: 左表字段last_follow_time是有索引的,排序时但是并没有走索引,出现了Using temporary; Using filesort 这是因为
阅读全文
posted @ 2021-10-27 11:34
唯一客服系统开发笔记
阅读(450)
推荐(0)
摘要:
go中使用大括号{} 包起来的就是一个代码块,这里面定义的局部变量只在这个代码块中起作用 所有Go源文本的整体块,是全域代码块。 任何一个package都是一个所有package源文件包含的包块,也被称为package代码块。比如package model。 每一个源文件都是一个代码块,也被称为源码
阅读全文
posted @ 2021-10-27 10:13
唯一客服系统开发笔记
阅读(348)
推荐(0)
摘要:
当项目里面使用paginate()函数进行分页,并且使用了distinct函数进行去重 这个时候自动查询的count语句并没有增加distinct语句 需要指定好字段,这样就可以解决这个问题了 例如 ->distinct("xxxx.id");
阅读全文
posted @ 2021-10-26 19:21
唯一客服系统开发笔记
阅读(279)
推荐(0)
摘要:
有时候我们需要记录下请求和响应的全部参数 这样可以方便排查问题 现在通过中间件的形式增加一个AccessLog的记录功能 app\Http\Middleware目录下增加AccessLog.php 文件 <?php namespace App\Http\Middleware; use Closure
阅读全文
posted @ 2021-10-26 18:11
唯一客服系统开发笔记
阅读(210)
推荐(0)
摘要:
当出现这种异常的时候 一般都是访问路由写错了 或者get/post访问方法错了 可以列出所有路由检查一下 php artisan route:list
阅读全文
posted @ 2021-10-26 11:04
唯一客服系统开发笔记
阅读(434)
推荐(0)
摘要:
在开发在线客服代码GOFLY的时候,有用到很多全局变量 GO语言中全局变量的基本概念是这样的 在golang中,全局变量的生命周期属于整个包,这个和C不同,因为C语言没有包的概念。 在golang的main包中,main包定义的全局变量无法被其他包引用。 如果想使用全局变量,建议在其他包中定义并进行
阅读全文
posted @ 2021-10-26 10:06
唯一客服系统开发笔记
阅读(384)
推荐(0)
摘要:
当进行布局的时候,有时候需要div元素根据屏幕的宽度和高度进行自适应,而不是根据内容 除了使用js方法之外,还可以使用css3的新单位 vh wh 1vh=视窗高度的1%,height: 100vh;就是屏幕高度的100% 1vw=视窗宽度的1%,width: 100vw;就是屏幕宽度的100% v
阅读全文
posted @ 2021-10-24 15:02
唯一客服系统开发笔记
阅读(285)
推荐(0)
摘要:
在开发GOFLY客服前端界面的过程中,实现下面这个效果主要是使用了css的 overflow-y属性 核心代码如下面的代码,设定高度,然后增加overflow-y: auto; <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"
阅读全文
posted @ 2021-10-24 14:24
唯一客服系统开发笔记
阅读(152)
推荐(0)
摘要:
开发websocket应用,最难处理的就是断线后的自动重连 现在GOFLY在线客服使用reconnect-websocket.js就可以非常简单轻松的实现断线重连 reconnect-websocket.js的机制是,当连接websocket服务的过程中,如果连不上,会自动进行指定次数的重试 如果连
阅读全文
posted @ 2021-10-23 17:47
唯一客服系统开发笔记
阅读(384)
推荐(0)
摘要:
当使用websocket服务实现在线客服系统GOFLY的时候 如果前端不发送心跳包,在go代码里读取websocket内容时会隔60秒断线一次 并且能看到日志里出现websocket 1006 (abnormal closure) 这个是因为nginx反代后端ws服务的时候,没有设置读取超时时间pr
阅读全文
posted @ 2021-10-23 16:03
唯一客服系统开发笔记
阅读(1041)
推荐(0)
摘要:
在js代码里如果是使用的console.debug调试信息 那么需要在打开开发者工具后,选择输出级别,才会展示debug的信息 默认下面详细没勾,所以不会展示console.debug的信息
阅读全文
posted @ 2021-10-23 14:22
唯一客服系统开发笔记
阅读(184)
推荐(0)
摘要:
vue中的模板分隔符是{{ }} 两个大括号 但是在很多后端语言或者模板中,这个符号有可能被占用了,因此需要修改下 在vue2中可以使用 new Vue({ el: '#app', delimiters:["<{","}>"], 在vue3中需要使用这种方式 const App = { compil
阅读全文
posted @ 2021-10-23 13:56
唯一客服系统开发笔记
阅读(246)
推荐(0)
摘要:
当在实现在线客服系统的过程中,需要在初始化函数里进行一些初始操作 比如需要初始一些属性值,这个时候在created中进行的比较多 但是当使用一些组件的时候,需要html模板渲染完成后才能操作的,这个时候在mounted中进行操作
阅读全文
posted @ 2021-10-23 13:20
唯一客服系统开发笔记
阅读(113)
推荐(0)
摘要:
GOFLY在线客服的对话框样式是类似微信那样的有个小尖角的样式 可以:before :after 以及border-right-color等边框样式实现 demo如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <ti
阅读全文
posted @ 2021-10-22 10:18
唯一客服系统开发笔记
阅读(366)
推荐(0)
摘要:
当有复杂sql语句的时候,我们需要执行原生sql语句,这样更加方便 比如下面的这条sql语句 //查询每天条数 type EveryDayNum struct { Day string `json:"day"` Num int64 `json:"num"` } func CountVisitorsE
阅读全文
posted @ 2021-10-17 15:30
唯一客服系统开发笔记
阅读(1724)
推荐(0)
摘要:
当有统计每天的数据条数的时候,可以直接一句sql语句实现 比如字段updated_at是时间日期格式,那么DATE_FORMAT(updated_at,'%Y-%m-%d') as day 配合group by day 就能实现 select DATE_FORMAT(updated_at,'%Y-%
阅读全文
posted @ 2021-10-17 15:25
唯一客服系统开发笔记
阅读(1672)
推荐(0)
摘要:
当使用mysql的时候 我们有时候需要进行特定的in查询,这个时候可能需要先把想要in的数据,拼接成一条逗号分割的数据 类似这样 select * from admin where id in (1,2,3) 这个时候可以通过sql语句操作一下,取出拼接好的1,2,3 select GROUP_CO
阅读全文
posted @ 2021-10-16 16:15
唯一客服系统开发笔记
阅读(527)
推荐(0)
摘要:
当有数据导出需求的时候 我们直接写sql语句就能实现 但是有时候mysql中存储的数值太大了,在excel里面会变成科学计数法,如果超过了64位的话,那么还会丢失精度 需要在sql语句中concat 拼接一个\t 例如这样的sql里的 concat('\t',a.ding_userid), sele
阅读全文
posted @ 2021-10-16 11:49
唯一客服系统开发笔记
阅读(1593)
推荐(0)
摘要:
不需要安装输入法 直接按 win 键+ .点 或者 win键+ ;分号 你get了吗✔
阅读全文
posted @ 2021-10-14 10:05
唯一客服系统开发笔记
阅读(2778)
推荐(0)
摘要:
在好几个月之前申请了下GOFLY在线客服系统的软件著作权 现在正式发证书了😎✌
阅读全文
posted @ 2021-10-13 13:11
唯一客服系统开发笔记
阅读(180)
推荐(0)
摘要:
经常在代码中我们需要实现数组排序,或者数组过滤,或者数组查找类似查找数据库一样的用法 可以使用collect $items=[ ["num"=>17,"status"=>0,"grade"=>5], ["num"=>17,"status"=>2,"grade"=>4], ["num"=>7,"sta
阅读全文
posted @ 2021-10-13 09:57
唯一客服系统开发笔记
阅读(705)
推荐(0)