自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (1)
  • 收藏
  • 关注

原创 [前端系列] GOFLY在线客服系统源码- 布局中display: flex的意思

在布局前端页面的过程中,有使用display: flex来进行弹性布局任何块,设置了display: flex就变成了弹性容器设为Flex布局以后,子元素的float、clear和vertical-align属性将失效,变成了一条线可以设置换行或者不换行在 Flexbox 模型中,有三个核心概念:– flex 项(注:也称 flex 子元素),需要布局的元素– flex 容器,其包含 f...

2021-10-31 23:25:00 113

原创 [前端系列] GOFLY在线客服系统代码-css属性flex: 1的使用实现自适应

当项目里实现自适应布局的时候,使用到了flex弹性布局比如左边div 400px,右边div 自适应宽度可以这样实现.guideContent{ display: flex;}.guideContent .left{ width: 400px; background: #fff; margin-right: 20px;}.guideContent ...

2021-10-31 20:54:00 178

原创 [Golang系列] GOFLY在线客服系统-gin框架升级http连接为websocket-GO语言实现开源独立部署客服系统...

gin框架实现websocket服务非常简单,只需要升级一下http请求,就可以实现了比如下面的控制器部分代码//包级变量,升级器var upgrader = websocket.Upgrader{}func init() { //初始化 upgrader = websocket.Upgrader{ ReadBufferSize: 1024, ...

2021-10-28 18:24:00 1476

原创 [Laravel系列] 验证规则required_without_all 的使用

当有验证需求是,传递的多个字段,必须有一个有值这时候就可以使用required_without_all 来实现 $rules = [ 'student_id' => 'required_without_all:student_id,ucid|integer', 'ucid' => 'required_without_...

2021-10-28 16:06:00 649

原创 [Laravel系列] 在线客服系统代码优化-配置mysql数据库读写分离

项目为了提升性能需要select查询的时候,读取从库mysql数据插入修改的时候,操作主库mysql数据在laravel中只需要配置一下就可以实现read就是从库的连接信息,write就是主库的连接信息,在.env里可以进行配置 'mysql' => [ 'driver' => 'mysql', 'url' =...

2021-10-28 15:28:00 150

原创 [Laravel系列] 在Laravel ORM 使用STRAIGHT_JOIN

还是因为上一个join优化的问题,项目使用laravel框架但是框架自身的join()方法并不能使用STRAIGHT_JOINstackoverflow 同名问题,查到的方法mysql - Is there a way to create a STRAIGHT_JOIN using Laravel's ORM? - Stack Overflow在组合字段数组的时候,在第一个字段上增...

2021-10-27 17:31:00 183

原创 [MySQL系列] SELECT STRAIGHT_JOIN优化join查询技巧

在优化join查询的过程中需要理解MySQL对多表连接的处理方式,首先MySQL优化器要确定以谁为驱动表,也就是说以哪个表为基准,在处理此类问题时,MySQL优化器采用了简单粗暴的解决方法:哪个表的结果集小,就以哪个表为驱动表,当然MySQL优化器实际的处理方式会复杂许多。MySQL优化器选择小表作为驱动表,但是当我们的排序字段是在大表里,于是乎不可避免的出现了「Using filesort...

2021-10-27 16:48:00 224

原创 [MySQL系列] 使用STRAIGHT_JOIN 优化inner join查询排序索引问题

项目里有条sql语句使用inner join 语句但是在增加了order by 左表.字段 desc 后效率非常慢查询explain 如下:左表字段last_follow_time是有索引的,排序时但是并没有走索引,出现了Using temporary; Using filesort这是因为排序时没有使用左表的字段索引,我们可以强制使用左表作为主表,就可以使用索引了STRAIGHT...

2021-10-27 11:34:00 578

原创 [Golang系列] GOFLY在线客服-代码块和作用域-GO语言实现开源独立部署客服系统

go中使用大括号{} 包起来的就是一个代码块,这里面定义的局部变量只在这个代码块中起作用所有Go源文本的整体块,是全域代码块。任何一个package都是一个所有package源文件包含的包块,也被称为package代码块。比如package model。每一个源文件都是一个代码块,也被称为源码文件代码块。比如:hello.go每一个if、for、switch和select语句都认为它们在...

2021-10-27 10:13:00 211

原创 [Laravel系列] 解决laravel中paginate()与distinct() count语句错误问题

当项目里面使用paginate()函数进行分页,并且使用了distinct函数进行去重这个时候自动查询的count语句并没有增加distinct语句需要指定好字段,这样就可以解决这个问题了例如->distinct("xxxx.id");...

2021-10-26 19:21:00 697

原创 [Laravel系列] 框架中增加记录access log的日志中间件

有时候我们需要记录下请求和响应的全部参数这样可以方便排查问题现在通过中间件的形式增加一个AccessLog的记录功能app\Http\Middleware目录下增加AccessLog.php 文件<?phpnamespace App\Http\Middleware;use Closure;class AccessLog{ /** * 路由全局中间件...

2021-10-26 18:11:00 167

原创 [Laravel系列] 解决Laravel中NotFoundHttpException异常

当出现这种异常的时候一般都是访问路由写错了或者get/post访问方法错了可以列出所有路由检查一下php artisan route:list

2021-10-26 11:04:00 548

原创 [Golang系列] GOFLY在线客服-使用golang中的全局变量-GO语言实现开源独立部署客服系统...

在开发在线客服代码GOFLY的时候,有用到很多全局变量GO语言中全局变量的基本概念是这样的在golang中,全局变量的生命周期属于整个包,这个和C不同,因为C语言没有包的概念。在golang的main包中,main包定义的全局变量无法被其他包引用。如果想使用全局变量,建议在其他包中定义并进行引用。在golang中,局部变量的生命周期属于花括号之内,这和C语言一致。还有,注意全局变量声...

2021-10-26 10:06:00 355

原创 [前端]GOFLY在线客服-使用vh、vw使div元素充满屏幕-GO语言实现开源独立部署客服系统...

当进行布局的时候,有时候需要div元素根据屏幕的宽度和高度进行自适应,而不是根据内容除了使用js方法之外,还可以使用css3的新单位 vh wh1vh=视窗高度的1%,height: 100vh;就是屏幕高度的100%1vw=视窗宽度的1%,width: 100vw;就是屏幕宽度的100%vw、vh 与 % 百分比的区别(1)% 是相对于父元素的大小设定的比率,vw、vh 是视...

2021-10-24 15:02:00 111

原创 [前端] GOFLY在线客服-使用css overflow-y属性实现超出高度出滚动条-GO语言实现开源独立部署客服系统...

在开发GOFLY客服前端界面的过程中,实现下面这个效果主要是使用了css的overflow-y属性核心代码如下面的代码,设定高度,然后增加overflow-y: auto;<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>...

2021-10-24 14:24:00 144

原创 GOFLY在线客服-使用reconnect-websocket.js实现断线自动重连机制-GO语言实现开源独立部署客服系统...

开发websocket应用,最难处理的就是断线后的自动重连现在GOFLY在线客服使用reconnect-websocket.js就可以非常简单轻松的实现断线重连reconnect-websocket.js的机制是,当连接websocket服务的过程中,如果连不上,会自动进行指定次数的重试如果连接成功后回调onOpen方法以后,会把重试次数清空,因此如果是连接已经成功,但是后端主动关闭连接,...

2021-10-23 17:47:00 389

原创 [nginx] 解决nginx反代websocket 1006 (abnormal closure)错误-GOFLY在线客服-GO语言实现开源独立部署客服系统...

当使用websocket服务实现在线客服系统GOFLY的时候如果前端不发送心跳包,在go代码里读取websocket内容时会隔60秒断线一次并且能看到日志里出现websocket 1006 (abnormal closure)这个是因为nginx反代后端ws服务的时候,没有设置读取超时时间proxy_read_timeout,默认是60秒设置的大一些就可以解决这个问题...

2021-10-23 16:03:00 1322

原创 [前端] 浏览器展示调试console.debug输出信息-GOFLY在线客服-GO语言实现开源独立部署客服系统...

在js代码里如果是使用的console.debug调试信息那么需要在打开开发者工具后,选择输出级别,才会展示debug的信息默认下面详细没勾,所以不会展示console.debug的信息...

2021-10-23 14:22:00 175

原创 [前端] vue3中修改模板变量分隔符--GOFLY在线客服-GO语言实现开源独立部署客服系统...

vue中的模板分隔符是{{ }} 两个大括号但是在很多后端语言或者模板中,这个符号有可能被占用了,因此需要修改下在vue2中可以使用new Vue({ el: '#app', delimiters:["<{","}>"],在vue3中需要使用这种方式 const App = { compilerOptions: { ...

2021-10-23 13:56:00 400

原创 [前端] vue中初始化函数created mounted区别--GOFLY在线客服-GO语言实现开源独立部署客服系统...

当在实现在线客服系统的过程中,需要在初始化函数里进行一些初始操作比如需要初始一些属性值,这个时候在created中进行的比较多但是当使用一些组件的时候,需要html模板渲染完成后才能操作的,这个时候在mounted中进行操作...

2021-10-23 13:20:00 79

原创 [前端]实现仿微信聊天对话框边框样式-GOFLY在线客服-GO语言实现开源独立部署客服系统...

GOFLY在线客服的对话框样式是类似微信那样的有个小尖角的样式可以:before :after以及border-right-color等边框样式实现demo如下<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>对话框&l...

2021-10-22 10:18:00 576

原创 [Go] gorm执行原生sql语句

当有复杂sql语句的时候,我们需要执行原生sql语句,这样更加方便比如下面的这条sql语句//查询每天条数type EveryDayNum struct { Day string `json:"day"` Num int64 `json:"num"`}func CountVisitorsEveryDay(toId string) []EveryDayNum { ...

2021-10-17 15:30:00 2004

原创 [MySQL] mysql中实现统计每日数量

当有统计每天的数据条数的时候,可以直接一句sql语句实现比如字段updated_at是时间日期格式,那么DATE_FORMAT(updated_at,'%Y-%m-%d') as day 配合group by day 就能实现select DATE_FORMAT(updated_at,'%Y-%m-%d') as day ,count(*) as num from visitor gr...

2021-10-17 15:25:00 5482

原创 [MySQL] group_concat多行数据合并到一行方便取出来进行in查询

当使用mysql的时候我们有时候需要进行特定的in查询,这个时候可能需要先把想要in的数据,拼接成一条逗号分割的数据类似这样select * from admin where id in (1,2,3)这个时候可以通过sql语句操作一下,取出拼接好的1,2,3select GROUP_CONCAT(id) from mumway_admin where id <10;...

2021-10-16 16:15:00 432

原创 [MySQL] 解决mysql导出excel数值型变成科学计数法问题

当有数据导出需求的时候我们直接写sql语句就能实现但是有时候mysql中存储的数值太大了,在excel里面会变成科学计数法,如果超过了64位的话,那么还会丢失精度需要在sql语句中concat 拼接一个\t例如这样的sql里的concat('\t',a.ding_userid),select a.id, a.username, a.nickname, a.phone...

2021-10-16 11:49:00 1701

原创 [日常] 电脑上输入emoji表情方法

不需要安装输入法直接按win 键+ .点或者win键+ ;分号你get了吗✔

2021-10-14 10:05:00 2150

原创 [Go] 申请成功软件著作权了✌!-GOFLY在线客服系统

在好几个月之前申请了下GOFLY在线客服系统的软件著作权现在正式发证书了????✌

2021-10-13 13:11:00 151

原创 [PHP] laravel中collect数组排序和过滤的使用

经常在代码中我们需要实现数组排序,或者数组过滤,或者数组查找类似查找数据库一样的用法可以使用collect $items=[ ["num"=>17,"status"=>0,"grade"=>5], ["num"=>17,"status"=>2,"grade"=>4], ...

2021-10-13 09:57:00 1809

原创 [Go] 解决packets.go:36: read tcp 127.0.0.1:51139->127.0.0.1:3306: wsarecv: An established connection w...

这是因为数据库的超时时间比较短,连接被mysql服务关闭了程序还在使用旧连接查询数据库比如gorm我们程序里设置下时间旧可以了,时间比超时时间短一些DB.DB().SetConnMaxLifetime(59 * time.Second) DB, err = gorm.Open("mysql", dsn) if err != nil { log.Print...

2021-10-10 12:18:00 1608

原创 [javascript] js格式化时间为xx秒前、xx分钟前、xx小时前等

有时候我项目里需要把时间格式化为xx秒前、xx分钟前、xx小时前等形式可以使用下面这个函数/** * 人性化时间 * @param {Object} timestamp */function beautifyTime(timestamp){ var mistiming = Math.round(new Date() / 1000)-timestamp; var po...

2021-10-05 16:58:00 365

原创 [日常]UserAgent中的AhrefsBot解释

在观察网站的访问者ua信息的时候看到有很多AhrefsBotMozilla/5.0 (compatible; AhrefsBot/7.0; +http://ahrefs.com/robot/)官方网站的介绍总结就是一个对于我们国内用户无用的蜘蛛什么是AhrefsBot?AhrefsBot 是一个 Web 爬虫,为 Ahrefs 在线营销工具集的 12 万亿链接数据库提供支持。它不断抓...

2021-10-04 17:52:00 463

maccms7php.zip

电影站源码苹果CMS,PHP版本的完整版下载,要求PHP版本低于7.0

2019-09-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除