我在 Windows 环境中。我需要打一个 exe 文件,将 python 依赖打进去,让用户避免手动 pip install 依赖。此外,我还需要将前端生成的 dist 打进去,前后端一体启动。探索项目,给出可行方案。
我复制了一份新的代码过来。请确认前后端是否可以一体启动。如果不可以,对app.py做相同修改。最后,还是创建ps1脚本,用于打exe文件。
我需要在 Mysql 中创建 dms_app 用户,密码是“asdqwe123!”;还要创建 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.83.248:3306 端口的 dms 库导出为 SQL,放到 backend/database-export 中,用户名 dms_app, 密码 asdqwe123!
我需要在“编辑”功能里,做一个给方案增加关联关系的功能。对于某个方案来说,可以设置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进行转写,这样跨平台部署更加方便。但是,不要删除当前后端代码,在新目录下进行写入。
检索功能,检索结果出来时,隐藏下方配套方案等面板显示。
检索结果定位功能,假如下方面板关闭前点到的是支撑成果,那么即使检索出来的是配套方案,点击定位后,下方面板显示的也还是支撑成果。应该显示配套方案。请修复。