Files
SoonWorkerD/docs/WEB_FEATURE_LIST.md
T
2026-05-12 21:42:42 +08:00

9.7 KiB
Raw Blame History

DiscWorker 网页端功能清单与实现情况

本文档列出全部功能,并标明:无改动(桌面/网页一致)、有改动(为兼容网页做了适配)、网页端无法实现(仅桌面端或需后端扩展)。


一、全局与基础设施

功能 实现情况 说明
路由(/、/login、/manage、/set、/user、/404 无改动 使用 Vue Router,hash 模式,网页端可直接部署
登录鉴权(permission.js 无改动 基于 token 与 store,与运行环境无关
路由守卫(白名单、未登录跳转登录) 无改动 纯前端逻辑
HTTP 请求(request.js、BASE_API 有改动 网页构建通过 DefinePlugin 注入 BASE_API,需配置后端地址
多语言(vue-i18n 无改动 纯前端
Element UI、主题与尺寸 无改动 纯前端
Vuex Storeuser、chat、app 等) 有改动 store 仅桌面端条件引入 vuex-electron,网页端不引入

二、登录页(/login

功能 实现情况 说明
用户名/密码输入、记住账号 无改动 纯表单 + localStorage
登录请求(/user/login 无改动 走 axios + BASE_API,网页端需后端可用
新手引导(第一步) 无改动 纯前端弹窗与步骤
WebSocket 服务地址设置 有改动 登录页可展开「设置 WebSocket 服务地址」,填写后写入 localStoragekey: WS_SOCKET_API),连接时优先使用该地址,便于网页端部署后连接本机/内网/公网服务。详见 WEBSOCKET_DEPLOY.md

三、首页 / 看板(/

3.1 顶部与状态

功能 实现情况 说明
回到主界面、系统设置入口 无改动 路由跳转
服务启停开关(打开/关闭服务) 网页端无法实现 依赖桌面端执行 control.sh,网页端显示「网页端」占位与 tooltip「仅桌面端支持启停服务」
完成刻录数/废弃刻录数/错误数 无改动 来自 WebSocket 的 task_list,与端无关
试用版天数、前往激活 有改动 「前往激活」仅桌面端显示(依赖 runCmd 执行 regist.sh);网页端不显示该按钮
用户信息组件 无改动 展示 store 中的用户信息

3.2 设备与作业

功能 实现情况 说明
设备状态展示(图示、状态文案) 无改动 数据来自 WebSocket printer_info
运行选项(重启设备、清除错误、设置光盘桶、刷新光盘桶等) 无改动 通过 WebSocket 下发,网页端在已连接服务时可用
作业列表(表格、重试/取消) 无改动 WebSocket task_list + websocketsend
新建作业、打开作业 有改动 打开作业:桌面端用系统对话框选 .dwk 后读文件;网页端用 <input type="file"> 选文件并 FileReader 读内容,再解析填入 workAdd,可正常使用。新建作业为打开弹窗,无改动
保存作业(workAdd 内) 有改动 桌面端:系统保存对话框 + 写入本地路径;网页端:无保存对话框,直接触发浏览器下载 .dwk 文件,可正常使用
动态/日志(最新日志、全部日志) 无改动 数据来自 WebSocket log,与端无关

3.3 帮助与其它

功能 实现情况 说明
帮助(打开帮助文档) 有改动 桌面端:IPC 打开本机 PDF;网页端:window.open(HELP_PDF_URL),需部署或配置帮助 PDF 地址
关于我们弹窗 无改动 纯前端

四、作业弹窗(WorkAdd 组件)

4.1 作业配置

功能 实现情况 说明
任务名称、CD 类型、刻录类型、标签、UDF、关联任务等表单 无改动 纯表单与校验
模板下拉(从 User Templates 加载) 有改动 桌面端:读本地「User Templates」目录;网页端:readdir 不可用,模板列表为空,网页端无法使用本地模板列表;若需网页端模板,需后端提供列表接口
选择模板(加载 .soon 文件) 有改动 仅桌面端可用(依赖本地路径 + readFile);网页端无模板列表,该入口不适用
「···」选择作业文件(.soon 有改动 桌面端:系统对话框选文件;网页端:可用平台 showOpenFileDialoginput file),单文件选择可用;多选仍仅桌面端
新建标签(打开 SoonDesign 网页端无法实现 依赖桌面端 exec('soondesign'),网页端按钮改为灰色 + tooltip「仅桌面端支持」

4.2 文件与路径

功能 实现情况 说明
添加文件(单/多选) 有改动 桌面端:系统对话框 + 本地路径 + stat;网页端:input file 单文件,以「web://」虚拟路径加入列表,可添加单文件
添加文件夹 网页端无法实现 依赖系统选择目录,网页端 showOpenDirectoryDialog 拒绝,提示「仅桌面端支持」
拖放添加文件/文件夹 有改动 桌面端:支持路径与 calcSize;网页端:仅支持 File 对象(无 path),用 name 与 size,不计算目录大小,可拖放文件
选择路径(归档路径) 网页端无法实现 依赖系统选择目录,网页端不支持
保存作业为 .dwk 见「三、首页」保存作业 网页端为下载

4.3 提交与打包

功能 实现情况 说明
提交任务(刻录/打印) 有改动 桌面端:提交本地路径 + mtime 等,由本机服务访问本地文件;网页端:当前提交的为「web://」虚拟路径,后端无法按路径读文件,故网页端提交任务需后端提供文件上传接口,否则仅桌面端可完整使用
复制文件到某路径(file-back 复制) 网页端无法实现 依赖 fs.cp,仅桌面端;网页端点击会提示「仅桌面端支持」
压缩为 zip/加密 zipfile-back 网页端无法实现 依赖 fs stream + archiver,仅桌面端;网页端会提示「仅桌面端支持」

五、系统管理(/manage

功能 实现情况 说明
设置光驱(手动设置光驱、设置光盘桶类型) 无改动 全部通过 WebSocket 与后端/设备通信,网页端在连接服务后可正常使用
校准设备、维护设备 无改动 WebSocket 下发指令,网页端可用
刷新时间、执行 无改动 WebSocket,网页端可用
清除任务(服务重启时是否删除已完成/已取消任务) 无改动 WebSocket/配置,网页端可用
新手引导开关 无改动 本地存储,网页端可用
光盘类型列表(getCurrentOSDiscTypes 有改动 fileSize 在网页端返回固定 1024 与 web 类型,manage 仅读配置列表,网页端可正常使用

六、系统配置(/set

功能 实现情况 说明
LogLevel、AutoRetryTimes、PrintQuality、CacheDir、SkipSr0Check 等 无改动 通过 WebSocket 获取/提交系统配置,网页端可正常使用
保存 无改动 websocketsend,网页端可用

七、用户管理(/user

功能 实现情况 说明
用户列表展示(当前为静态示例数据) 无改动 纯前端表格,若后续接真实接口则与端无关

八、其它

功能 实现情况 说明
404 页 无改动 纯静态
TabBar 导航 无改动 路由跳转
WebSocket 连接(chat 模块) 有改动 网页端通过 VUE_APP_SOCKET_API 连接,需后端或本机服务提供 WebSocket;网页端需能访问该地址(同源或 CORS/代理)
文件大小显示(filterSize、fileSize 有改动 fileSize 在网页端 getOS 返回 'web'、getBaseSize 固定 1024显示正常
右键菜单(show-context-menu 有改动 桌面端 IPC;网页端 no-op,无影响

九、总结表

类型 数量 说明
无改动 绝大多数 登录、配置、设备指令、作业列表、重试/取消、日志、系统管理、系统配置等均与运行环境无关或仅依赖 WebSocket/HTTP
有改动且网页端可用 若干 打开作业(选文件 + 读内容)、保存作业(下载)、帮助(新标签打开 PDF)、添加单文件、拖放文件、服务开关/激活 UI 占位与提示
网页端无法实现 少量 服务启停(执行 control.sh)、前往激活(执行 regist.sh)、新建标签(打开 SoonDesign)、选择目录、复制到本地路径、本地 zip 打包;提交任务在无上传接口时仅桌面端完整可用

十、网页端使用前提

  1. 后端与 WebSocket:配置 BASE_APIVUE_APP_SOCKET_API,确保登录接口与 WebSocket 可访问(同源或代理/CORS)。
  2. 帮助文档:如需帮助入口,部署帮助 PDF 并配置 HELP_PDF_URL(或使用默认 /help/User Manual.pdf)。
  3. 提交任务:若要在网页端完整使用「提交刻录/打印任务」,需后端提供文件上传接口,前端改为先上传再提交任务参数;当前实现仍为提交路径,仅桌面端可被本机服务访问。

按当前实现,网页端可正常完成:登录、看板查看、设备状态与指令、作业列表与重试/取消、打开/保存作业(选文件与下载)、系统管理、系统配置、日志查看等;仅上述「网页端无法实现」项在网页端为禁用或提示。