1.0.5
最新修复
- 收到 HTML 而非 JSON 问题
升级说明
- 升级插件至
1.0.5后,建议硬刷新前台页面,如遇异常请重启docker
资源下载
- plugin-dishes-1.0.5.jar

基于halo提供的家庭点菜插件。
或者也可以直接在网站后台的应用市场中搜索家庭私厨并安装。
1.0.5 后,建议硬刷新前台页面,如遇异常请重启docker点菜提交失败提示「响应不是合法 JSON」
前台默认改为请求 /apis/plugins/dishes/public,避开 Halo 对 /plugins/** 的 CSRF 校验;兼容旧 /plugins 路径时会自动刷新 CSRF 并重试。错误提示也会区分 CSRF / 403 / 网关问题,便于排查。
企业微信通知卡片跳转到服务器私网地址
通知链接优先使用设置中的「公网访问地址」,其次使用浏览器 Origin、X-Forwarded-*,并尽量跳过 127.0.0.1 / 内网 IP。默认 Logo 资源路径同步修正。
https://你的域名),用于企微卡片跳转与封面图;反代 / Docker 场景建议填写。Origin 与 Host 不一致),降低走 /apis 后的跨站提交风险。1.0.4 后,建议硬刷新前台页面。/apis/plugins/dishes/public。这一版主打三件事,用人话讲就是:
👉 前台终于知道自己在叫什么
👉 后台能打包带走全家档口数据(导出 / 覆盖导入,ZIP 里还带说明书那种)
👉 控制台界面顺手捋了捋
后台 插件设置 → 基础设置 里,可以给前台配上:
document.title 那一套)👉 全家馆子顶栏不再默认「谜之占位符」,改成你家招牌也行、改成「今晚吃火锅」也行(只要你家掌柜同意)。
配置走 DishesSettings,前台模板与控制台表单对齐;细节实现详见仓库内对应改动。
控制台 插件设置 → 数据备份:
manifest.json;可选是否带上点餐记录。备份里的菜品图:只备份 image_url(路径或完整地址),不把图片文件塞进 ZIP。
迁站或换域名时,记得附件还在、外链还能打开,否则导入成功也可能「看得见菜名、看不见菜脸」。
Halo 2 这条线是响应式的,导入上传按 FilePart 等方式处理,避免 multipart 绑定翻车;业务异常也会尽量回到 ok: false 的 JSON,而不是糊你一屏 500。
覆盖导入前要清空扩展数据;若列表索引还没反应过来,可能出现「菜删光了、分类还在那儿发呆」这类剧情。
这一版在清空逻辑里加了 等待索引跟上 + 必要时重建扩展索引 等处理,尽量做到 第一次点就靠谱,而不是「第一次失败、第二次换报错、第三次突然成功」的三幕剧。
(若你曾在导入时见过类似连续剧,恭喜你 —— 你现在看到的是导演剪辑修复版。)
👉 覆盖式导入会删除现有订单、菜品、分类,执行前请确认你真的不需要当前数据,或已经另外导出备份。
👉 ZIP 不含图片文件,只有路径;跨环境恢复请自备图片可达性(站内附件或外链)。
👉 若导入仍异常,优先带 响应 JSON / Halo 日志片段 开 issue,比截图玄学好排查得多。
感谢「为什么导入要三次才成功」「清空一半算清空吗」这类灵魂拷问 —— 它们直接变成了这一版的清空与索引逻辑。
继续欢迎吐槽;若有问题,尽量附上 Network 响应体 + 相关日志,治愈概率会指数上升。
Full Changelog: v1.0.2...v1.0.3
(具体文件级差异以 Git 对比为准,此处为面向人类的 Release 叙事版。)
两件事说人话:
👉 独立域名部署不再踩坑
👉 别人别再拿你接口当公共食堂
顺便把 README 重写了一遍(这次是真能照着配,不是玄学)。
域名白名单
后台可限制来源域名,请求不对直接拦。
👉 不再被别人套壳白嫖接口
👉 留空 = 保持原来宽松模式
独立部署前台页面
VITE_ASSET_BASE(静态资源)VITE_PUBLIC_BASE(路由)VITE_MEDIA_ORIGIN 指回主站 /upload👉 独立域名一定要:
VITE_MEDIA_ORIGIN(图片)别只代理接口,结果图片全 404(这坑很多人踩过,我就是其一)
或者也可以直接在网站后台的应用市场中搜索家庭私厨并安装。