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 Store(user、chat、app 等) |
有改动 |
store 仅桌面端条件引入 vuex-electron,网页端不引入 |
二、登录页(/login)
| 功能 |
实现情况 |
说明 |
| 用户名/密码输入、记住账号 |
无改动 |
纯表单 + localStorage |
| 登录请求(/user/login) |
无改动 |
走 axios + BASE_API,网页端需后端可用 |
| 新手引导(第一步) |
无改动 |
纯前端弹窗与步骤 |
| WebSocket 服务地址设置 |
有改动 |
登录页可展开「设置 WebSocket 服务地址」,填写后写入 localStorage(key: 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) |
有改动 |
桌面端:系统对话框选文件;网页端:可用平台 showOpenFileDialog(input 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/加密 zip(file-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 打包;提交任务在无上传接口时仅桌面端完整可用 |
十、网页端使用前提
- 后端与 WebSocket:配置
BASE_API、VUE_APP_SOCKET_API,确保登录接口与 WebSocket 可访问(同源或代理/CORS)。
- 帮助文档:如需帮助入口,部署帮助 PDF 并配置
HELP_PDF_URL(或使用默认 /help/User Manual.pdf)。
- 提交任务:若要在网页端完整使用「提交刻录/打印任务」,需后端提供文件上传接口,前端改为先上传再提交任务参数;当前实现仍为提交路径,仅桌面端可被本机服务访问。
按当前实现,网页端可正常完成:登录、看板查看、设备状态与指令、作业列表与重试/取消、打开/保存作业(选文件与下载)、系统管理、系统配置、日志查看等;仅上述「网页端无法实现」项在网页端为禁用或提示。