- 博客(372)
- 收藏
- 关注
原创 开发指南140-VUE项目打包设置
前端项目都会面对这样一个问题:客户的浏览器会缓存代码。更新服务器后,客户的浏览器执行的还是过去的老代码。这个时候只能ctrl+f5强制刷新代码,或者删除浏览器缓存。这个问题可以通过配置打包方式来解决:它的核心原理是打包时生成随机文件名,这样浏览器缓存就失效了,只能更新新代码。这里有个关键点,在开发环境中是没有contenthash的,只能用hash,所以代码里通过mode进行判断。// 给输出的JS/CSS添加内容哈希。如果打出的包长这个样子就对了。
2025-12-21 15:32:22
305
原创 修改文档、源代码的修改时间
pywintypes.Time支持接收时间元组(年、月、日、时、分、秒、周几、一年第几天、夏令时)print(f"成功修改文件 {filePath} 的修改时间为:{targetTime}")None, # 最后访问时间(None表示保持原时间)None, # 创建时间(None表示保持原时间)# 设置文件时间(创建时间、最后访问时间、最后修改时间)targetTime: 目标时间(datetime对象)targetTime: 目标时间(datetime对象)# 批量修改(包含子目录)
2025-12-15 07:29:36
387
原创 将swagger在线文档转为word
doc.add_paragraph(f"描述:{openapi_data['info'].get('description', '无')}")doc.add_paragraph(f"接口描述:{details.get('description', '无')}")doc.add_paragraph(f"接口摘要:{details.get('summary', '无')}")doc.add_paragraph(f"服务器地址:{openapi_data['servers'][0]['url']}")
2025-12-14 10:26:49
510
原创 开发指南145-多选机构树的行为规定
1、勾选A 则A1 A2 A3 及其已经加载下属都会勾选(如果分层加载,点A1,展开A1的下属都必须 是勾选状态。但是这时,机构树返回。解释返回节点的业务逻辑也遵循如下原则,返回的节点默认包含其所有下级,但是返回数据里并没有其下级数据(这样做是为了减少返回数据数量)4、并行选择的节点,则返回所有信息。但是每个并行节点也要遵循如果所有子节点勾选,就只返回自己的约定。3、下级节点只要有一个不是勾选状态,上级就不是勾选状态。如果手动填满下级,上级自动勾选。2、勾掉A,则取消所有下级及其所有下属。
2025-12-06 10:11:00
124
原创 layer.open打开的jsf页面刷新问题
h:commandButton value="保存" styleClass="button01" onclick="return forSave()" action="#{emp_PersonSortBB.saveSort}"/>父页面使用layer.open打开jsf页面,点击页面上保存后,要求完成后台业务后,关闭jsf页面,然后刷新父页面。后台可以通过session变量传递参数给SucceedLayuiClose.jsp页面,控制页面行为。saveSort完成业务后return "success"
2025-12-04 21:30:01
185
原创 各数据库查询表字段语句
is_nullable, -- 是否允许NULL。-- 按字段顺序排列。SHOW COLUMNS FROM 数据库名.表名;data_type, -- 字段类型。column_name, -- 字段名。column_default -- 默认值。TABLE_NAME = '表名'exec sp_columns '表名'AND OWNER = '用户'
2025-12-04 07:43:03
124
原创 fastjson的toJSONString潜在问题
公司同事最近项目上遇到一个问题,一个同步数据的接口存在这样的一个现象,上游某个字段新增数据,更新数据,下游系统都能通过接口正确更新。唯独当数据清空时,下游数据却保持不变。上下游通过restful接口进行数据同步,传递数据的格式为json。找到问题就好处理了,问题就是如何让toJSONString函数不要忽略null的属性。处理json使用的com.alibaba.fastjson。经仔细分析包,发现核心是。
2025-11-20 20:33:45
223
原创 关联表赋值
通过ID关联,使得A表的A1,A2,A3分别等于B1,B2,B3。表A 字段ID A1,A2,A3。表B 字段ID B1,B2,B3。
2025-11-17 16:46:57
125
原创 flex:1
flex: initial:默认值,等价于 flex: 0 1 auto(不扩展,允许收缩,初始大小为内容宽度)。flex: none:等价于 flex: 0 0 auto(既不扩展也不收缩,固定为内容宽度)。flex: auto:等价于 flex: 1 1 auto(扩展和收缩,初始大小为内容宽度)。flex-shrink: 1 - 元素可以缩小,适应空间不足的情况。flex-grow: 1 - 元素可以放大,占据剩余空间。flex-basis: 0% - 元素的基准尺寸为 0%
2025-11-13 00:01:54
213
原创 layui表格数据居右
网上查到的是上述方法,看起来也是对的。真正试一试才发现这样做,表格标题也居右了。layui设计这个align属性毫无用途。因为标题应该居中,这里只控制数据才对。
2025-11-09 22:12:30
139
原创 layui窗口标题
公司有个老系统是基于layui开发的,layui是vue,react之前一代比较火的框架之一。], // [标题文本, 标题栏样式]可以利用html语法进行各种修饰,如改颜色,加图标等。layer.title('动态标题', index);title: false, // 不显示标题栏。title: '用户管理', // 简单文本标题。这套程序很快会使用VUE改下。记录下来留个纪念吧。不如HTML标题方便灵活。一般配合定时器来用。
2025-11-05 22:14:34
238
原创 开通网站全流程
例如内部应用,可以用ip来访问,无需域名。但是如果要绑定小程序等等要求后台必须是域名访问,这个时候就需要域名。另外用域名,迁移服务器时,ip可变,域名不变。有好处就有坏处,使用域名的话需要备案。这个也在云服务商网站上办理。有问题,直接咨询对应客服即可。打开后先下载指引,按流程办理即可。财大气促的可以自己机房,自购服务器,并自己拉专线。这步必不可少,要做icp备案30天完成。各厂商都是对新用户笑脸相迎,优惠多多。域名可以直接在云服务商网站上办理。3、域名备案,也就是ICP备案。2、域名可要可不要。
2025-11-05 14:12:04
360
原创 开发指南140-跨服务数据范围限定
举个例子,绩效考核服务对应绩效考核数据库,该数据库和人员核心库是分离的。这样的场景就是跨数据库的数据范围限定问题:列出某个部门的人员绩效考核结果。这种方法有个数据同步的问题,所以一般只冗余存储不变的东西。如存储人员ID的时候也存储下人员姓名。前端首先调用核心人员服务,通过部门id获取部门下人员id,然后把id以参数形式传递给绩效考核服务,从而获取对应结果。把需要的数据存到自己的服务里一份,访问时访问自己的数据。这种方法封装了后台逻辑,前端无需知道太多后台存储细节,缺点是增加了服务之间的偶合性。
2025-11-01 20:42:38
188
原创 开发指南139-VUE里的高级糖块
- 延迟同步,直到失去焦点 -->-- 自动去除首尾空白字符 -->-- 自动转为数值类型 -->-- 修饰符可以串联 -->-- 按键系统修饰符 -->-- 阻止默认行为 -->-- 阻止事件冒泡 -->
2025-10-31 12:55:11
181
原创 ORA-01403: 未找到任何数据
跟踪系统日志发现是触发器的问题。系统维护人员在不动系统的情况下,为了实现某种逻辑可以通过触发器实现。这种方式可以不动代码,不重新部署系统。缺点是移植性差,可维护性差。服务人员更换后,谁也不知道数据怎么莫名奇妙发生变化。开发人员也不清楚,遍查程序也不知所踪。所以,系统维护人员的编写的触发器也应该纳入源代码管理体系。非常简单的语句,分析就知道问题所在了。这个触发器是插入,更新公用的。当初要解决的问题是修改是自动更新。维护人员测试也通过了。系统报错了,新增数据增不了了。开发反馈没有更新过系统。
2025-10-30 10:56:10
247
原创 服务启动不了,报数据库url没有设置
看报错,一定要发散思维,不能只看表面现象。配置没有读到,可能是数据库配置这里出了问题,也可能是配置文件其他部分出了问题,导致无法正确解读配置。询问了所有开发,最近改配置文件没有。一个开发说只是新增了一个类的日志访问级别,想看看具体报错。结果也没有作用,正苦恼的。因为类很多,就很占页面。研发犯了一个不同根的问题。仔细看url设置,没有问题。而且最近根本没有改过数据库配置。这种在配置文件中是不允许的,必须合并相关的根。今天有个微服务启动不了了,报url没设置。问题的根源是这样产生的。
2025-10-26 15:22:34
141
1
原创 EXCEL文本数字如何批量转换为数字
注意直接选择所有转换区域(不要标题行),会直接出现黄色感叹号图标,直接转换即可。选中整列单元格,按下TAB键,出现黄色感叹号图标, 点击图标,选择“转换为数字“。遇到这个小破三角就很讨厌,里面的数据无法运算。修改单元格的属性为数值解决不了问题,需要批量转换。随便找个数值格子输入1,点复制。做管理系统少不了和EXCEL打交道,需要经常核对数据。那么选择这一列数据,点击“数据”中的“分列”还有些方法,就没有必要掌握了,有这三个就已经足够了。但是高手就是高手,也很多隐藏技能。这个应该是正规方法。
2025-10-21 16:44:12
435
原创 开发指南137-身份证有效期截止时间
十六周岁至二十五周岁的,发给有效期十年的居民身份证;四十六周岁以上的,发给长期有效的居民身份证。未满十六周岁的公民,自愿申请领取居民身份证的,发给有效期五年的居民身份证。数据库字段改字符串;作为一个系统,不要改变业务思维,你麻烦是你麻烦的问题,要想办法解决,不能改变业务本身。本平台长期就是存"长期"这两个字,这样才能真正还原身份证正面的有效期限,而不是刺眼的。这样身份证有效期截止时间有两种值,要么是一个具体时间,要么是"长期"这两个字。很多系统为了表达"长期"的概念,使用9999-09-09这样的日期。
2025-10-20 11:44:06
235
原创 平台介绍-集成第三方人力资源系统
有关机构、岗位、人员的服务封装在QLM-HR-Service里,对应数据封装在核心库的sys_org_info、sys_post_info、sys_person_info中。通常的模式是这样:当人力资源系统机构、岗位、人员发生变化时,推送数据给平台核心层。统一搭建平台,然后基于平台重构所有应用,这个目标很宏大,需要时间逐步到达。现在遇到一个客户,购买了平台上应用,需要对接第三方人力资源系统,且由于种种原因,第三方不能进行接口开发。按上述逻辑改造后,平台应用实现了对第三方人力资源数据的无缝对接。
2025-10-19 15:38:06
329
原创 迁移服务器
部分应用用到了SQL SERVER2012(不想花钱升级),安装这个需要3.5版本。下载3.5的安装程序也不行,狗日的,不知道咋想的。为了省钱,云服务器换了服务商。(发现所有服务商都是杀熟,新用户远比续费便宜,赌的就是老用户嫌麻烦,不愿意倒腾数据。费劲几天,省个几千元,想想还是划算啊)。迁移遇到些问题,一一记录下,以便下次迁移再用。部分服务器是window,远程桌面默认端口是3389。找到名为 PortNumber 的键,右键点击并选择“修改”。打开“服务器管理器”,点击“添加角色和功能”。
2025-10-19 08:46:51
234
原创 迁移VisualSVN
云服务器要到期了,这个服务器主要用于管理公司的各项目代码,采用的是VisualSVN。发现续费的话远比新买个同配置的高。这些服务商都是一个套路,低价引入,赌的就是你嫌麻烦,不愿意迁移数据。但是花一天时间能省几千大元也是很香的,果断决定换服务商,迁移数据。注意打包时使用分卷方式,例如300M一个包,这样复制时方便也可。第一步,看VisualSVN的用户模式。最早装的时候也要选这个模式,迁移起来比较方便。第四步:把分卷压缩包复制到新服务器,解压。注意复制时都需要先停止服务。最后启动新服务,搞定!
2025-10-12 00:30:27
192
原创 意料之外的滚动条
核心原因是:默认情况下,CSS 的盒模型(box-sizing)是 content-box,即 width 只计算内容宽度,不包含 padding。所以 .contont 的实际总宽度 = 100%(父元素宽度) + 20px(左内边距) + 20px(右内边距)这就导致元素总宽度超过了视口宽度,从而出现水平滚动条。元素的 width 和 height 包含内容区域(content)、内边距(padding)和边框(border)元素的 width 和 height 仅包含内容区域(content)
2025-09-07 11:13:05
351
原创 软件公司创业上(从2人到20人)-团队构成
一定以一人为核心,什么双方合作五五开,三方均分等等都是不稳定结构,最终在某个点上就会散架。如果自己贡献大,资源多,就大大方方多拿多要,尤其话语权。不然最后心里窝火,我贡献大拿的少,最后一定爆发。凡客诚品曾经有几十个副总裁,陈年反思:“公司越热闹,烧钱混日子的人越多”。疫情过后,很多企业都在裁员,然后惊奇的发现,工作没有多少影响。都说外包是大公司的专利,其实不然,小公司更需要外包。养人风险过大,有活时没人,有人时没活是常态。为了省钱,不做飞机,搭慢车。构建团队是一切的起点,也是能走多远,干多大的基础。
2025-09-06 15:07:11
181
原创 界面规范9-文字
important;important;important;.qlm_tip{important;important;color:red;
2025-09-06 14:31:49
346
原创 软件公司创业上(从2人到20人)-先为不可胜
华为有个硬性规定,就是把一定比例收入投入研发,持续坚持下来才有了今天的局面。相反的案例是联想这样的,只想通过贸易赚钱,最后会越走越窄。大到国家层面也是这样,“自力更生,艰苦奋斗”是唯一发展硬道理。要完成这个阶段任务,有个捷径就是拉投资,找天使。开发一个产品,成本会很高,把辛苦赚来的钱投入研发是很纠结的。不管做什么行业,销售什么产品,都要有收入,要收入覆盖了支出。软件企业起步只有两种,要么自有软件,要么先代理一个,做二次开发+实施服务。先活下来,同时勒紧裤腰带发展自己的产品,是公司早期修炼的关键。
2025-08-31 09:34:34
134
原创 软件公司创业上(从2人到20人)-序言
有些经历不是亲身经历的,是身边朋友的,或听说的,为了叙事方便移植到了本公司,所以有虚构成分。本序列将分为上、中、下三篇,基本是从2人到20人,从20人到200人,从200人到1000人。存软件公司到1000人是本人的极限了,多说就是误导了。而且我们所做的很多事情,本身就是想联合这个群体,来对抗大公司对行业的垄断和打压。一直想总结下10几年的创业经历,反思+提高,另外也是广交朋友,共同提高。本序列会拉的时间很长,思路也是发散式的,想到哪说到那,见谅。本序列只适合软件企业,其他行业,本人没参与过,没有发言权。
2025-08-30 08:31:55
184
原创 开发指南136-设置零值不显示
el-checkbox v-model="askForUnionForm.showZeroInfo" false-label="0" true-label="1" @change="showZeroInfoChange">零值不显示</el-checkbox>第二步:在el-table-column里根据设置来显示是否显示0值,有两种方法。平台前端是基于VUE+ElmentUI的,以下方法仅限于这个架构。表格里满屏的0蛋不好看,客户要求有不显示零值功能。第一步:使用选择框来设置是否显示零值,默认不显示。
2025-08-30 08:12:17
435
原创 界面规范8-杂项规定
=========持续更新中==========6、尽量减少交互页面层次,避免弹窗再弹窗。5、充分利用屏幕空间,显示尽可能多数据。1、表格数据默认进来填满,不要空白。3、表格需要锁定标题行和关键列。7、修改数据后及时刷新对应列表。2、表格窄时,居中,两边留白。8、表格内标题不使用冒号。4、少用花里胡哨的图片。9、高度宽度要自适应。
2025-08-26 15:49:21
150
原创 开发指南135-CSS中定义参数
对应界面,用户是茄子白菜,各有所爱。在CSS里定义变量。然后在项目里调整是个解决方案。variables.defaultFontFamily可以取得对应参数。* 最后修订日期:2025-05-30。* 功能:前端UI配置。* 千里马平台文件。
2025-08-26 11:16:01
342
原创 每天自动备份oracle
注意标黄的需要替换为自己环境下参数,其中的核心命令用到了exp和forfiles,具体用法自行脑补。oracle数据库比其他数据库都贵,但是自带的管理工具却很差,真不知道咋想的。选择执行的操作为“启动程序”,并选择前面创建的backup.bat文件。1、创建个备份目录,如D:\databack。设置开始时间,建议选择在夜间备份数据库,如每天两点。2、创建个脚本:backup.bat。先手工执行下,确保执行无误。创建一个基本任务,填写任务名称和描述。设置任务的执行周期为每天。用户名/密码@sid。
2025-08-24 20:43:01
544
原创 开发指南134-路由传递参数
/----------千里马平台所属-------------store/getters.js下定义了常用的参数,例如。平台应用内部避免使用上述方式,需要时通过Vuex传递。以上代码只为了说明问题,真实参数要复杂的多。平台上的路由地址都是动态创建的,通过。mounted里处理。
2025-08-23 12:55:06
178
原创 nacos启动失败-C:\Users\Administrator\AppData\Local\Temp\2\librocksdbjni4756487679471818498.dll找不到
洋洋撒撒写了一大堆,貌似正确。问题是在其他服务器没问题了。不花时间验证这个了。DLL 文件与系统架构不兼容(如 32 位系统用了 64 位 DLL)Administrator用户执行的,这个原因纯属扯蛋。32位dll属于稀缺资源,我都不知道去那找。与之相关的所有措施同理扯蛋:清理临时文件并重启。其实很容易解决,装vc_redist.x64.exe!貌似合理,其实不然。还是一样,其他服务器都没问题,不考虑。4、手动指定 DLL 路径(备选方案)5、升级 / 降级 Nacos 版本。3、Nacos 版本与。
2025-08-23 11:58:37
333
原创 开发指南133-设定列表分页的初始默认每页行数
其中target是calculateLimit算出的合适值,limits是预定的分页选项数组,最终结果是数组中最合适的选项。// 当差值更小时更新,或差值相等时取较大值(四舍五入原则)// 计算可用高度(减去搜索区域高度、标题高度、底部高度)page-sizes为写死的值,例如 [10,15,20,25,30]// 从limits数组中找到最接近目标值的数值(四舍五入原则)// 假设每条记录大约占40px高度,直接计算。// 获取当前窗口高度。//根据屏幕计算合适的行数。
2025-08-18 21:57:54
663
原创 开发指南132-DOM的宽度、高度属性
返回元素内容的总高度(包括可视区域外的部分,即滚动才能看到的内容),包含 padding,但不包括 border、margin 和滚动条。返回元素的整体高度(包含内容区域 + padding + border + 滚动条,不包括 margin)包含内容区域 + 内边距 padding,但不包括边框 border、外边距 margin 和滚动条)。元素内容区域的高度,不含padding、border、margin。表示元素内部滚动条从上到下滚动的距离(即被隐藏的顶部高度)
2025-08-17 17:45:06
498
原创 ArrayList的contains问题
会默认使用 Object 类的 equals() 实现,而 Object.equals() 本质是比较两个对象的内存地址(即 == 运算)。即使两个对象的内容完全相同(字段值一致),只要是不同的内存对象,contains() 也会返回 false,造成 "判断不准确" 的错觉!// 类型不同返回false。遍历列表中的每个元素,通过调用 element.equals(o) 来判断是否存在匹配元素。
2025-08-17 00:04:53
373
原创 开发指南131-分层角色管理
角色分为管理角色和非管理角色,管理角色可以创建自己的下属角色。上级角色只能管理自己的下级角色,不能管理下下级角色。共享角色是Admin创建的,只能Admin管理和维护。但是所有其他管理角色都可以看到共享角色,所以可以付权限给其管理的用户。基于上述模型,集团为二级单位创建一个管理员角色即可,二级单位内部的所有管理工作由其管理即可,极大的减少了管理工作量。但是上述模型中,各角色之间是独立的,极易建立大量相同的下级角色。一个大型集团型组织,角色管理是非常复杂的。
2025-08-16 11:38:46
170
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅