golang
文章平均质量分 58
q平面人
https://github.com/3xxx
QQ504284
我的产品demo https://zsj.itdos.net/
展开
-
【转载】【Go】将切片作为参数传入函数并使用append方法遇到的问题
因为Data是一个指向数组的指针,所以对该指针进行值拷贝时,得到的指针仍指向相同的数组,所以通过拷贝的指针对底层数组进行修改时,原切片的值也会发生相应变化。但是,我们以值传递的方式传递切片结构体的时候,同时也是传递了Len和Cap的值拷贝,因为这两个成员并不是指针,因此,当函数返回时,原切片结构体的Len和Cap并没有改变。在函数中使用append方法,切片的底层数组进行了扩容处理,因此在拷贝切片中,指针指向了新的数组,而原切片并没有指向新的数组,因此原切片不会添加新的值。转载 2024-04-22 00:14:58 · 221 阅读 · 1 评论 -
minio分布式存储的go语言开发衔接
minio这个经典的分布式存储系统,功能强度丰富,利用好它,可以节约很大的开发成本。没必要自己重新造轮子。原创 2023-01-09 20:21:49 · 1098 阅读 · 0 评论 -
vtk.js、three.js在浏览器展示3d图形
对于unstructured grid非格式化网格图形vtk数据,是没有办法在浏览器上展示的。用paraview对vtk进行extract surface后再另存为vtk可以转成polydata类型的vtk,可以在three.js上显示,但不能在vtk.js里显示。vtk+qt的c++开发是比较热门的,不在本文讨论之列。在静态页面中,而不是vue中,可以这样来使用:<!DOCTYPE html><html lang="en"> <head> <原创 2022-01-14 23:18:12 · 3073 阅读 · 6 评论 -
gorm 2.0升级笔记
一般的就不记录了。beego 2.0出错:define a valid foreign key for relations or implement the Valuer/Scanner interface原创 2022-01-02 23:50:40 · 2537 阅读 · 0 评论 -
beego 2.0升级的巨坑,graceful错误
一般的坑就不记录了,这里记录几个巨大的。1.casbin数据表变了(ptype字段名称大小写),所以要删掉原来的表或修改字段beegoormadapter 3.0如下type CasbinRule struct { Id int Ptype string V0 string V1 string V2 string V3 string V4 string V5 string}beegoormadapter 3.0之前如下:原创 2022-01-01 22:29:53 · 2899 阅读 · 0 评论 -
linux上升级golang和编译engineercms记录
linux上golang升级和编译engineercms原创 2021-12-12 12:15:50 · 570 阅读 · 0 评论 -
中文全文检索技术路线(elasticsearch全文检索、中文分词ik、tika解析文档)
总体思路就是用docker安装es和tika服务,在cms里上传word之类文档,用tika解析,得到纯文本,提交给es存储。前端检索,在es里查询,返回高亮文本和结果列表,点击定位到文档打开。es里安装ik插件,用head和postman或curl进行调试。因为首次使用postman,es总是返回说缺少body……错误。解决办法是勾选上head里的length……win下的curl命令,也是,要用双引号,不能用单引号。json文件要存成文本文件,在命令里用@文件名.json,不能在命令里直接带原创 2021-10-20 07:42:15 · 1886 阅读 · 0 评论 -
golang flow工作流引擎-自己挖坑自己填
Flow质量流程挖坑自己填——待完善一、问题和坑1.为何手机上添加后自己却看不到呢因为手机登录后记录微信的openid,每个微信对应唯一的openid,不管这个微信切换哪个用户名来登录“鲁班宝”小程序,它都是一个openid。在engineercms这个服务端,它只记录这一个openid对应第一次登录的用户名。所以,不管用户切换哪个用户,小程序都只认第一次登录用的用户名。因此,当用户添加文章后,小程序里要找出用户id,然后在addquality里将接收groupid设置为这个用户id,他原创 2021-10-04 19:06:18 · 2243 阅读 · 2 评论 -
golang和java之间jwt token解析遇到的坑
坑1:secret长度和 要求,随便写一个不行,比如“hello”这样不行,短了不行,比如“abcdefghijklmnopqrstuvwxyz”这个不行。这个是可行的:“whatthefuck123weishenmebuneng123”坑2:java生成的token,在golang上解析需要encode// 校验token是否有效 返回参数func LubanCheckToken(tokenString string) (userId, userName string, err error)原创 2021-10-01 15:05:22 · 1509 阅读 · 1 评论 -
OnlyOffice6.1.0新体验
前几天在腾讯云linux上用docker pull下来6.1.0版,最新的已经是6.1.1版了,但是用6.1.0指定版本。再导出包,用commit,再save成tar离线包,我的教程上有讲。再用security ftp拷贝到本机,本机再导入这个tar离线包。因为本机网络无法pull,所以就绕了这么个大弯,大家不要学。发现接口没变化,我的cms可以用。新版excel支持数据验证,但只是在线下excel里设置好,Onlyoffice里没发现地方有设置数据有效性。欢迎界面与5.4.?版本有区别原创 2021-01-16 12:24:14 · 1244 阅读 · 10 评论 -
树状数据库表查询2次以上(自连接、内连接、别名、邻接表)方法
https://blog.csdn.net/qq_15058425/article/details/78506193https://blog.csdn.net/qq_43998763/article/details/103528559https://blog.csdn.net/zhangt85/article/details/40544165对于树状结构的数据库表,如何在一个表中查询多次,开始走了不少弯路,比如想尝试用子查询,方向不对。其实就是join查询,改变数据表名称即可。//价值表带原创 2020-09-09 23:42:35 · 617 阅读 · 0 评论 -
Go语言实战流媒体视频网站_调试和修改bug
我将最后修改好的放在了3xxx上了,见下面第一个地址。https://github.com/3xxx/golang-streaming代码来自:https://github.com/alanhou/golang-streaming作者将其架构分成了4个服务:web-api-stream-schedule由于作者未用任何框架,只是引入了route包,所以调试起来对我来讲比较难。一个是模板。一个是错误比较难定位,不想beego等框架。好在都跑起来了。接下来需要增加一个自动建.原创 2020-08-22 07:45:00 · 1160 阅读 · 11 评论 -
gorm聚合查询group结合join和count
场景:engineercms的文章article放在了成果product下面,成果有作者user,以及所属的目录project现在想知道,某个project下的各位作者文章数量。思路就是通过article表来分别join成果product表、user表和project表,然后group里用productid来筛选,最后再用projectid筛选。//项目目录type Project struct { Id int64 `form:"-"` Code原创 2020-08-08 16:45:20 · 5732 阅读 · 0 评论 -
engineercms增加“购物车”借阅资料功能
因为系统是存储文件,那么作为快速设计的知识库,参考其他类似项目的资料成为必然。系统出了设置权限,那么还有分享码功能。必然要有类似档案系统的那种借阅功能,也类似购物平台的购物车,就是选择资料,放入购物车。管理员发送分享码,用户就可以打包下载资源了。用户可以自己查看购物车,待审批,以及借阅历史,管理员可以查看所有用户的借阅情况。...原创 2020-08-05 23:34:53 · 376 阅读 · 0 评论 -
gorm jion查询映射(扫描scan)到新的自定义嵌套结构体struct,必须使用select规定字段,与xorm的jion对比
https://blog.csdn.net/f95_sljz/article/details/103687308gorm的文档对于我来讲比较难看懂,因为一直使用beego嘛。文档对于返回值没有说,要加.Error才是返回错误这个jion是非常好用的,如果不用jion,就要将查出来的结果,循环,赋给新的结构体,写法很不优雅。而xorm的这种操作不需要select字段。如下是xorm的jion:type OnlyOfficeAttach struct { OnlyOffice原创 2020-08-04 19:21:37 · 5407 阅读 · 3 评论 -
小程序上传各种文件,阅览多种格式(word,excel,ppt,pdf)文件
服务端用engineercms,各种文件分类在网站上展示是这样的:可见,有文章,有附件——word格式等,有pdf格式。小程序支持阅览多种office格式文件官方列出有:https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.openDocument.htmldoc doc 格式 docx docx 格式 xls xls 格式 xlsx xlsx 格式 ...原创 2020-06-25 22:51:50 · 3254 阅读 · 1 评论 -
ONLYOFFICE 5.5 API变化
ChangelogThe list of changes of ONLYOFFICE Document Server API.Version 5.5Added theeditorConfig.customization.spellcheckfield. Conversiondocument,spreadsheet,presentationtopdfaformat. Added theevents.onRequestCompareFileevent. Added the...原创 2020-06-20 14:54:30 · 1578 阅读 · 2 评论 -
Onlyoffice不打开文档的情况下下载正在编辑的文档
根据网友的提示,原理是利用command service功能,发送一个请求给oo服务,oo会立刻自动执行forcesave动作,并将文档地址等信息发给文档管理平台,即callback。发送command请求是post,json要放到request body中。{ "c": "forcesave", "key": "Khirz6zTPdfd7", "userda...原创 2020-04-10 21:34:38 · 3470 阅读 · 0 评论 -
engineercms分享文件提取码-完结
虽然有蓝眼网盘参考,可还是费了九牛二虎之力,折腾了一个多星期,总算弄好。遇到以下几个问题: 1.香港那个商人说地段地段还是地段,前端,前端,前端,为了致敬(toulan)蓝眼网盘,干脆就在它上面改了,不过原版的是vue.js,我直接改html,也是醉了。因为vue.js需要打包,很麻烦,没html来得直接。 2.上图中点击1位置,展开,先关闭所有的,再展开当前这个。 用docum...原创 2020-03-08 13:40:38 · 1121 阅读 · 0 评论 -
engineercms分享文件提取码-参考蓝眼云盘
因为蓝眼云盘也是采用go语言+gorm编写的,所以参考起来稍微轻松一点。主要还是了解如何通过一段提取码就能取到文件的访问权。生成一个分享文件uuid和提取码code。服务端接受选择的文件或文件夹id,随机生成一个share uuid和提取码code,返回给页面:服务端写入数据表share和bridge,前者存share uuid和分享者id,及过期时间expiretime,还有是否永久有效。后...原创 2020-03-01 23:44:49 · 1316 阅读 · 0 评论 -
engineercms文章页采用wordpress风格
先上图:把用户的头像处理好了,如果没有头像就用默认的代替,其实应该用随机生成一个的……。添加了2个悬浮的半透明按钮:修改和删除。最下方的评论以及对评论的评论,以及对评论的点赞……太多了,暂时没去处理了。总之很喜欢这个风格,比之前csdn抄的代码容易修改,效果还更好。...原创 2020-02-07 15:07:07 · 492 阅读 · 0 评论 -
微信小程序赞赏功能,非微信赞赏功能
利用微信赞赏码是可以起到赞赏的目的,但是,某些时候需要通过平台来赞赏呢。当用户选中金额后,出现确定按钮:用户赞赏的记录:可以检索标准,并可以分享到朋友和群:设计资料的分类:按行业、环境、材料等...原创 2019-11-17 23:24:29 · 2076 阅读 · 0 评论 -
gorm多条数据级联查询关联查询gorm连接池gorm事务
因为gorm支持级联查询。xorm的jion查询虽然很棒,但是查出来的不能生成嵌套结构体。而gorm就可以,经过摸索,这种关联啊,预加载啊,虽然没搞清楚他们之间的区别,但总算能满足自己的查询需要了。网络上都是单条记录的关联查询,而我需要对多条记录进行关联查询,目前只知道使用preload//查询某个用户打赏记录func GetUserPay(uid int64, limit, offse...原创 2019-11-17 23:19:18 · 11242 阅读 · 0 评论 -
体验“超级无敌”的文件上传组件bootstrap fileinput
网页开发最最重要最最基本的就是富文本编辑器和文件上传,开始我迷信百度的ueditor和webupload,结果总是别扭,看来不能迷信BAT啊。富文本用了froala,文件上传早点用bootstrap fileinput那多炫啊。参考网上的文章,走了不少弯路。其实就是喜欢https://plugins.krajee.com/file-krajee-explorer-demo里面的第二个A...原创 2019-11-03 18:50:17 · 1319 阅读 · 2 评论 -
技术人员价值评测系统Merit
基于beego框架,项目地址:https://github.com/3xxx/merit理念是:管理员设计一套价值评价的项目和分值——用户登录后——进入自己所在的部门——填写预设好的价值项目,获得分值,统计……原创 2016-03-17 19:45:38 · 1023 阅读 · 0 评论 -
tealeg/xlsx遇到读取空表格错误
https://github.com/tealeg/xlsx/issues/200They like the same excel,but the different results.my code:package mainimport ( "fmt" "strconv" "github.com/tealeg/xlsx")package mainimp原创 2016-03-08 20:57:19 · 3336 阅读 · 0 评论 -
UEditor-golang
彻底抛弃ueditor了,改为froala了,感觉好了几百倍了。https://blog.csdn.net/hotqin888/article/details/80978876因为HydroCMS项目用到了UEditor,可是它不带go代码,只好自己写。github上查到一个,是https://github.com/jimmykuu/Go-UEditor,但是一直未更新,好在可以参考。点击...原创 2016-03-17 20:48:52 · 2090 阅读 · 0 评论 -
beego操作session
因为学艺不精,用beego一年了,因为升级后发现存cookie不起作用了,只好改session了。import ( "github.com/astaxie/beego" //(1)导入session包 "github.com/astaxie/beego/session")//(2)建立一个全局session mananger对象var globalSessions *sessi原创 2016-03-06 15:42:20 · 5441 阅读 · 0 评论 -
梦想中的图文发布——UEditor使用
很久前就有个需求,我们在本地编好的图文word,如何直接贴到网上进行发布?传统的都是将word里的图片先存出来(word2013中鼠标点击图片右键有“另存为图片”功能),然后在网站上的编辑器里贴文字,传图片,插入图片。 我的HydroCMS编辑器采用了百度的Ueditor开源富文本编辑器,相对比较好地解决了直接贴word文档的问题。大致步骤就是:word中选中——复制——到网原创 2016-04-09 23:11:32 · 1138 阅读 · 0 评论 -
HydroCMS更换手风琴式侧栏metismenu
如何搞一个比较舒服的侧栏,一直困扰我几年,前几天终于找到了metismenu我认为很专业的。当然,它只支持到3级菜单,正好够我的hydrocms用。但是自定义菜单超过3级目前想到的就是Bootstrap Tree View,它的缺点是几个平级的菜单,不能在一个打开情况下另外一个自动折叠。这个是metisMenu这个是我写的另外一个系统merit技术人员价值管理系统里用的Boot原创 2016-04-29 19:17:19 · 3297 阅读 · 0 评论 -
bootstrap模态框瞬间消失解决
bootstrap模态框挺好,但这方面的例子很少,都是官方的代码,网上没有一点新的东西。比如,save changes,即点击确认后如何处理?没有例子。只有取消close的功能。我的需求是这样,点击一个链接,传一个id,打开模态框,进行输入、单选、列表选择等,点模态框确认,然后连同刚才的id、模态框中的各种值,一起提交到后台处理。第一个:用连接传id并打开模态框。添加同级{原创 2016-05-01 18:39:03 · 12604 阅读 · 0 评论 -
beego利用liteide进行交叉编译
# native compiler windows 386GOROOT=D:\go#GOBIN=D:\go\binGOARCH=386GOOS=windowsCGO_ENABLED=1#GO15VENDOREXPERIMENT=1PATH=D:\TDM-GCC-64\bin;%GOROOT%\bin;%PATH%LITEIDE_GDB=gdbLI原创 2016-05-27 20:21:27 · 2108 阅读 · 0 评论 -
HydroCMS完成项目标签功能和自定义目录修改功能
HydroCMS定位于您的私人专属资料管理系统。下一个功能将是:目录的访问权限设置。目前是根据文件的类型进行权限设计的,比如jpg格式的允许4级权限访问,dwg只能是3级才能访问……。这样不够好,应该按照文件夹进行权限设置,比如文档类需要3级权限访问,设代日记文件夹可以无障碍访问。下下个功能将是:根据访问者ip进行权限判断。如果是局域网内某个ip地址段,首先设置好ip地址段的权限,如果这个原创 2016-05-16 22:04:46 · 826 阅读 · 0 评论 -
HydroCMS完成Ip地址段的权限设计
1、权限改成2种,第一种是写权限,由登录session进行判断权限;第二种是访问权限,登录或IP地址段权限,比如,不想登录,则根据预先设定的IP地址段如下58.96.172.1 58.96.172.255 2——ip地址段(地址范围,权限)58.96.173.1 58.96.172.255 358.96.172.22 1——指定单独ip的权限进行判断来者的ip以及对应的权限。 如此原创 2016-05-21 22:29:26 · 780 阅读 · 0 评论 -
uparse展示视频时与bootstrap导航条冲突?
uparse展示视频时bootstrap导航条变成竖向排列了。下面是页面源码。当我注释掉uparse那一行就正常了。而uparse在展示图片等其他页面一般不会出现导航条竖排,但有时从其他页面拷贝文字和图片到ueditor编辑器中,发布后,通过uparse展示,也会出现竖排情况。原创 2016-06-10 07:44:03 · 1018 阅读 · 1 评论 -
HydroCMS和Merit用nat123实现系统发布
这次用nat123在单位的局域网电脑上,通过映射80端口,在任何地方可以访问这个系统了。http://hydrocms.abc6.net/同时,将家里的公网也做了个映射。不过这个要装nat123的访问者才能访问哦。http://merit.abc6.net:8080/原创 2016-07-23 18:56:19 · 505 阅读 · 0 评论 -
双轨制奖金分配系统,兼顾技术人员老龄化问题
我们做工程设计,技术人员的奖金如何分配?需要制定可操作的公平的制度。项目制是趋势,项目制下,某个项目组内如何分配呢?总包干吗?团队总是需要配合的,总是要有个可控的公平的分配方案。另一个课题就是技术人员老龄化后,如何体现价值?那么就要引入我的另一个系统merit技术人员价值管理系统。技术人员老龄化前,应该基于我写的另外一个系统HydroCMS水利设计成果管理系统来整理发布自己的资料,也就原创 2016-08-03 20:19:40 · 876 阅读 · 0 评论 -
bootstrap treeview实现target功能,iframe中打开页面
既然是treeview是侧栏,那么肯定都是用target=iframename这种连接方式,在右边的iframe中打开页面啊,可惜这个插件没这个属性。作者说用这个nodeSelected解决。代码如下:左侧栏:右侧iframe 显示树$('#treeview').treeview({ data: json,//defaultData原创 2016-08-17 00:15:52 · 6900 阅读 · 2 评论 -
request+goquery+mahonia实现自动抓取网页数据
设计院OA上有维护得比较好的法规库,3000多条,我用了30分钟一页页拷贝到excel中。一共1500页啊。为啥不用代码抓取呢?因为开始连用chrome登陆访问这个库都打不开,只支持ie。用fiddler获得库页面地址,拷贝到chrome中,也是直接跳到登陆页。今天再努力,chrome登陆,然后点击:进入系统——会打开一个独立的窗口,这个窗口似乎不支持地址输入,没关系,在这个窗口中——公共信息原创 2016-08-12 20:00:55 · 4172 阅读 · 0 评论 -
DOC文件中法规对标系统完成
法律法规规程规范的对标系统,对于工程设计人员而言非常有用。原创 2016-08-06 14:23:01 · 785 阅读 · 0 评论