Commit Graph

56 Commits

Author SHA1 Message Date
hanhan 3fb2c84e62 docs: 重写 README,补全135编辑器转换器说明文档 2026-09-09 00:19:17 +08:00
hanhan fed9ec7905 fix: Dockerfile COPY 加入 pnpm-workspace.yaml,allowBuilds 才能生效 2026-09-09 00:07:07 +08:00
hanhan d74a6704ec fix: 修复 pnpm install 报 ERR_PNPM_IGNORED_BUILDS 导致 Docker 构建失败
- pnpm 11 在 CI 下将未批准的依赖构建脚本升级为硬错误(msw/sharp/unrs-resolver)
- pnpm-workspace.yaml 用 allowBuilds 显式放行三个包(sharp 需下载原生二进制供 Next 图片优化使用),移除无效的 ignoredBuiltDependencies 与占位模板
- package.json 移除 pnpm 11 已不再读取的 pnpm.onlyBuiltDependencies 字段
- Dockerfile apk 镜像源改回 sed 替换方案(echo 方式引用的 ALPINE_VERSION 在容器内未定义,runner 阶段 apk add 会失败);保留 pnpm 国内源参数
2026-09-09 00:04:57 +08:00
hanhan 425460fa28 fix: Docker 基础镜像升级 node:20-alpine -> node:22-alpine
jsdom 30 依赖 markAsUncloneable API(Node >= 22),node:20 构建时报
"webidl.util.markAsUncloneable is not a function" 导致 pnpm build 失败。
builder 与 runner 两个 stage 同步升级,运行时渲染接口同样依赖 jsdom。
2026-09-08 23:31:59 +08:00
hanhan f351bca924 fix: tsconfig 排除 scripts 目录,修复 Docker 构建失败
scripts/test-remove-days.ts 使用 .ts 扩展名导入(Node 直跑),被 tsc 全量检查时报 TS5097 导致 pnpm build 失败。将 scripts 加入 tsconfig exclude。
2026-09-08 23:29:54 +08:00
hanhan 6e1d2c6728 feat: 新增135编辑器转换子功能
- 新增 /editor135 子页面:上传幼儿园食谱docx → 解析并填充135模板 → 预览/源代码/解析结果三视图
- 新增 /api/editor135/render 解析接口(jsdom 解析填充,逐条回读校验 mismatch)
- 新增 /api/editor135/img 微信CDN图片代理(解决预览防盗链,仅允许 *.qpic.cn)
- 缺失星期自动删除:docx 缺某天(含周末/间隔天)时整段移除该天内容,尾部三审三校/温馨提示保留
- 逐节点精确区间删除算法:处理相邻天共用容器、嵌套结构,不误删保留天
- 新增依赖 jsdom + @types/jsdom;附 6 场景回归测试脚本 scripts/test-remove-days.ts
- 首页 header 增加「135编辑器转换」导航入口
2026-09-08 23:18:53 +08:00
hanhan 76ba61d5bb fix(1.0.8)修复构建bug:修复适配餐点类型 2026-07-03 21:58:23 +08:00
hanhan bc83044afb fix(1.0.8)修复构建bug,排除_docker-compose__yml_导致构建失败.patch 2026-05-25 00:35:10 +08:00
hanhan 0fd4ce0dc5 fix: .dockerignore 排除 docker-compose*.yml 导致构建失败 2026-05-25 00:31:25 +08:00
hanhan 1e3b12f342 refactor: 从环境变量读取 REGISTRY_IMAGE / REPOSITORY_URL,去除硬编码 2026-05-25 00:28:33 +08:00
hanhan d9601fa24d feat: 更新机制改为 docker pull 镜像仓库方案,移除 git clone + build 2026-05-25 00:24:12 +08:00
hanhan 54d97fc5a1 fix: execSync → async spawn 解决更新卡死,页面自动检查版本,改进容器停止步骤 2026-05-25 00:17:37 +08:00
hanhan 4a4aef562a fix(1.0.6):更新错误提示端口_3000→8011.patch 2026-05-25 00:03:17 +08:00
hanhan d2970ab751 chore: 更新错误提示端口 3000→8011 2026-05-25 00:01:05 +08:00
hanhan fc656d22ee chore: 宿主机暴露端口 3000 → 8011 2026-05-25 00:00:51 +08:00
hanhan 054150c7d0 fix: 更新时先 down 旧容器再 up -d,解决端口占用导致的卡死 2026-05-24 23:59:46 +08:00
hanhan 6b739d1c6c fix(1.0.5):添加更新功能控制台日志_(console_log_error),标记每步执行与错误输出.patch 2026-05-24 23:48:45 +08:00
hanhan 007e022b01 Merge remote-tracking branch 'origin/main' 2026-05-24 23:43:16 +08:00
hanhan f3fcffa9ee feat: 添加更新功能控制台日志 (console.log/error),标记每步执行与错误输出 2026-05-24 23:40:20 +08:00
hanhan 7e46e393d8 Revert "fix(1.0.5):将更新版本号,修改docker容器的权限问题"
This reverts commit ee02326d1e.
2026-05-24 23:36:08 +08:00
hanhan ee02326d1e fix(1.0.5):将更新版本号,修改docker容器的权限问题 2026-05-24 23:25:41 +08:00
hanhan 375a0453ae fix: 容器内以 root 运行以访问 Docker socket,docker compose 改为 docker-compose 2026-05-24 23:20:29 +08:00
hanhan dbdd055420 fix(1.0.4):将更新内容移入版本信息卡片内,移除独立 changelog 区域 2026-05-24 23:14:43 +08:00
hanhan 077c3285a2 refactor: 将更新内容移入版本信息卡片内,移除独立 changelog 区域 2026-05-24 23:12:58 +08:00
hanhan c7649dbe6b fix:更新版本号,更新配置文件构建 2026-05-24 23:07:08 +08:00
hanhan 6efaff4eca fix:更新版本号,测试更新功能 2026-05-24 23:01:15 +08:00
hanhan 1745f283a8 fix:更新版本号,修复配置文件 2026-05-24 22:57:46 +08:00
hanhan e366179ae3 fix: 修复更新日志不显示的问题 (移除 showLogs 状态改用 updateState 控制) 2026-05-24 22:50:06 +08:00
hanhan ccc4f502dc feat: 添加 Docker 可用性前置检查,本地开发时给出友好提示 2026-05-24 22:42:03 +08:00
hanhan 06def78f6b fix: 简化远程 .version 获取方式,去除 OneDev 不支持的 sparse filter 2026-05-24 22:40:16 +08:00
hanhan f7060b056d feat: 添加版本更新功能
- 新增 .version 文件(JSON 格式:version/release_date/changelog)
- 新增 lib/update.ts 更新逻辑(版本检查、git clone、docker compose)
- 新增 /api/update/check 版本检查 API
- 新增 /api/update/execute 执行更新 API(SSE 流式日志)
- 新增设置页「版本更新」界面(含 changelog 展示)
- Dockerfile 添加 git、docker CLI;compose 挂载 docker socket
- .env.docker 添加 ONEDEV_ACCESS_TOKEN 配置
2026-05-24 22:35:53 +08:00
hanhan 8b308b6adb feat: 餐食类型支持拖拽排序,调整排列顺序
改动了餐食类型标签(水果餐→早点/水果餐、体弱儿专属→体弱儿餐)及排序(体弱儿餐在午点前); 筛选按钮改为可拖拽排序,影响表格和导出顺序; 修复复合标签(早点/水果餐)导出无英文翻译的bug; 排序结果持久化到localStorage
2026-05-24 21:45:31 +08:00
hanhan 8bc63cbdf2 Merge remote-tracking branch 'origin/main'
# Conflicts:
#	.onedev-buildspec.yml
2026-05-10 22:23:33 +08:00
hanhan b51bccc275 修改项目构建脚本 2026-05-10 22:23:14 +08:00
hanhan 8c3f2f21c3 编辑 .onedev-buildspec.yml 2026-05-10 14:21:00 +00:00
hanhan 3ae44d1015 适配最新的食谱 2026-05-10 22:14:51 +08:00
hanhan e4bfb98482 适配最新的食谱 2026-05-10 20:56:56 +08:00
hanhan 4459e5acf3 适配最新的食谱 2026-05-10 20:25:48 +08:00
hanhan 59b3117eb9 更新安全配置项目 2026-04-18 23:52:15 +08:00
hanhan 70d3020035 更新安全配置项目 2026-04-13 22:10:43 +08:00
hanhan 8e245076fe 修复AI翻译功能 2026-04-13 21:40:27 +08:00
hanhan c269a57588 add README.md and update AGENTS.md 2026-04-13 01:03:49 +08:00
hanhan a4b6e31a40 docs: add README.md and update AGENTS.md 2026-04-13 01:02:38 +08:00
hanhan 12282ae4b3 feat: improve database module and apply untranslated color to UI 2026-04-13 01:01:52 +08:00
hanhan 250abaa453 fix: only use env vars for initial config.json creation
- Environment variables are only read when config.json doesn't exist
- After first run, all config operations only read/write config.json
- This prevents env vars from overriding user-saved settings
2026-04-13 00:59:30 +08:00
hanhan 2e4aa81969 fix: include pnpm-lock.yaml in Docker build context 2026-04-13 00:22:57 +08:00
hanhan ffa364c755 fix: remove MySQL from docker-compose, use external database service 2026-04-13 00:14:23 +08:00
hanhan 875743369d feat: add Docker deployment support
- Add multi-stage Dockerfile for Next.js standalone build
- Add docker-compose.yml with app and MySQL 8.0 services
- Add .dockerignore for optimized builds
- Update next.config.ts with standalone output
2026-04-13 00:13:24 +08:00
hanhan 12f7114f7d feat: add context menu for individual dish AI translation
- Add right-click/click context menu on dishes in the main table
- Menu includes 'AI 翻译 (Beta)' option
- Translates single dish and updates the display immediately
- Clicking outside closes the context menu
2026-04-13 00:09:41 +08:00
hanhan 19695cc38b feat: apply untranslated color setting to frontend display
- Use exportConfig.untranslatedColor for untranslated dish names in UI
- Ensures consistent color between export and frontend display
2026-04-13 00:04:16 +08:00