我在 Windows 环境中。我需要打一个 exe 文件,将 python 依赖打进去,让用户避免手动 pip install 依赖。此外,我还需要将前端生成的 dist 打进去,前后端一体启动。探索项目,给出可行方案。
我复制了一份新的代码过来。请确认前后端是否可以一体启动。如果不可以,对app.py做相同修改。最后,还是创建ps1脚本,用于打exe文件。
我需要在 Mysql 中创建 dms_app 用户,密码是"******"(已脱敏);还要创建 dms 数据库,与 dms_app 用户关联。将建库和建用户语句写入 bak/database/dms_database_0003.sql
dist-package/dms-server 下,执行 dms-server.exe ,然后访问系统。报错:sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (1045, "Access denied for user 'dms_app'@'123.118.6.154' (using password: YES)")
所有文档,点开以后,右侧预览界面都是空白。我已经配置了 LibreOffice 的路径。浏览器报错: :9345/api/v1/documents/3/preview:1 Failed to load resource: the server responded with a status of 404 (NOT FOUND)
查看 database/dms_data_clean_0003.sql,并查看 dist-package/dms-server/dms-storage 下的文件,看是否可以对上。
页面里,“直属子方案”标签页改为“子方案”,“已挂载共享附件”改为“配套资料”。
Uncaught ReferenceError: Iterator is not defined
at index-B9mNHSvn.js:319:15989
"已挂载附件"也修改为“配套资料”;代码内部也进行修改吧
pdf 显示,恢复之前的方案,不要用 pdfjs 了。然后只做默认适应宽度即可,不再要求上下居中。 但 pdfjs 保留。 在 .env 中增加一个配置,选择使用哪个方案。
build.ps1 中,增加一步:打包完成后,将 dist-package-bak 中的 .env 和 dm-storage 复制到 dist-package 中。
我希望搜索结果高亮,标题中则标题对应部分高亮,概述和标签也是一样。 特别地:如果检索命中了正文,那么这一条记录在表格中,高度向下延伸一半,延伸出的部分高亮显示正文命中区域,并将命中部分前后的一部分文字显示出来。如果前后显示不全,增加显示 “……”。
点击左侧标签,提示:服务器内部错误
目前搜索不到正文。是不是没做文本解析和存储?
检索结果的正文部分,高度可以再高一些,“正文”两个字可以缩进再大一些,与后面实际内容间隔也可以再大一些;可以不要那个浅色的背景。
检索结果,正文实际内容与表格行的“标题”一列左对齐。各行序号,与“序号”表头居中对齐;“正文”二字,也与序号居中对齐。
点击“查看”按钮后,弹出的对话框,除原有文件预览区域外,右侧展示提取文本,按照换行分隔,分段展示。每段可以写一些基本信息上去。
根据 git status ,补充 .gitignore。
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_82981261/sa-pro-workbench。
使用 sa-pro-workbench 技能,按照 docs/temp/技术方案目录结构.md 列出的目录结构,内容参考 docs/temp 下的其他文档,以及实际工程实现,进行技术方案的编写,输出至 docs 下。注意:一定要符合技术方案编写的规范,在阐述一个设计时,要用大段文字而非多个很简短的条目。
按高优先级清单全部修订。名词统一使用“主方案”“子方案”“配套资料(而非共享附件)”的描述。另外,我的方案应写在技术实现之前,所以不要引用代码;实在需要涉及代码中数据结构、接口路径等的部分,直接描述,不指向代码。
本系统是给军事场景使用的,严格物理隔离,且不使用Windows系统,而是使用银河麒麟操作系统。不是政企场景。不要提公网等不符合场景的描述。再次修改。
全文之中,双引号现在都用的是""。我需要全部将它们转换为中文双引号“”。帮我修改。
使用 docx 技能,将“方案计划文档管理系统技术方案.md”输出为docx文件,正文使用 仿宋_GB2312 字体,小四 字号,固定值28磅 行距;标题使用 黑体 字体,小四 字号。
正文增加首行缩进2字符。重新生成。
又错了。全文之中,双引号现在都用的是""。我需要全部将它们转换为中文双引号“”。帮我修改。
对照 docs/temp 下的方案,再次确认是否遵循。尤其是安全服务设计方案。如有修改,确保:文中双引号都是中文“”;空格规则符合我刚刚的要求。 另外,用户角色分两类就够了:普通用户和系统管理员(各种管理操作+审计)。调整。
我们来继续实现软件。管理员界面新增机构和用户维护功能。机构可层级嵌套,用户挂在机构下(不一定是叶子机构)。需要我决策的,询问我
方案计划文档管理系统技术方案.md,在我给出 技术方案目录结构.md 的基础上,可以细分子标题。最多增加一个子层级。先规划再拆分。
确保:文中双引号都是中文“”;空格规则符合英文与中文之间没有空格、英文单词间存在空格的要求。另外,“→”、“—”、“+”等符号,前后也不要有空格。然后使用 docx 技能,将“方案计划文档管理系统技术方案.md”输出为docx文件,正文使用 仿宋_GB2312 字体,小四 字号,固定值28磅 行距,首行缩进 2 字符;标题使用 黑体 字体,小四 字号。
服务运行报错:sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (1054, "Unknown column 'sys_organization.active_marker' in 'field list'") [SQL: SELECT sys_organization.parent_id, sys_organization.org_code, sys_organization.org_name, sys_organization.org_path, sys_organization.sort_no, sys_organization.status, sys_organization.active_marker, sys_organization.id, sys_organization.created_by, sys_organization.updated_by, sys_organization.created_at, sys_organization.updated_at, sys_organization.deleted_at, sys_organization.is_deleted, sys_organization.row_version FROM sys_organization WHERE sys_organization.id = %(id_1)s AND sys_organization.is_deleted IS false AND sys_organization.status = %(status_1)s] parameters: {'id_1': 1, 'status_1': 'ENABLED'} 2026-08-13 12:53:28,739 [INFO] werkzeug: 127.0.0.1 - - [13/Aug/2026 12:53:28] "[35m[1mPOST /api/v1/auth/login HTTP/1.1[0m" 500 - 上次的改动,数据库迁移脚本呢?
FAILED: No 'script_location' key found in configuration.
我现在要引入一个一级分类的概念,在部分一级分类下,主方案不包含子方案和配套资料。子分类不影响这个。增加实现考虑,包括普通用户的显示和管理员的配置。有问题询问我。
我需要在点击文档查看后的查看页面里,也加入搜索框,用于搜索当前文档中的关键词并高亮显示。由于查看时都是看的转换后的 pdf 格式,要格外注意处理pdf 中的换行(关键词在换行处断开)。
我需要双击方案行打开查看窗口,包括子方案和配套
我需要方案管理界面 ctrl 加鼠标滚轮,仅对鼠标指针所在区域生效。区域划分为左侧分类区域 中间方案列表区域 右侧预览区域
/plan 现在我要开始申请权限功能,我有两类角色: 第一类是超级管理员 第二类是部门管理员。超级管理员可以选择把哪个部门的权限授予这个部门的管理员,可以设置哪些人是这个部门管理员 超级管理员拥有所有文档的所有操作权限。部门管理员默认情况下拥有本部门的所有文档的所有操作权限,但他对别的部门的文档不具备权限 普通用户在默认情况下只能查看本部门管理的所有文档。不能查看别的部门管理的文档。部门管理员和超级管理员都可以对该部门人员的权限进行细粒度划分
方案计划文档管理系统技术方案.md 3.3章节,进一步细化,可再分一级子层级,写每个模块子功能,多写一些,现在写得像科普,不像设计
3.3章节,篇幅够了,但总感觉写得过于技术细节了,再调整一下,以方案的角度,面向评审,不要写到数据库某列某字段这种技术细节。
关于 RBAC与部门管理员权限管理方案.md,我要进行一些修改:
如果说我想只留一个方案搜索框,使其既能搜索主方案,又能搜索子方案和配套资料,我应该如何设计交互?如果主方案和子方案是独立的,那很好设计,搜索后,上方主方案显示匹配的列表,下方子方案显示匹配的列表,即可。但目前,主方案和子方案之间有关联关系,所以我不太确定何种交互方式比较合适。
保留现在的方式吧,不过进行以下改动:
确保:文中双引号都是中文“”;空格规则符合英文与中文之间没有空格、英文单词间存在空格的要求。另外,“→”、“—”、“+”等符号,前后也不要有空格。然后使用 docx 技能,将“方案计划文档管理系统技术方案.md”输出为docx文件,正文使用 仿宋_GB2312 字体,小四 字号,固定值28磅 行距,首行缩进 2 字符;标题使用 黑体 字体,小四 字号。“- ”标记的条目化内容,不要在前面加黑点,缩进等与普通正文段落格式一致。
刚刚的计划,输出到docs/plans 下,然后按 P1→F1→F2→F3→F4→测试的顺序推进
为什么我搜一个子案的标题,不带该子案的主案也能被检索出来?
“方案分类”字体稍微大一些,然后右侧三个按钮(或者其他切换方式),用来切换“大”“中”“小”字体。字体仅对分类树生效。另外,再加一对按钮切换,用来切换“树状”“矩阵”分类显示。目前“矩阵”先不做设计,仅保留日后扩展。 相对地,Ctrl+滚轮对方案分类区域则不再生效。
密级分5级:绝密、机密、秘密、内部、公开。密级在表格中的显示,绝密修改为红色,机密和秘密修改为蓝色,内部和公开修改为绿色。
单击方案,右侧预览界面,与中间列表界面,比例修改为1:1,且可拖动调整左右大小。拖动后,自适应宽度。
类型/分类、概述与标签、更新时间,不再在列中展示。 另外,确认右侧预览界面,与中间列表界面,比例是否为1:1
build目录中,增加run.ps1脚本,作用是先执行build.ps1脚本,然后进入目录dist-package/dms-server中,执行dms-server.exe吧
绝密的框不要实心,和其他密级一样。 表格加载的刷新,不要占用表格区域,可以做个遮罩覆盖整个表格,不要放在上方挤压表格。 除中间区域和右侧预览区域外,其他地方不响应Ctrl+滚轮事件。 “查看”对话框,可以双击标题栏放最大,可以点“最大化”按钮最大,可以全屏展示(不用调浏览器全屏方法,只需要最大化且将标题栏隐去,但需要在某个地方放一个退出全屏按钮)。 如果管理员对文档有编辑权限,那么在“查看”对话框中,右侧增加一个“详细说明”输入区域,多行文本框,可以输入说明信息。对于有说明信息的文档,普通用户查看时,表格内操作列,增加“说明”按钮,鼠标移上去则Tip显示详细信息。没有说明信息的文档,不增加该按钮。点击“说明”按钮,与点击“查看”按钮行为一致,因为查看”对话框右侧已包含详细说明展示。
“说明”按钮,鼠标移上去的Tip,风格也与当前色调、字体大小等保持一致吧。
sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2003, "Can't connect to MySQL server on '127.0.0.1' ([WinError 10061] 由于目标计算机积极拒绝,无法连接。)") 但我的数据库地址不是127.0.0.1呀
我是执行 alembic -c .\backend\migrations\alembic.ini upgrade head 报的错
现在我的部署形态,服务为前后端统一打包,通过同一个端口对外提供服务。分5台服务器部署:第一二三台部署3个无状态服务;第一二台部署主备nginx;第一二台的服务包含备份功能,将备份文件放到第三台服务器上。第四五台为达梦数据库(主备模式)。用户主要访问第一台nginx,然后代理到第一二三台。偶尔可以访问第二台nginx,代理到第一二三台。nginx要对外提供https能力,内部反代走http协议。请针对我的部署形态,设计5台服务器之间,以及5台服务器与用户机之间,需要通过防火墙开放的端口。以表格形式列出。
873 为 rsync daemon(单端口,防火墙最友好);若选 NFS 需 2049(+111)。详细介绍一下这两个方式? 再介绍一下 VIP 和 keepalived 浮动 IP。
| 服务器 | 入站放行端口 | 允许来源 | 说明 |
|---|---|---|---|
| 服务器1 | 443/TCP | 用户机网段 | nginx 主入口 |
| 9345/TCP | 仅服务器1、2 的 IP | nginx 反代;禁止对用户网段开放 | |
| 22/TCP | 运维网段 | 管理 | |
| 服务器2 | 443/TCP | 用户机网段 | nginx 备入口 |
| 9345/TCP | 仅服务器1、2 的 IP | 同上 | |
| 22/TCP | 运维网段 | 管理 | |
| 服务器3 | 9345/TCP | 仅服务器1、2 的 IP | 应用服务 |
| 873/TCP | 仅服务器1、2 的 IP | rsync 接收备份 | |
| 22/TCP | 运维网段 | 管理 | |
| 服务器4 | 5236/TCP | 仅服务器1、2、3 的 IP | 达梦主库 |
| 61141、61142/TCP | 仅服务器5 的 IP | MAL 同步 + 守护心跳 | |
| 22/TCP | 运维网段 | 管理 | |
| 服务器5 | 5236/TCP | 仅服务器1、2、3 的 IP | 达梦备库 |
| 61141、61142/TCP | 仅服务器4 的 IP | MAL 同步 + 守护心跳 | |
| 22/TCP | 运维网段 | 管理 |
OK,那加入 rsync 和 keepalived,再补充端口配置。
我之前要求:【对于顶级分类而言,我需要让它们在左侧分类树中按竖向标签页列出,每个标签页点击后,分类树中出现其子分类。注意:“全部分类”按钮仍保留。如果某个顶级分类下没有子分类,保持分类树为空白即可,或显示一个提示“该分类下暂无子分类”】。为什么没有实现?我觉得你理解错了竖向标签页。你先给我解释解释。
竖起来啊,类似这样:
分 类 A — 分 类 B — 分 类 C
你这标签里不是每个字一行啊?还是整个分类名称一行
右侧预览界面,拖动时不跟随鼠标,而是会更快,查一下原因;
去掉分类搜索框;去掉方案分类栏顶端的“方案分类”Label;“小”“中”“大”三个按钮间不要间隔,前面加“字号:”提示,“列表”“矩阵”按钮间不要间隔,前面加“展示:”提示,整体居中显示;
实现:管理员界面中,分类标签页也能拖动排序,分类树中同级节点也能拖动排序
高级检索、清空条件、高级检索里的“正文”“密级”“部门”,统一调整为14px大小。 去掉“回收站”按钮,“上传主案/子案”按钮修改为“上传主体方案”,仅能上传主案。
“全部分类”按钮文字居中,14px;尽量让“字号”和“展示”两个选择栏在同一行显示,可以将“:”号改为“:”号。
提示中的“共享附件”也修改为“配套资料”
是否能支持WPS格式的文档上传?也转成PDF预览?
新建时,也去掉“概述”和“标签”输入框。
上传方案、配套资料等内容时,允许的格式包括doc、docx、wps、pdf。文件选择器和校验时都需要修改。
对于预览和查看界面里,文档中单独的图片,我想点击它后,弹出一个图片浏览遮罩,可以通过Ctrl+滚轮放大缩小,右上角有关闭“×”按钮。这个还没实现?
用户维护界面,左侧机构树,字体太小,与“机构维护”界面中机构名称字体保持一致。另外,选中后,文字变成白色,与背景一致,看不到了,修改。
将当前配置的数据库导出为SQL文件吧,包括建表和数据SQL。
针对不包含配套方案和资料的顶级分类,点到后,隐藏下方配套列表。
你是不是理解错了,不是让你找某个分类下有没有配套资料,而是顶级分类那有配置,是否包含配套。
所有对话框,去掉“点到外面自动关闭”的功能。 添加分类时,在输入框里按enter键,触发提交吧。
我需要重构权限功能。
OR,但后续文档ACL会迁移为临时权限,必须限时,作为跨部门借阅情况
本部门文档按文档归属部门,还会有功能配置角色可访问部门列表,剩下的算其他部门
我需要一个方案密码锁的功能,当用户上传文件时,对话框高级设置里,可选设置密码,多选针对不同操作进行设置,即使是拥有权限的用户,进行对应操作时,也需再次输入密码确认。此操作也是为了防止超级管理员越权查看。对于超级管理员而言,若方案被设置密码,则各类操作均需输入密码(包括查看,不局限于设置的操作),但删除不需要。删除时需要二次确认。
针对 @docs/方案计划文档管理系统技术方案 ,我需要进行一些修改:
以上是技术性补充内容。你还要补充一个需求分析。注意此处不是从业务角度进行需求分析,而是从角色设置、权限管理、系统认证等功能出发,详细拆解需求,落到具体模块,也就是说,形成模块划分的理由。
注意:
将 82.156.x.x:3306 端口的 dms 库导出为 SQL,放到 backend/database-export 中,用户名 dms_app, 密码 ******(已脱敏)
我需要在“编辑”功能里,做一个给方案增加关联关系的功能。对于某个方案来说,可以设置0、1或多个关联方案,并指出其关系。例如,A方案编辑界面中,可以指定B方案为其依据,C方案为其支撑等。关系我需要预置一些,用于下拉选择,你看看在哪里配置(配置文件亦可),同时保留用户在关联时自己写的口子。 · 预置关系类型初始清单用哪套?(后续可随时改配置文件) → 默认三项 · 哪些文档允许被设为关联对象? → 仅主体方案 · 关联关系本次是否顺带做展示(查看弹窗中显示"关联方案"清单)? → 查看弹窗一并展示,且点击后可跳转至对应方案的“查看”窗口
接下来,我需要实现如下功能:在用户组织模块下,增加一个IP地址列表维护功能;然后可选为每个部门分配可登录的IP列表,用户访问时,如果其部门分配了IP,则需要验证IP是否在可登录IP列表里,否则拒绝访问。
行了行了,别倒腾了,冒烟不通过是否影响程序运行?如果不影响,就别搞了
当前,远端的mysql中,alembic数据版本是多少?我在内网生产环境中,用的是这个版本的数据库,并已有了真实数据,后续打包时,需要提供从该版本数据库升级的脚本。保证不能删除已有数据。可以以“dms-server.exe”+命令行参数实现,也可以用其他合理方式。
/plan 另外,我的系统挂载其他系统的门户中,从URL跳转。我拿到URL后,使用URL中的token和用户信息,去那个系统验签,合法后说明跳转无误;然后我判断:如果该用户信息与我系统中的一致,那么提示其输入我系统的独立密码登录;如果该用户信息与我系统中的不一致(说明那个系统中有了更新)或在我系统中没有(说明是初次跳转),那么去拉取该用户信息,写入我的库,要求其设置独立密码,然后再让其登录。这就是按需拉取用户信息。现在的问题是,对端系统尚未对接,URL格式不定,token验证方式不定,用户信息接口不定,用户信息格式不定。我想提前开发这个功能,让不确定的部分最小化,或能通过简单的配置解决。请给出你的建议。
build.ps1,中文乱码了,解决一下
你干了啥?bat、cmd、ps1格式的文件,不就应该使用GB18030编码和CRLF换行?干嘛弄成UTF-8 with BOM的格式??
重新调整字体大小,整个表格的字体大小与页面中主要文字的大小统一; “本部门”修改为“所属部门方案”,“已配置部门”修改为“可访问部门方案”,“其他部门”修改为“其他部门方案”; 表格项统一居中对齐。
目前,我的后端有没有什么必须使用python才能方便实现的功能?(如向量化、智能化之类的)。如果没有,我想尝试使用springboot进行转写,这样跨平台部署更加方便。但是,不要删除当前后端代码,在新目录下进行写入。
使用mybatis作为ORM框架,其他不变。计划写入docs/plans,然后开始实施
检索功能,检索结果出来时,隐藏下方配套方案等面板显示。
检索结果定位功能,假如下方面板关闭前点到的是支撑成果,那么即使检索出来的是配套方案,点击定位后,下方面板显示的也还是支撑成果。应该显示配套方案。请修复。
我需要支持xls、xlsx、et以及常用图片类型的上传和预览。与doc、docx、pdf、wps的处理逻辑一致。
excel表格如果转换为pdf预览,比较大的会分页。是否有办法按其有内容的区域导出为pdf,不考虑纸张版型?
可以用,但是转换时弹了个黑终端框出来,去掉
你弹出了窗口,
LibreOffice 26.2.5.2 cd7284b4cb
Press Enter to continue... 用户不按 Enter,你可不得超时么?
· 需求2:检索结果中主体方案的徽标(原“主体方案”字样)显示哪一级分类名?注意方案上传时必须挂在最末级分类下。 → 顶级分类名,且只有顶级分类可以设置显示分类名,就如同flat-mode 一样 · 需求6:“配套方案”页签展示的是子方案文档(不是共享库附件),“挂载”只适用于共享资料库中的附件。该页签的按钮如何处理?三类附件页签(支撑成果/训考资料/典型案例)将改为:上传(按当前页签类型上传新附件并自动挂载到当前主案,同时入共享库)+ 挂载(打开共享库挂载弹窗并按当前页签类型预过滤)。 → 子案也加挂载,且可以选择其他主案的子案挂载
左侧分类树,一级分类的竖向显示中,将()显示为∩∪,也就是竖起来。
半角括号是否也有对应的竖向显示?还有哪些类似的情况?
分类树那里,现在显示“服务器内部错误”。
不继续,但我需要使用 dms-server.exe upgrade-db 对生产环境数据库进行升级。生产环境数据库现在是0016版本。升级脚本不用删除之前0013~0016的升级。
生产环境升级数据库报错:No module named logging.config
审计界面中,经常出现“审计日志响应不符合DMS接口契约”“动作分布响应不符合DMS接口契约”。怎么回事?
针对无权查看的方案,点击后右侧显示为空。右侧显示一个提示吧,无权查看之类的
为了安全,为整个页面增加禁止选中文字和复制文字的功能;增加淡淡的斜向水印,以便系统截图流出后确定责任人。(至少包括用户名、登录IP、登录时间等)
怎么运行了1小时?
下方那个配套方案面板中,当前:那个显示,如果主案名称过长,使用省略号截断,不要挤压左侧TAB页显示,不要让TAB页文字换行
离谱了,你搞得我预览界面无法扩大了,我的意思是可以压缩主案标题。算了,干脆把“当前:XXXX”去掉吧,没用
你可以使用远程MySQL进行测试,这也是测试库。不要整SQLite了!
部分分类后括号中数字不对,应计算本分类与子分类下的所有主体方案数量 另外,普通用户检索,应该能通过标题检索到所有文档,能不能看另说,不要在检索时提示无权限。
我向你提过需求:“1. 我们现在有浏览和管理两个界面,现在哪几个操作按钮在浏览里显示?哪几个在管理里显示?我的想法是,查看和下载放到浏览界面中,然后所有的操作都放到管理界面中。
分类名称过长时,鼠标移动上去,tip只显示该分类名称即可,不用显示完整层级
所有的鼠标悬浮显示tip(说明按钮,分类名称,权限不足提示等),统一风格,深蓝边白底深蓝字吧
所有的鼠标悬浮显示tip(说明按钮,分类名称,权限不足提示等),统一风格,深蓝边白底深蓝字吧
当前,中间区域,如果方案包含配套案之类的资料,上下分栏显示时,我要求是1比1比例,但目前不是,通过滚轮放大缩小后,比例会失真。另外,也增加上下拖动调整比例功能吧,默认1比1,拖动后,放大缩小,这条线切分的比例不动。拖动过程中,也是不实时渲染,鼠标放开后渲染。
方案编辑中,增加所属单位编辑功能。
现在,部分文档上传到系统后,没有出现解析后的文本。我需要你:
管理界面,鼠标指到对应位置,弹出的Tips位置正常,但是浏览界面,鼠标指到方案标题、按钮、说明等位置时,弹出的Tips位置都有偏移,排查
PDF 段内软换行合并,可能误伤很多应换行的区域。如标题行,最后也不是标点,就会和后面的正文分到一起去。再想想合适的办法。
我需要将登录界面背景改成图片。且需要支持用户自定义,用户届时将background.jpg/png放到运行目录下,即可自动读取并拉伸平铺到界面中作为背景。
告诉我,现在页面滚轮放大缩小的机制,因为放缩后,我查看表格文字,都还是14px,一直不变。默认情况下,打开页面,方案表格里的文字大小是多大?
能否从上一个提交中,将 backend/instance/dms_smoke_test.db 删除?告诉我命令,我自己执行。
由于用户平均年纪较大,凡是非解释说明性质的文字(包括表单中、列表中、设置界面等),最小字体都得是16px;解释说明性质的文字、以及可能出现大段文字的地方(如解析文本处),字体可小一些,但是也要统一,14px吧。 另外,分类那里的小中大,将“中”设置为16px。 全面检查,不留遗漏。
全面检查Java实现。尤其是针对我近期提出的新需求,检查Java后端是否跟进。参考 prompts.md。
按上面P0→P1→P2的顺序直接开始实施阶段10
再给我详细解释一下 UNBIND_ATTACHMENT。之后我再做出决策。
方案B吧。另外,子案(即现在的配套方案)逻辑也修改为与“支撑成果”、“方案训考资料”、“典型案例”等一致,即可通过共享资料库上传,在“配套方案”中上传后,也出现在“共享资料库”中;解绑后,即使完全没有与任何主体方案关联,也仍然存在在共享资料库中。相对地,共享资料库中的方案,每个都增加一个“类型”字段,可选“配套方案”等四类。当在某个主体方案的“配套方案”Tab页点击“上传”时,分类自动填入“配套方案”;当在某个主体方案的“配套方案”Tab页点击“挂载”时,列出的共享资料,配套方案排在前面(因为与Tab页匹配),其他的排在后面。
我希望,在“查看”页面中,做关键字检索时,查询到的关键字,除在右侧“解析文本”处高亮并跳转外,在文中(PDF显示处)也高亮并跳转。给出可行路径。
实现前,先使用技能 git-commit-log-gen 生成提交日志,可以参考 prompts.md 中的末尾部分需求。
审计页面中,扇形统计图,不要写图例了,密密麻麻一大堆,等鼠标指上去后再显示每个扇形块的类别和数量。 另外,角色处,不再划分“可访问部门”,下方权限矩阵中,不再包含“可访问部门权限”。原有可访问部门权限数据删除。“其他部门”就包含了“所属部门”外的所有部门。
我打算把数据库切换为达梦数据库,主机不变,端口号为5236,用户名和库名都是DMS,密码不变。数据还未迁移,另一个agent在做。你来改造程序吧。原MYSQL链接保留但注释掉,用新的DM链接。
还记得刚刚关于PDF检索的决策吗? PDF文内高亮三个决策点按默认建议执行:1)命中计数以PDF侧(pdfjs实际可高亮命中)为权威;2)PDF文本层不可选中(仅作高亮坐标数据,维持禁复制约束);3)查看弹窗内固定pdfjs渲染。已实现:PdfViewer叠加高亮块(当前命中深橙/其余淡黄,multiply混合),跨页全局序号与右侧"提取文本"面板联动跳转,命中跨行时按行拆多个高亮矩形。
E:\dmdbms2\drivers 下包含驱动,去把Python驱动拿过来吧
temp/sql 下,有从 MySQL sql 文件转换来的 DM sql 文件。尝试导入 <达梦库地址>:5236 实例,用户名和库名都是DMS,密码"******"(已脱敏)
run-java.bat 文件中,重新打包时,不要删除原 .env 文件,否则每次都需要重新生成,每次启动都不对;run.ps1 文件中也是一样。
目前,pdf文本解析,对于标题行,还是有概率和标题后的正文识别到一起。
左侧“小”“中”“大”按钮,同样控制最左侧顶级分类Tab页签上的文字大小吧。
两个 build 脚本调用 export_full_demo_data.py 时传 --output,而工具要求 --env-file/--storage,导出会告警失败(不影响打包)。这个问题如何修改?
所有改动,Java侧和Python侧同步修改
我已经部署了一版,使用MySQL作为数据库,并有了真数据。现在,我想把数据迁移到达梦上。用达梦的迁移工具迁移失败,导出sql有很多MySQL方言,达梦不认。你能否针对本项目,写一个迁移程序,支持MySQL与达梦间的数据转换?语言不限 可参考temp/sql下的最新脚本
MySQL库:ecs.bitwsj.cn,端口3306,用户名dms_app,密码asdqwe123! 库名dms。 达梦库可使用ecs.bitwsj.cn,端口5236,用户名DMS,密码一致。建立一个新模式来测试
需要注意的是,我给的两个MySQL和达梦库,也是测试库,真实线上生产库数据更全面,所以写脚本时应更通用,而非只针对测试库数据进行转换。
给我生成一个版面较大的Excel文件作为测试用例,放到temp下
补充一点:管理员类别用户,增加一个“管理机构”或“管理部门”选择框,默认置为其所在部门,但可以让用户选择,以适应该用户虽然处于A部门,但管理B部门的情况。相应地,他就只可以编辑B部门及之下的机构及用户。 对于管理员用户来说,分类编辑、机构编辑、用户编辑权限默认选中。
测试时,可以用python后端+MySQL作为测试环境,Java+达梦的测试我来做。
java服务,预览报错:预览转换器未配置或不可用
我之前有需求:“excel表格如果转换为pdf预览,比较大的会分页。是否有办法按其有内容的区域导出为pdf,不考虑纸张版型?”。为什么Java服务下现在还是分页预览?
为什么现在方案列表的速度很慢?
A+B,Python和Java同步改造
为什么点击删除后,到确认界面加载出来也很慢?
实际删除也很慢,一并排查
用java做达梦测试。
下一个任务:我之前有需求:“excel表格如果转换为pdf预览,比较大的会分页。是否有办法按其有内容的区域导出为pdf,不考虑纸张版型?”。为什么Java服务下现在还是分页预览?
不对,新上传的excel也还是分页形式。
还是不对
日志:
2026-09-02 17:48:56.294 INFO [870bcf25-dbb8-4d06-8899-aece372d3e] c.dms.service.LibreOfficeConverter - LibreOffice 转换命令: D:\Program Files\LibreOffice\program\soffice.exe --headless --nologo --nodefault --nofirststartwizard --nolockcheck --convert-to pdf:calc_pdf_Export:{"SinglePageSheets":{"type":"boolean","value":true}} --outdir C:\Users\Administrator\AppData\Local\Temp\dms-lo-2526f10e-12135912831162117158\out -env:UserInstallation=file:///C:/Users/Administrator/AppData/Local/Temp/dms-locfg-2526f10e-8522884441664127398 C:\Users\Administrator\AppData\Local\Temp\dms-lo-2526f10e-12135912831162117158\2ae7f25b-ac87-45c3-94e3-5f424cffb4.xlsx
但是结果还是不对,查看文件是否生成?以及读取的文件有没有问题?
java中命令执行用的cmd?还是powershell? 我自己敲命令尝试了,"pdf:calc_pdf_Export:{\"SinglePageSheets\":{\"type\":\"boolean\",\"value\":true}}" 这种方式可以转换为单页,但是只能转换excel中当前可见的列,其余列的区域为空白,如何解决?而且你现在拼接参数的形式,还是多页。
现在,预览和查看区域的图片、文档、表格等,交互方式不一样啊,文档可以通过Ctrl+滚轮放缩,图片点开后可以通过Ctrl+滚轮放缩,表格不能放缩。统一成在区域里直接通过Ctrl+滚轮放缩。放缩后,直接鼠标拖动即可移动查看区域。
用户和角色的管理关系怎么配?原来用户编辑中的“角色”去哪了?
除 admin 用户外,其他管理员也要关联角色,用角色去限制其对本部门和其他部门的文档管理权限。
页面右上方,“后台管理”修改为“方案管理”,“文档浏览”修改为“方案浏览”。“机构用户”页面里,“机构用户”子Tab页修改为“机构管理”,“用户维护”修改为“用户管理”。
我试了一下,新建了审计员用户,没给他赋用户和机构编辑权限,但该用户登录后仍可以新建机构和用户。告诉我为什么
/plan 如果我想把用户管理、机构管理、分类管理的权限,做到权限矩阵里,需要该改哪些内容?
等待确认:
确认后即可按阶段开工(也可只做其中某阶段)。
Q1:方案B;Q2:接受;3. 无;4. 可以
/plan 我给的要求里,要求管理员通过拖动可调整文档顺序。但我发现一个重大问题:如果跨页调整(如将一个文档从第二页调整到第一页),没有这样的手段。给出解决方案。
已实施(契约1.18):后端 Python 与 Java 双版新增
PUT /documents/{id}/move(targetPosition 与 target 二选一,主案可带 scopeCategoryId 分类子树范围)与PUT /main-plans/{id}/attachments/{bindingId}/move(必填 mainPlanRowVersion,可带 scopeAttachmentType 页签类型范围)两个接口;位置为范围内1-based序号自动收敛,"可见子序列重排+槽位回填"保证范围外条目原位保持,目标位=当前位为无操作不写库不审计;权限同拖动重排(文档EDIT/主案BIND_ATTACHMENT),新错误码 DOCUMENT_NOT_IN_MOVE_SCOPE(409),审计动作 MOVE_DOCUMENT/MOVE_ATTACHMENT 入UI字典;前端管理页主体方案表与挂载附件表新增"移动"行操作及位置对话框(数字目标+置顶/末尾快捷,显示当前位与范围总数,成功后跳转目标页),无数据库迁移。
移动置顶报错:违反CHECK约束[CK_SYS_AUDIT_LOG_AUDIT_ACTION_TYPE]。
已修复:新增审计动作 MOVE_DOCUMENT/MOVE_ATTACHMENT 时漏建
sys_audit_log.action_type的 CHECK 白名单迁移(白名单停留在0015的36项),达梦库约束名渲染为大写导致插入审计被拒、事务回滚。补双引擎迁移0025_move_audit_actions(Alembic)/V10__move_audit_actions(Flyway):探测既有约束(大小写不敏感)删除后按38项白名单重建,target_type 约束不变,降级拒绝有 MOVE 审计记录的库;生产库重启或 upgrade-db 自动应用 V10 后重试移动即可。
有一个严重问题:我在本机测试环境中,没问题;但是到生产环境中部署,出现问题,报错在分类管理和角色管理处,((Number) row.get("categoryId")).longValue() 和 ((Number) row.get("roleId")).longValue() 处。查看原因,SQL语句中 select category_id as categoryId,但达梦数据库返回的列为CATEGORYID。达梦数据库由于列名均为大写,故驱动中包含camelCase与SCREAMING_SNAKE_CASE之间的自动转换。分析:为什么本机没问题,以及如何统一规避所有类似问题。
刚刚有其他agent修改了代码,确认你的修复生效
/plan 我给的要求里,要求管理员通过拖动可调整文档顺序。但我发现一个重大问题:如果跨页调整(如将一个文档从第二页调整到第一页),没有这样的手段。给出解决方案。
有一个本机测试没问题但生产环境有问题的情况:生产环境中,双击某条方案打开查看界面后,Ctrl+滚轮放大缩小,理论上应为查看界面中的文档放大缩小,实际上为文档、查看对话框、遮罩后的列表一起放大缩小,十分诡异。 但是,在检索结果中双击打开查看,则无此问题,放缩只针对查看界面中的文档。非常奇怪。排查。
我在生产环境中好像已经修改了 PDF_PREVIEW_ENGINE=pdfjs。而且,我说的在列表中双击和在检索结果中双击,打开的是同一个方案,但其缩放表现有差异。进一步排查。
查看 prompts.md 中,我对于“定位”功能的需求。现在,检索结果中,对配套方案点击“定位”,即使其已与主体方案挂载,也不会跳转到主体方案对应的界面,而是跳转到“共享资料库”。排查。
针对共享附件的定位功能,如果其挂载主案为0,也允许其跳转到“共享资料库”界面;但如果其挂载了一个主案,那么就应跳转到那个主案对应的界面;如果其挂载了多个主案,点击定位时应弹出选择框,让用户选择跳转到哪个主案。
进程崩溃了。注意:之前的编辑是由一个较弱的模型完成的,审查其编辑思路;另外,有多个其他agent在修改项目,不要覆盖其成果;然后继续工作。
把引擎默认值统一改为 pdfjs,iframe 仅作显式降级选项
打包脚本不要删除dms-storage了
放大缩小还有问题。文档格式还好; 表格格式,预览界面还可以选中文字,且无法通过鼠标拖动位置;查看界面中,倒是不能选择文字,但放大倍数到一定程度就不动了,且放大后滚动条有问题,左侧丢失,看不到左侧内容。 图片格式,不点击图片显示浮层时,预览界面无法放大缩小,查看界面放缩倍数特别小,而且放大缩小滚轮控制时反着的,还会抖动。 好好检查!
移动置顶报错: SQL: INSERT INTO sys_audit_log (user_id, username, real_name, organization_id, organization_name, action_type, target_type, target_id, target_name, operation_result, failure_reason, client_ip, user_agent, request_id, operation_detail) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
; 违反CHECK约束[CK_SYS_AUDIT_LOG_AUDIT_ACTION_TYPE]
挂载报错:pageSize必须在1-100之间
已修复:配套方案Tab挂载弹窗(软排序模式)单请求
pageSize=200超出契约上限100(后端分页校验 1~100),弹窗打开时列表加载即被 400 INVALID_ARGUMENT 拒绝。该模式需全量整表展示(无分页UI),改为按 100/页循环翻页拉完全量共享资料库(与弹窗内"已挂载列表"同款循环,筛选条件变化自动中止重拉),分页模式维持 10 条/页不变;useAttachmentList补可选 enabled 参数(镜像 useMountedAttachments 签名)在软排序模式下停用、避免多发一次无用请求。纯前端修复,无后端与契约变更。
我他妈的早设置了pdfjs作为渲染引擎
我也重启过了,重启时确认引擎是pdfjs,但当时查看,预览仍可以选择。我看看现在状态吧
怎么预览界面所有类型都无法放缩了???
我接下来要提交java源码做源码安全扫描(不含配置文件,只含.java文件)。之前项目的问题有: 可能的空指针 序列化不可信数据 未用SecureRandom随机数 未验证上传文件和外部输入数据 需防止sql注入 需正确设置sethttponly为true 需使用同步令牌模式或使用隐式访问抵御csef 使用白名单抵御xss 弱密码或明文密码或硬编码密码 字符串拼接注入 跨站脚本攻击reflect 忽略并发控制 等。 由于担心更改影响功能,我复制了一份源码,在src-check目录,你在此基础上修改,包括但不限于上述问题。后续测试充分后再同步至src目录。检测的源码不用真的跑起来。
原有方案授权界面,3种方式全部删除,只留针对用户的授权,授权限时,最长7天,为“借阅”语义。授权时可选上传pdf审批单作为凭证。 仅查看+下载,复选框可选,时限可选,最长7天
点击子案的定位后,跳转后界面中子案条目也高亮吧,目前只有对应主案高亮了
预览界面放大缩小时,不要带预览界面标题等,只放缩文档内容
现在预览界面和原来缩放方式不一样了啊,原来可以放得很大,现在只能放大一点点,而且放到最大再滚动,还会抖
不应该将放大倍数固定为最大3倍。因为我让你自动适应宽度,那么对于宽度很宽的文档而言,它适应宽度后,本身就缩小了很多,在此基础上放大3倍,可能还没有原本它那么大。应设置为能放大到原尺寸的3倍。
右上角顺序调整,将“机构用户”调整到“日志审计”前面。
还是有问题,如果针对整个容器进行放缩,假如这个容器上方有空白,那么放大后空白也会放大,且滚动条也不出现。
用户管理报错:人员列表响应不符合DMS接口契约
如果使用flyway升级达梦数据库,用什么命令?(不要执行)
我这个测试环境和线上生产环境都报错:方案管理关系不符合DMS接口契约; 我测试环境没问题但线上生产环境有问题:配套资料编辑时报错:不符合DMS接口契约; 还有审计日志中有一些行也是不符合DMS接口契约。 你这个契约怎么回事?
我部署到生产环境中后,预览界面都没问题了,但查看界面,Ctrl+滚轮,有些情况下还是文档+对话框+遮罩后的文档列表一同缩放。你不要跟我讲什么版本老旧,我确定部署的是前后端最新版本(Java版后端),以及配置用的pdfjs。 查明了,对配套资料库里的文档查看有此bug,主体方案里的没有
使用技能 git-commit-log-gen 生成提交日志,可以参考 prompts.md 中的新增部分需求。本次提交为集中修复问题,种类繁多,按照重要性排序,同类问题合并,不要写得过于复杂。 另外,判断是否有不应提交的代码需要补充到.gitignore中。
/plan 接下来一个新需求:用户想支持风格切换,主要是颜色。我们可以内置一些,如当前的蓝色、红色、绿色等。每个用户的设置要持久化。先计划一下。
flyway的升级sql,我在达梦下跑不通,给我另外生成一份达梦对应的版本吧(不要修改原来针对MySQL的版本)
我恢复了代码,你重新修改。要求: 代码安全检测修改意见(只修改Java的src-check目录,不要管src-check与src的差异,改完无需编译通过,因为检测不进行编译,不动src下的源码,脚本替换的话,确认没问题再执行,否则很难恢复):
运行中断了,继续,可在prompts.md中最后一段确认需求
还有:所有的bytes.write均被报XSS攻击,所有的HexFormat.of语句都被报未加salt。给出可选方案
再好好看看我的需求,你确定都改完了?还有很多System.out和System.err,还有很多catch Exception,还能搜到bytes.write啊? 哦,我搞错了,temp/src-check下的文件无需处理。
return switch (action) { case "VIEW" -> truthy(document.getProtectView()); case "DOWNLOAD" -> truthy(document.getProtectDownload()); case "EDIT" -> truthy(document.getProtectEdit()); case "DELETE" -> truthy(document.getProtectDelete()); case "CONFIG_PERMISSION" -> truthy(document.getProtectConfigPermission()); case "BIND_ATTACHMENT" -> truthy(document.getProtectBindAttachment()); case "UNBIND_ATTACHMENT" -> truthy(document.getProtectUnbindAttachment()); default -> false; }; 这里建议也重写成if-else结构,他们认为这个也是无返回值的情况(truthy方法)
if (oldFilePath[0] != null && !oldFilePath[0].equals(upload.finalPath())) { 这句,他报没有对应的equals方法,确认
确认Path对象有equals方法而不是Object的equals方法?
好的,将src-check中你所有的修改总结成文档,放到temp目录下,后续我们可能会将有价值的、不会影响src中实际功能的修改应用到src源码中。(本次不做)
为保证网络安全,无需要你将合法访问url和api外的路径统一返回404状态码
现在,针对/aaa这种不存在的路径,是否也返回404?
代码安全检测修改意见(只修改Java的src-check目录,不要管src-check与src的差异,改完无需编译通过,因为检测不进行编译,不动src下的源码,脚本替换的话,确认没问题再执行,否则很难恢复):
代码安全检测修改意见(只修改Java的src-check目录,不要管src-check与src的差异,改完无需编译通过,因为检测不进行编译,不动src下的源码,脚本替换的话,确认没问题再执行,否则很难恢复):
直接删除调用即可,包括uppercase,不用想替代方案
HexFormat.of()方法,上次被检测出来,你修改为Payloads.toHex()方法,这次仍然被检测出来。从函数签名角度,能否不做hex处理直接输出? 为什么这类方法会被认为是未加salt?
完整意见如下,再次全局复测以保证没有问题,扫描结果非常重要,不容有失:
Linux下部署,上传报错:未处理的DMS接口异常
上传时日志:
LibreOffice convertTarget: 最终值: [pdf]
转换命令: /opt/libreoffice25.8/program/soffice --headless --nolockcheck --nodefault --nofirststartwizard --nologo --convert-to pdf --outdir /tmp/dms/lo-e251010b-3819265075311481068/out --env:UserInstallation=file:////tmp/dms/locfg-e251010b-17693504065408775542 /tmp/dms/lo-e251010b-3819265075311481068/bf7f8858-130e-488f-6f56-85bb6808ad.upload
转换过程中,我在/tmp目录下抓到了临时文件:
21736473-b51c-4f2d-86b3-e9ad684361."pdf
确认:1. 命令是否有问题 2. 为什么临时文件名中带“"”符号
修复 Python 版的 UserInstallation 拼接
查看 temp/sql 下的 data.sql(针对达梦数据库),DOC_ATTACHMENT_BINDING、DOC_DOCUMENT、DOC_DOCUMENT_RELATION、DOC_PERMISSION、SYS_ORG_IP_ASSIGNMENT表在导入时报错有虚拟列,导不进去。查看一下原因。
建表未报错,导入报错:-6607: 违反引用约束[FK_DOC_ATTACHMENT_BINDING_MAIN_DOCUMENT_ID_DOC_DOCUMENT]
我要实现备份功能。常见的备份如何实现?
先实现A,按钮手动+定时自动,全部备份,拷贝到异机,支持全量和增量,文件大小可能在几十GB总量级别
① 异机用挂载网络路径的方案是否接受;② preview 预览缓存不备份(重建生成)是否接受
需要异机启动什么服务来接收备份?具体如何配置?(Linux,CentOS)
对照docs里的安全设计,看看系统是否具备相关能力
将这些缺失能力写入 docs/plans ,然后先实现A中的 访问令牌有效期 1 小时(并写为配置)、敏感操作二次认证(重输登录密码)、应用层信封加密 KEK/DEK
两个服务器都要启动服务?都要开873端口?为什么?
备份功能是否定版?如果是,更新OpenAPI至1.22版本
备份管理功能仅超级管理员admin可用。
我想实现一批系统管理功能,例如“备份管理”、“占用CPU内存等资源监控”等等功能。这批功能统一收到“系统管理”页签中。同时,在角色配置处,增加系统管理相关权限配置(与分类管理等放一起)。拥有该权限的角色才能看到“系统管理”页签。(admin用户一定拥有该页签。) 你先帮我列举系统管理中可拥有哪些功能,我决定后再开始实现。
将当前待决策内容写入docs/temp下,以免上下文过多找不到。 你的推荐很好,就按照 1、2、3、5、7、9、11、13、16、17、19、22 + 权限方案一 来做。但是注意:13 并入 日志审计 页面,可单开窗口查看原始运行日志。 二期,做 6、8、20。 另外,增加“日志审计”管理权限,用于查看“日志审计”页签。 具体实施时,有需要我决策的,询问我后再开展。
(系统管理功能实施过程中,psutil 依赖新增已确认:内网离线部署时补 whl。)
运行中断了,继续
计算 dms-server.jar 文件的MD5和SHA-1值
只需要计算 dist 下的即可
Java端启动失败:UI字典配置无效:allowedModules的code集合与服务端枚举不一致
重置密码时,如密码不符合要求,报错信息怎么能显示到界面右侧??要么Toast弹框,要么显示到密码输入对话框中!! 以及排查,还有没有类似问题。
我之前提过需求,针对用户按需同步的需求(我的系统入口在另一个大系统中,大系统登录后,点击我的入口,将用户ID和token带给我的系统,我拿着token和用户ID,去大系统验证是合法用户,如果合法,在我的系统中查找用户。如果未找到,新建该用户(等于按需从大系统同步),然后让用户设置我系统的独立密码;如果找到,让用户通过独立密码登录)。整理当前实现,告诉我目前状态。稍后我再提修改要求。
需求1. 由于我只按需拉取用户,未按需拉取机构树,所以本系统机构树和大系统可能不一致。因此,用户设置系统独立密码时,同时让用户选择自己所在机构(本系统里的机构); 需求2我稍后再提。
/plan 完成需求1后,规划需求2(仅Java侧实现即可):步骤与原需求稍有区别:1.从一个本地单点登录代理中拿到一个token;2.拿token去用户服务获取用户基本信息;3.将用户按需同步到本系统。进一步实现的话,我需要拿到一个java sdk。但目前该sdk还未拿到(很快可以拿到),我只拿到了sdk使用文档。所以,我需要你先想办法模拟sdk的运行(一个jar包放到backend-java/lib下,通过systemPath的方式写入pom.xml,并在打包时打入jar包;一个本地代理服务(8080端口),用于返回单点登录的token、验证token返回用户信息,简单实现即可,使用实例数据,不用确保正确)。获取用户基本信息的示例代码如下(不规范,你将其规范化):
// 初始化客户端
UserClient userClient = UserClient.getInstance("127.0.0.1", 8080); // 代理单例,host和port写到配置文件里
// 获取本地代理中保存的token(简化写法,实际每一步都要检测是否为null,是否非法)
Result result = userClient.getToken();
TokenDto tokenDto = result.getData();
String accessToken = tokenDto.getAccessToken();
// 获取用户基本信息
UserService userService = UserService.getInstance("x.x.x.x", 8800); // 用户服务,host和port写到配置文件里
Result result2 = userService.getUserBasicInfo(accessToken);
UserInfoDto userInfoDto = result2.getData();
BasicInfoDto basicInfoDto = userInfoDto.getBasicInfoDto(); // 包含 String userId、String username、String realName等,有其他字段需求的话跟我说。
查看界面,“关联方案”前不要加图标,与其他块保持一致;关联方案列表中,“关系”与“方案”之间不要加“·”,“关系”用方框框起来,类似列表中“密级”列的样式(除颜色外)
另外,系统管理界面,报:系统信息加载失败:运行参数总览响应不符合DMS接口契约。然后所有项目都显示不出来;还有,备份管理的区域只局限在页面最下方很小一块区域,滚动也显示不全。是否还有其他功能未展示出来?
Java端,日志相关:
1d1b06be (连接尚未建立或已经关闭). Possibly consider using a shorter maxLifetime value. 如何考虑修复?增加一个配置,是否显示监控信息,默认为false。同步到.env和.env.example中。若为false,则隐藏系统管理中的“维护操作”之上的所有监控信息。
另外,点击用户名后出现的卡片,会被遮挡,让它显示到最上层。
配置rsync://82.156.83.248/data/,密码asdqwe123! 但是全量备份报错:触发备份任务响应不符合DMS接口契约;以及 未找到 rsync(RSYNC 模式需安装 rsync 或配置 DMS_RSYNC_EXECUTABLE)
Windows下用nuket/rsync-windows吧,Linux下是否是直接使用rsync命令即可?
重新打包后,dist文件夹里没有tools呀
/plan 用户给了登录界面的风格参考。 风格设置页面,修改名称为政务蓝、护眼绿、党政红,风格名称居中显示 政务蓝:
顶部横幅:深蓝渐变#0OB2A5B
登录按钮:蓝底#2060C8一#123B7E
聚焦光晕/勾选:蓝色#2060C8
护眼绿:
顶部横幅:深绿渐变#062B1E
登录按钮:绿底#228B5E一#12513A
聚焦光晕/勾选:绿色#228B5E
党政红:
顶部横幅:深红渐变#4A0404
登录按钮:红底#C7000B一#8F1010
聚焦光晕/勾选:红色#C7000B
现在,参考该色调进行整体风格色调调整。
备份配置加载失败:rsync 传输失败(退出码 1):rsync error: syntax or usage error (code 1) at main.c(1415) [Receiver=3.4.1]
主标题固定为“方案数据管理”,什么时候开始随着标签页跳转而变化了??
备份配置加载失败:rsync 传输失败(退出码 23):rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1852) [Receiver=3.4.1]
审计日志界面,还有大量数据报错“该行数据不符合DMS接口契约,无法展示”。修改,并判断其他地方是否还包含不符合契约的数据。
数据库备份失败:未找到达梦导出工具 dexp(配置 DMS_DEXP_EXECUTABLE 或 DMS_DM_HOME,或将 dexp 所在目录加入 PATH)。能否不用dexp,设计我们自有格式完成备份?(参考temp/sql下的部分脚本)
三种颜色风格的主色调都有些偏深了,再亮一些(包括Tab页背景色、表头行背景色等),就是蓝色下的#0OB2A5B、红色下的#4a0404、绿色下的#062B1E对应的区域。这些区域颜色可以修改为比“上传主体方案”的颜色稍微深一点即可。#0OB2A5B、#4a0404、#062B1E,仅作为顶部横幅最上方的渐变开始色,顶部横幅最下方的渐变结束色设置为“上传主体方案”的颜色,均匀渐变。
查看prompts.md中我关于用户SDK的需求。现在情况有变,不再有Java SDK,而是直接通过Rest接口来获取: 从本地单点登录环境获取token: GET http://localhost:port/middle/token/get.json
响应示例: {
"msg": "成功",
"code": 200,
"data": {
"accessToken": "",
"tokenType": "Bearer",
"refreshToken": ""
}
}
获取当前登录用户的概要信息: GET http://ip:port/auth/user/describe 头部: Key: Authorization Value: Bearer accessToken
响应示例: {
"msg": "成功",
"code": 200,
"data": {
"userId": "1",
"username": "admin",
"realName": "赵XX"
}
}
获取当前登录用户的基本信息: POST http://ip:port/auth/user/getUserBasicInfo 头部: Key: Authorization Value: Bearer accessToken
响应示例: {
"msg": "成功",
"code": 200,
"data": {
"basicUserInfo": {
"userId": "1",
"username": "admin",
"realName": "赵XX",
"sex": "1", // 0:女,1:男
"deptId": "1",
"createTime": "2019-03-20T15:04:10.000+0000",
"cardId": "", // 身份证号
...
},
"expendUserInfo": {
"officePhone": "",
"phone": "",
...
}
}
}
修改接入方式,并修改mock代理。
备份配置加载失败:备份历史响应不符合DMS接口契约
新建用户响应不符合DMS接口契约。近期到底影响了多少接口??全面同级!马上要定版了,绝对不能出问题!
我新建了一个角色,将一个用户绑定到这个角色上。现在,我给角色赋权了系统管理和日志审计权限。登录该用户,为什么没有出现相应菜单?排查。另外,分类编辑、用户编辑、机构编辑等权限,到底有没有实现,一同排查。
xlsx文件,我要求转换为一页PDF进行预览。但放大后,PDF分辨率比较模糊。是否是转换时作为图片处理,分辨率比较小? 缩放后重渲染(标准做法) :zoom 变化停止 ~200ms 后按新 scale 重渲染位图,拖动过程沿用拉伸图保证流畅
角色管理中,为角色加入“角色编辑”权限,用于控制用户是否可以管理角色信息。
修复OpenAPI schemas.yaml。 另外,由于用户平均年纪较大,凡是非解释说明性质的文字(包括表单中、列表中、设置界面等),最小字体都得是18px;解释说明性质的文字、以及可能出现大段文字的地方(如解析文本处),字体可小一些,但是也要统一,16px吧。 另外,分类那里的小中大,将“中”设置为18px,小为16px,大为20px。 全面检查,不留遗漏。
maven打包时,去掉备份相关的测试吧,该功能目前应该没问题。
日志审计界面,“对象类型/名称”列,宽度固定,不要太宽,放不下的用“…”代替。其他列尽量也宽度固定,最好一屏可以将所有列呈现出来。
我需要离线下载所有maven依赖,将maven local仓库缓存地址暂时改到temp/.m2下,然后跑一次mvn package,将依赖下载完全,然后改回原仓库缓存;
除mock-sso-proxy外,还需要一个mock-sso-service,简单管理用户信息及其对应的accessToken和refreshToken(均随机生成即可),并写一个简单的前端界面进行管理。(每个用户后有模拟登录生成token和模拟退出清除token按钮,影响本地sso-proxy的token存储。)
使用sso模拟登录张三,使用本机IP:9345访问系统(该用户首次),为什么没有按需同步并跳出修改密码页面?
使用技能 git-commit-log-gen,针对 git add (暂存区)的内容生成提交日志,可以参考暂存区中 prompts.md 中的新增需求。不要动未加入暂存区的文件。
登录凭证有效期不符合DMS接口契约
标题横幅的方案数据管理修改为30px;分类树之上的字号和展示,调回14px
角色编辑中,角色管理权限放到用户管理权限后面
现在,前端界面要想展示正确,至少需要Chrome内核版本多少以上?为什么?
我用90版本内核进行测试,发现界面显示非常不正常,所有元素都挤到了左上角。然后我确认用户环境chrome内核版本是102。我应该怎么办?
新开一个分支,做浏览器兼容改动
我已经安装了新版本chrome,那么如何使用chrome102进行测试?
日志审计功能,现在确实固定列宽了,但为什么要把“结果”列做成弹性的?让其固定(能显示成功失败即可),让IP列能把IPV4地址显示全,把对象类型/名称设为弹性的。
设置密码时(每种场景下),都为密码右侧加一个小眼睛,点开后密码可见,输入一次即可,关闭后密码隐藏,需要有确认密码输入框,输入两次,一致为合法
机构 用户 角色,也需要拖动排序;所有支持拖动排序的,都删除排序号字段输入(库中可保留)
Ip地址录入 ,除x.x.x.x/24这种形式外,还应支持x.x.x.x-x.x.x.x这种形式
假如说用户输入192.168.1.1-192.168.2.3,为确保用户不是手误,在前3个数字不一致的情况下,和用户二次确认:匹配XX个IP地址,是否确认?
上传文档时,对话框选择文件处,删除‘选择文件’四个字
新建用户,选择“测试角色”,报错: 语法分析出错
语法分析出错 ; bad SQL grammar []
SQL语句内还存在EXISTS语句,达梦数据库不是不支持? Re:达梦支持 WHERE EXISTS(...) 谓词用法——不支持的只是 SELECT EXISTS(...) 标量投影(MySQL 专有)。
部分情况下,鼠标指向弹出的Tips,会一直不消失,不管点击哪个界面,它都一直存在,查找bug原因。
编辑用户时,若将用户选择为管理员类型,那么表单增加一条“机构及用户管理范围”,可选择机构树中的某个机构。(即原“范围锚点”)。 另外,新建用户时,输入用户密码时,现在输入框中有小眼睛,输入框右侧还有小眼睛。留一个即可。另外,只在初始密码右侧有小眼睛即可,小眼睛打开则不需要“确认初始密码”输入框。
错,角色和用户都有该范围设置。用户必须设置到全局管理权限或某个特定机构(默认为用户所在机构);角色可设置到全局、某机构或跟随用户设置。实际计算范围时,以角色设置为准,角色设置为跟随用户设置时,再根据用户取其管理范围。
修改一下,只有对文档有“编辑”权限的用户,才可以“移动”文档。
用户在用户管路界面,查看自己无权限管理的机构用户时,报机构下午用户,实应报无权限
报无权查看时,不显示任何用户
有个很严重的问题,如果用户A只有机构a的管理权限,他在a下建立用户B,赋予全局管理权限,那么B就可以为所欲为。我打算给个限制,用户编辑用户时,不能超出自己有管理权限的机构范围(范围计算以角色设置为准,角色设置为跟随用户设置时,再根据用户取其管理范围),否则报错。
报无权查看时,不显示任何用户,应该清空列表
重置用户密码时,现在新密码输入框中有小眼睛,确认新密码还有小眼睛。只在新密码右侧有小眼睛即可,小眼睛打开则不需要“确认新密码”输入框。 注意小眼睛打开时,不要因此报新密码与确认新密码输入不一致
配套方案上传报错:已上传至共享资料库,但自动挂载到当前主案失败,请通过"挂载"按钮手动挂载。
一大批改动:
我观察到,每次执行 migration-dm 中的 SQL 语句,都有概率失败;而且我的达梦实例区分大小写,所以我现在有的表名和列名是大写,有的(你修改的)是小写。我现在需要从V12-V17、V12-V17、……、V16-V17的迁移脚本,例如V12-V17的迁移脚本,就要合并V13、V14、……、V17的内容,并将V12数据库中的小写字段修改为大写。
将V12~V19的内容,小写表名、列名和约束名,也修改为大写。
以及,表名列名迁移大写的SQL语句未生效。
借阅授权已保存,审批单 0/1 上传成功;失败:普通用户:服务器内部错误。 原因: SQL: INSERT INTO sys_audit_log (user_id, username, real_name, organization_id, organization_name, action_type, target_type, target_id, target_name, operation_result, failure_reason, client_ip, user_agent, request_id, operation_detail, created_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
; 违反CHECK约束[ck_sys_audit_log_audit_action_type] 我能不能不给SYS_AUDIT_LOG加约束?不在约束内的TYPE,直接显示其操作英文即可。
现在宽度可以了,但是仍然无法拖动。而且,角色管理左侧的“全部状态”下拉框,需要再宽一些,否则下拉箭头会挡住文字。
角色处不显示成员多少排序多少;删除“全部状态”下拉筛选框。
共享资料库的筛选行去掉,上传附件和批量导入按钮移到上方,与主体方案的上传和批量导入一致
我不是说带遮罩的弹出框、查看框等,要放到最上层,到顶部横幅之上?现在怎么还是被顶部横幅遮挡的状态?
保留的完整备份链数量是什么意思?系统管理界面,报错信息可以以toast方式弹出,不要显示在表单里,看不到根本。
“独立共享资料库”、“共XX项”,这一行整个不要。 “配套资料数量”修改为“共享资料数量”,“上传附件”修改为“上传共享资料”;还有其他位置的说法,一并统一为“共享资料”。
/plan “党政红”风格,目前全部都是红色,有些过于艳丽。理想的情况是主体颜色为国旗的红色,部分元素为橙黄色或金黄色,类似国旗、国徽等的色调。设计一下。 可加入一些渐变。
带正文搜索时,正文解析失败的方案也会被搜索出来。排查原因。
方案列表中,目前双击方案,一定会触发右侧预览。建议单击操作增加一点点小延迟,判断非双击的情况下再打开预览界面。
左侧分类树宽度,默认调成整个屏幕的1/4吧。
用户再次要求调大字体。由于用户平均年纪较大,凡是非解释说明性质的文字(包括表单中、列表中、设置界面等),最小字体都得是20px;解释说明性质的文字、以及可能出现大段文字的地方(如解析文本处),字体可小一些,但是也要统一,18px吧。 另外,分类那里的小中大,将“中”设置为20px,小为18px,大为22px。 全面检查,不留遗漏。 标题横幅的方案数据管理修改为36px;分类树之上的字号和展示,调成16px
验证码图片和用户名密码输入框右对齐
“请输入验证码”的提示,间隔太大,和其他保持一致
提示和其他提示左对齐啊
你傻了吗?别的没图标!
字号:小 中 大 和 展示:列表 矩阵,字体调整为18px吧
所有的Tips提示,字体调为20px。
写入预览缓存失败:D:\projects\document-management-system\dist-package-java\dms-server\dms-storage\preview\86\86351f11c423aaad7d4ce0ef02717428991a4ba73425336b45e59935e1030b0f.pdf java.nio.file.FileAlreadyExistsException: D:\projects\document-management-system\dist-package-java\dms-server\dms-storage\preview\86.86351f11c423aaad7d4ce0ef02717428991a4ba73425336b45e59935e1030b0f.5926713868445389020.tmp -> D:\projects\document-management-system\dist-package-java\dms-server\dms-storage\preview\86\86351f11c423aaad7d4ce0ef02717428991a4ba73425336b45e59935e1030b0f.pdf
at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:87)
目前,各类菜单和操作的权限规则,具体是怎样的?给我总结,包括细节。
重新梳理菜单显示方式:
我观察到,对于方案管理页签内的按钮来说,如果一个角色未勾选“查看”权限,那么即使他勾选了“编辑”“删除”等权限,管理页面也会将其置灰,只有勾选“查看”后,“编辑”“删除”等才会亮起来。排查这是什么逻辑。
错,各权限独立。完全拆分。
将python后端标记为deprecated状态,不再更新,构建时不要测试
排查是否还有其他的权限依赖的情况
/plan 我现在要更改借阅授权方式。先隐藏所有的“借阅授权”按钮(逻辑不删)。然后,对应位置放“借阅”按钮,当用户对该文档既无查看权限又无下载权限密级也够得上时,该按钮亮起。点击后,界面与当前借阅授权差不多,但默认已添加了自己,用户也可添加其他用户。表单包含上传审批单按钮,意为这一批用户共用一张审批单申请了借阅。提交后,审批单流转至所有对该文档有授权权限的用户(通知界面),对应用户可以查看审批单并审批通过或拒绝。
我之前实现了给方案加密码锁的功能。那么在方案列表里,如果某个方案有方案锁,在方案标题后给其加一把锁的图标吧,表示方案已锁住。
借阅报错:
; 违反CHECK约束[ck_sys_audit_log_audit_target_type]
3个问题,第1个问题是,查看审批单这个按钮变成查看即可。第2个问题是好几个弹窗的标题字体都太小了,看一下我之前的要求最少都得是18px的字体。第3个问题是审批员在点击审批同意之后,他要弹出二次密码确认的框这个框叠层在了审批对话框下边,所以看不到。
不用做那么多说明,“本人默认在列,”删除;列里“固定在列”修改为“—。 “借阅申请已提交”字样也调到18px。
有个问题,因为我要求机构的标识可以修改,但机构标识修改后,一些权限会出问题(原本部门文档会被认为非本部门)。如何规避?
安全要求,绝密级数据隔离存储。规划一下,dms-storage中区分绝密和其他文档,内部再划分文件夹。
现在,前端各请求是否带着授权码?
授权码如何获取?有效时长多久?如果要求一次一个授权码,如何实现?
安全要求:每次一个授权码,防止重放攻击。如何实现?
我们的GET请求,如果不涉及状态变化的,使用原授权码即可,不改变授权码;涉及到增删改的POST、PUT、DELETE方法,需要依据原授权码,计算新的授权码,并在响应中返回,作为下一次请求的授权码。一次一码。