beego
文章平均质量分 54
q平面人
https://github.com/3xxx
QQ504284
我的产品demo https://zsj.itdos.net/
展开
-
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 · 3057 阅读 · 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 · 2895 阅读 · 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 · 1884 阅读 · 0 评论 -
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 · 1508 阅读 · 1 评论 -
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 · 5399 阅读 · 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 · 3248 阅读 · 1 评论 -
engineercms陆续引入flv和photowipe,视频和相册
png图片以为已经很小了,可是这里还可以压缩一半以上,厉害。https://tinypng.com/为了增设一个视频服务模块,新设计了一个视频管理页面,视频播放页面,前者用bootstrap4.4,用到的组件有卡片,轮播,列表,阴影,拉伸连接,间隔,监听滚动,尺寸,……视频管理页面:视频播放页面,用了flv:相册预览页面,用了photowipe,下图是手机端效果...原创 2020-04-12 19:29:47 · 497 阅读 · 5 评论 -
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整合mindoc
因为同样是beego框架的,所以整合相对容易。不过这也是我第一整合项目。golang的项目,采用引入包的形式对于整合项目应该没有作用吧,想着只能都改为githb.com/3xxx目录下了。个别controller和我的ecms的重名,比如basecontrollers,model中的attachment也重名……有空记录一下,以后mindoc升级好操作一些。首先是下载各种引入的包。...原创 2020-02-28 00:38:12 · 617 阅读 · 1 评论 -
golang beego jwt sso token单点登录尝试-01
token的使用场景,比如当服务端在多个地方,使用session就基本不可行了。总的思路:用户在客户端(浏览器)中输入用户名和密码,提交后发送到服务端,服务端验证正确后,生成一个token,将token返回给用户浏览器,浏览器记住这个token,下次访问,携带这个token,服务端先取出这个token,验证正确后放行。问题:因为服务端不像session那样负责保存token,必须来自客...原创 2020-02-23 14:59:48 · 2036 阅读 · 0 评论 -
engineercms文章页采用wordpress风格
先上图:把用户的头像处理好了,如果没有头像就用默认的代替,其实应该用随机生成一个的……。添加了2个悬浮的半透明按钮:修改和删除。最下方的评论以及对评论的评论,以及对评论的点赞……太多了,暂时没去处理了。总之很喜欢这个风格,比之前csdn抄的代码容易修改,效果还更好。...原创 2020-02-07 15:07:07 · 492 阅读 · 0 评论 -
gorm多条数据级联查询关联查询gorm连接池gorm事务
因为gorm支持级联查询。xorm的jion查询虽然很棒,但是查出来的不能生成嵌套结构体。而gorm就可以,经过摸索,这种关联啊,预加载啊,虽然没搞清楚他们之间的区别,但总算能满足自己的查询需要了。网络上都是单条记录的关联查询,而我需要对多条记录进行关联查询,目前只知道使用preload//查询某个用户打赏记录func GetUserPay(uid int64, limit, offse...原创 2019-11-17 23:19:18 · 11239 阅读 · 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 评论 -
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 · 2089 阅读 · 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 · 3295 阅读 · 0 评论 -
bootstrap模态框瞬间消失解决
bootstrap模态框挺好,但这方面的例子很少,都是官方的代码,网上没有一点新的东西。比如,save changes,即点击确认后如何处理?没有例子。只有取消close的功能。我的需求是这样,点击一个链接,传一个id,打开模态框,进行输入、单选、列表选择等,点模态框确认,然后连同刚才的id、模态框中的各种值,一起提交到后台处理。第一个:用连接传id并打开模态框。添加同级{原创 2016-05-01 18:39:03 · 12601 阅读 · 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 评论 -
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 · 875 阅读 · 0 评论 -
DOC文件中法规对标系统完成
法律法规规程规范的对标系统,对于工程设计人员而言非常有用。原创 2016-08-06 14:23:01 · 785 阅读 · 0 评论 -
Merit价值和成果管理系统——1侧栏与iframe
Merit成果登记系统—4、侧栏菜单和iframe联动今晚开不了工了,记录一下昨晚到今天凌晨的成果吧。应该是前天晚上到凌晨,总算搞定了一个小小功能。著名的ztree树状菜单拥有a href=***,target=“iframename”,就是这个ztree作为树状侧栏放在左侧,在它上面点击一个链接,就可以 在右侧的iframe里打开一个页面。要实现这个功能,必须要具有target属原创 2016-08-21 19:34:54 · 900 阅读 · 0 评论 -
Merit价值与成果管理系统——2、首页以及按时段统计
首页展示四个部分:分别为成果登记,价值管理,奖金分配和cms系统入口。管理员页差不多,基于首页,提供数据初始化,成果表格导入,人员导入等等。首页:admin页面:点击进入成果登记:点击分院:点击科室:个人就不展示了。点击价值管理,进入价值页: 基于自然增长法的开发模式,就是先干出来,然后再去考虑细节,完善功能,联系各个组件。这原创 2016-08-21 19:45:58 · 789 阅读 · 0 评论 -
Merit 价值与成果管理系统——3、自定义成果类型和在线登记
首先每个部门对于成果的类型登记需求是不同的,所以要支持自定义,比如开会,出差,设代……表2、成果类型表表3、难度系数表和折算系数表 成果类型设计对象计量单位难度系数折算图纸系数备注图纸枢纽布置图A2张2~41 总布置图A2张原创 2016-09-05 19:11:34 · 865 阅读 · 0 评论 -
beego增加用户自定义模板函数,index从1开始
在templatefunc.go中添加自定义函数func Indexaddone(index int) (index1 int) { index1 = index + 1 return}在template.go中,init中添加beegoTplFuncMap["indexaddone"] = Indexaddone模板中这样使用{{range $index, $elem原创 2016-08-26 22:39:48 · 4302 阅读 · 0 评论 -
beego结合bootstrap table和x-editable用于merit价值和成果管理系统
自己写系统,好处就是可以用世界上最先进的东西,不喜欢的就换一个。这次表格系统全部改为bootstrap table,在线编辑用x-editable http://bootstrap-table.wenzhixin.net.cn/examples/http://vitalets.github.io/x-editable/demo-bs3.html效果如下:选择过滤的时间区间:原创 2016-09-14 17:41:45 · 2452 阅读 · 5 评论 -
golang beego结合editable进行成果登记系统的在线修改
x-editable是bootstrap table的插件,也可以单独使用。支持表格在线修改的多种形式。由于不熟悉,每一步都折腾很久。第一,bootstrap table使用的后台传过来的数据json数据,而beego不能同时输出页面数据和json数据,所以需要单独一个controllers传json数据给bootstrap table,和当前页面的controllers分开成2个。原创 2016-09-22 21:50:09 · 1334 阅读 · 0 评论 -
HydroCMS-用ueditor无法实现word中图片转存的问题
幸亏有github的版本控制系统。下载了历史版本2016年4月份的,下来运行,可以保存word图片。用fiddler跟踪返回值如下: "original": "clip_image002.jpg", "state": "SUCCESS", "title": "clip_image002.jpg", "url": "/attachment/SL123456测试图文/A/Fdi原创 2016-07-17 23:46:52 · 4017 阅读 · 4 评论 -
golang-fullcalendar拖曳drop、resize的坑
由于看的都是旧的中文案例,导致在做日历事件拖曳和resize过程中走了弯路。还是应该看官方的文档啊。正确的写法:eventDrop: function(event,delta,revertFunc) { // alert(event.id+event.title+delta.days()); // var url = "/admin/calend原创 2017-01-08 08:23:07 · 2921 阅读 · 0 评论 -
golang-fullcalendar,engineercms完善日历事件-支持拖曳drop,改变时间resize
支持拖曳和改变时间resize原创 2017-01-04 19:51:13 · 1462 阅读 · 2 评论 -
EngineerCMS优化算法从2.71s到38ms
如果一个项目的目录齐全的话,约4320个目录。比如阶段划分上,6个阶段,下级专业划分,9个专业,再下级文档类型方面划分,约8种,再下级,建筑物分类,约10种,连乘下来就是4320个,这么多数据构造成一个树状目录,即嵌套的json数据,不能通过频繁的数据库查询来做。比如开始的时候,代码是通过查询数据库来判断是否有下级原创 2017-02-19 16:43:19 · 1053 阅读 · 0 评论 -
提升beego插入sqlite的效率
beego普通的写操作很慢,大约200多ms一条。如下:Insert第一个返回值为自增健 Id 的值o := orm.NewOrm()var user Useruser.Name = "slene"user.IsActive = trueid, err := o.Insert(&user)if err == nil { fmt.Println(原创 2017-02-26 00:04:03 · 2368 阅读 · 2 评论 -
基于Bootstrap垂直响应的jQuery时间轴特效
终于想清楚了在每个项目中,放置3个东西:操作记录(日志);时间轴(大事记);日历日程。第一个日志是系统自动记录的,每次在这个项目下的操作,比如上传,添加,删除,查阅,下载等都记录在案,方便查阅。第二个,大事记的时间轴,很流行。第三个日历日程事件,记录一些非大事记中。当然,初步考虑还是在日历日程上添加、删除大事记,在添加日历日程事件的时候,提供一个单选按钮:是否作为大事记。如果作为大原创 2017-03-19 12:48:05 · 20085 阅读 · 7 评论 -
用slide做html5的ppt
用网上的模板,做的web ppt比较适合那些基于网页的演示,不用切换,只是切换浏览器的标签页,用ctrl+tab就可以切换了,很酷。 --> EngineerCMS:工程师知识管理系统 {{template "navbar" .}} --> |原创 2017-04-15 17:09:24 · 4687 阅读 · 0 评论