212 Commits

Author SHA1 Message Date
2da0130c4c fix: 品牌标语说明统一格式 + 对齐在卡片和预览生效
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 5s
PR Preview / deploy-preview (pull_request) Successful in 12s
Test / e2e-test (push) Failing after 53s
- 标签改为"✍ 品牌名称或标语"+"显示在二维码下方"(与其他说明格式一致)
- 靠左/居中/靠右在预览和配方卡片中都生效
- 修复align-items:center覆盖textAlign的问题

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 17:45:42 +00:00
5b51403274 fix: accept改回image/*让iOS自动转HEIC
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 4s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 4s
PR Preview / deploy-preview (pull_request) Successful in 8s
Test / e2e-test (push) Failing after 56s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 17:40:30 +00:00
812da98abc fix: HEIC双重回退+标签文案统一+accept格式
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 5s
PR Preview / deploy-preview (pull_request) Successful in 15s
Test / e2e-test (push) Failing after 56s
- HEIC转换:heic2any失败后用createImageBitmap回退
- accept限定具体格式让iOS自动转HEIC
- 品牌名称标签改为"显示在卡片右上角二维码下方"

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 17:32:36 +00:00
07a40977e1 fix: HEIC上传修复 + 去掉保存按钮改为自动保存
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 4s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 4s
PR Preview / deploy-preview (pull_request) Successful in 14s
Test / e2e-test (push) Failing after 56s
- HEIC检测兼容MIME type和文件名
- heic2any返回数组时取第一个
- 转换失败时提示用户手动转JPG
- 去掉保存品牌按钮,显示"所有修改自动保存"

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 17:29:15 +00:00
bec537bad2 fix: 支持HEIC格式上传 + 压缩目标调小
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 4s
Test / build-check (push) Successful in 3s
PR Preview / test (pull_request) Successful in 5s
Test / e2e-test (push) Failing after 56s
PR Preview / deploy-preview (pull_request) Successful in 1m0s
- HEIC/HEIF格式自动转换为JPEG后压缩
- 压缩目标调小确保不超后端限制(QR/logo 300KB,背景 600KB)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 17:23:58 +00:00
34970fb5e9 fix: 图片上传自动压缩增强
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 4s
PR Preview / deploy-preview (pull_request) Successful in 14s
Test / e2e-test (push) Failing after 55s
- 渐进式缩小:最多5轮,每轮缩小30%+降低JPEG质量
- 确保最终一定在大小限制内
- QR/logo最大500KB/800px,背景最大1MB/1200px

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 17:18:37 +00:00
636ec9df09 fix: 配方卡片名称字号细分6级,确保完整显示
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 5s
PR Preview / deploy-preview (pull_request) Successful in 22s
Test / e2e-test (push) Failing after 53s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 17:16:18 +00:00
0985719212 feat: 审核同名配方智能检测
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 5s
PR Preview / deploy-preview (pull_request) Successful in 24s
Test / e2e-test (push) Failing after 55s
- 完全相同:提示"已有一模一样的",不采纳
- 内容不同:显示两个配方成分对比,可选择直接采纳或改名后采纳
- 存为我的只检查个人配方同名

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 17:10:54 +00:00
fa2535d3bf UI: 容量按钮高度增加宽度缩窄,比例框缩小
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 5s
PR Preview / deploy-preview (pull_request) Successful in 17s
Test / e2e-test (push) Failing after 56s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 17:04:34 +00:00
fb2f1d47e6 UI: 容量按钮更窄、比例标签颜色统一
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 4s
PR Preview / deploy-preview (pull_request) Successful in 17s
Test / e2e-test (push) Failing after 57s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 16:44:46 +00:00
d38582167b UI: 容量按钮缩小、自定义默认空、保存验证、比例提示加"时,"
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 4s
PR Preview / deploy-preview (pull_request) Successful in 17s
Test / e2e-test (push) Failing after 56s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 16:32:31 +00:00
4beae71072 feat: 预览按钮显示配方卡片,去掉✕关闭
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 5s
PR Preview / deploy-preview (pull_request) Successful in 20s
Test / e2e-test (push) Failing after 56s
- 预览按钮生成配方卡片并用RecipeDetailOverlay展示
- 去掉编辑器右上角的✕按钮
- 预览时可返回继续编辑

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 16:27:15 +00:00
eae2b5dfee UI: 管理配方界面优化
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 3s
PR Preview / test (pull_request) Successful in 4s
PR Preview / deploy-preview (pull_request) Successful in 15s
Test / e2e-test (push) Failing after 55s
- 取消改为预览按钮 + ✕关闭
- 去掉配方行的owner显示和铅笔编辑按钮(点击行即编辑)
- 搜索框和新增按钮合并到一行,紧凑排版
- 参考比例显示"约为X滴,现在为Y滴"(实际数据)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 16:07:56 +00:00
d42403f6ed fix: 指派审核功能修复
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 5s
PR Preview / deploy-preview (pull_request) Successful in 14s
Test / e2e-test (push) Failing after 56s
- pending recipes 初始化 _showAssign 和 _assignTo 属性
- 修复 Vue 响应式问题导致下拉框和发送按钮无反应

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 16:02:09 +00:00
f3e4329d1f fix: 贡献统计和共享状态基于真实数据
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 4s
PR Preview / deploy-preview (pull_request) Successful in 13s
Test / e2e-test (push) Failing after 56s
- 后端返回 adopted_names 和 pending_names 列表
- 共享状态根据实际被采纳/待审核的配方名匹配
- 不再按公共库同名配方误判为已共享
- 共享后实时刷新统计

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 15:58:44 +00:00
fc04539b28 fix: 贡献统计共享后实时更新
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 5s
PR Preview / deploy-preview (pull_request) Successful in 15s
Test / e2e-test (push) Failing after 53s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 15:55:40 +00:00
1d9631f5df feat: 审核配方只通知管理员 + 指派高级编辑审核
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 4s
Test / build-check (push) Successful in 3s
PR Preview / test (pull_request) Successful in 4s
PR Preview / deploy-preview (pull_request) Successful in 14s
Test / e2e-test (push) Failing after 53s
- 去审核按钮仅管理员可见,其他用户显示已读
- 共享配方通知只发管理员
- 管理员待审核栏加"指派"按钮,选择高级编辑者审核
- 指派后发送通知给被指派人
- 新增 /api/recipes/{id}/assign-review 端点

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 15:54:16 +00:00
27f82d2dd1 feat: 批量打标签改为标签选择器
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 4s
PR Preview / deploy-preview (pull_request) Successful in 14s
Test / e2e-test (push) Failing after 55s
- 点击批量打标签展开标签选择面板
- 已选标签(绿色pill可删除)+ 候选标签(点击添加)+ 新标签输入
- 和编辑器内的标签样式一致
- 确认后批量添加到所有选中配方

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 15:50:35 +00:00
ce5d31ee84 fix: 对齐+左对齐+所有用户可新增
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 4s
PR Preview / deploy-preview (pull_request) Successful in 13s
Test / e2e-test (push) Failing after 52s
- 配方查询页section-label与section-header padding对齐
- 管理配方页标题左对齐,toggle图标靠右
- 新增按钮对所有用户可见(新增到个人配方)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 15:46:18 +00:00
ca37d9aa1d UI: 批量操作展开菜单+区域独立全选(保持原布局)
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 4s
PR Preview / deploy-preview (pull_request) Successful in 15s
Test / e2e-test (push) Failing after 56s
- 批量操作改为按钮展开下一行菜单(打标签/导出卡片/共享/删除)
- 共享仅在只选了我的配方时显示
- 我的配方和公共配方库标题加✓小全选按钮
- 两个都全选后顶部全选按钮激活
- 保持原有工具栏布局不变

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 15:41:58 +00:00
dedac69011 feat: 导出Excel多sheet,按标签分页
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 5s
Test / e2e-test (push) Failing after 56s
PR Preview / deploy-preview (pull_request) Successful in 1m4s
- 文件名:精油配方YYYY-MM-DD.xlsx
- 第一个sheet"全部"包含所有配方
- 每个标签一个单独的sheet
- 使用SheetJS生成真正的xlsx格式

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 15:25:09 +00:00
e4358c92dc fix: 导出CSV前端生成 + 新标签输入框缩小
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 4s
Test / build-check (push) Successful in 3s
PR Preview / test (pull_request) Successful in 4s
PR Preview / deploy-preview (pull_request) Successful in 14s
Test / e2e-test (push) Failing after 53s
- 导出改为前端直接生成CSV,不依赖后端API
- 新标签输入框缩短到80px

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 14:41:22 +00:00
b6b112e9cb UI: 标签展开到下一行,全选显示数量
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 3s
PR Preview / test (pull_request) Successful in 4s
PR Preview / deploy-preview (pull_request) Successful in 14s
Test / e2e-test (push) Failing after 55s
- 标签点击后在下一行展开/收起
- 全选后右侧显示"共X个"
- 工具栏布局:新增 | 全选 共X个 | 标签▾ | 批量 | 导出

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 14:35:56 +00:00
9f0c66e583 fix: 标签保存+管理功能
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 4s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 5s
PR Preview / deploy-preview (pull_request) Successful in 14s
Test / e2e-test (push) Failing after 57s
- 修复 create_diary 不保存 tags 的问题
- 新建标签后加入全局标签列表,移除后显示在候选区
- 标签筛选区:编辑者可新增标签,管理员可删除标签
- 标签筛选区每个标签旁加×删除按钮(管理员)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 14:32:56 +00:00
413abf60ba fix: 拼音搜索补充字映射 + 结果按匹配度排序
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 4s
Test / build-check (push) Successful in 3s
PR Preview / test (pull_request) Successful in 5s
PR Preview / deploy-preview (pull_request) Successful in 16s
Test / e2e-test (push) Failing after 55s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 14:27:09 +00:00
a66ba3a0d9 UI: 参考比例提示改为"纯精油总数约为X滴"
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 7s
PR Preview / test (pull_request) Successful in 5s
PR Preview / deploy-preview (pull_request) Successful in 14s
Test / e2e-test (push) Failing after 56s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 14:12:06 +00:00
65ac0b688b feat: 配方卡片编辑按钮跳转到管理配方统一编辑器
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 4s
PR Preview / deploy-preview (pull_request) Successful in 14s
Test / e2e-test (push) Failing after 52s
- 点击配方卡片的编辑按钮,跳转到管理配方页面打开同一个编辑器
- 不再维护两套编辑器,确保界面完全一致

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 14:06:56 +00:00
d5edc57b98 feat: 配方卡片编辑器与管理配方编辑器统一
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 4s
Test / build-check (push) Successful in 3s
PR Preview / test (pull_request) Successful in 4s
PR Preview / deploy-preview (pull_request) Successful in 15s
Test / e2e-test (push) Failing after 52s
- RecipeDetailOverlay 编辑器改为新版:容量选择+参考比例+椰子油自动填满
- 和 RecipeManager 新增/编辑完全一致的界面和逻辑
- 实时显示配方摘要(用量/容量/稀释比例)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 13:57:47 +00:00
168be922ca fix: 稀释比例改回下拉框、全选toggle修复
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 4s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 5s
PR Preview / deploy-preview (pull_request) Successful in 15s
Test / e2e-test (push) Failing after 56s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 13:41:36 +00:00
ffee917cff feat: 参考比例选择器 + 建议纯精油滴数
All checks were successful
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 4s
PR Preview / deploy-preview (pull_request) Successful in 16s
Test / e2e-test (push) Successful in 54s
- 容量下方加参考比例行:3-10,12,15,20,默认6
- 选择后实时提示"纯精油约X滴"
- 单次模式根据椰子油滴数/比例计算
- 非单次根据总容量/(1+比例)计算

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 13:31:52 +00:00
4ce8ed9ff5 feat: 配方编辑器重写容量/椰子油逻辑
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 5s
PR Preview / deploy-preview (pull_request) Successful in 16s
Test / e2e-test (push) Has been cancelled
编辑器:
- 顶部容量选择: 单次/5ml/10ml/15ml/20ml/30ml/自定义
- 椰子油默认在最底行,单次时可编辑滴数(默认10)
- 非单次时椰子油自动填满(显示"约Xml")
- 实时提示:单次显示滴数+稀释比例,非单次显示总容量+填满+比例
- 新增精油插入到椰子油上方
- 编辑已有配方自动识别容量和稀释比例

其他:
- 拼音搜索改前缀匹配
- 输入法enter不触发保存
- 导出Excel移到标签行右侧小图标
- 新增→新增, 标签筛选→标签
- 配方名过长自动缩小
- 已审核标签viewer不可见
- ml显示整数

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 13:00:14 +00:00
8866e865f7 fix: 拼音前缀匹配、输入法enter、稀释默认值、容量填满
All checks were successful
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 4s
PR Preview / deploy-preview (pull_request) Successful in 15s
Test / e2e-test (push) Successful in 52s
- 拼音搜索改为前缀匹配(s→生姜,不再匹配茶树)
- 精油编辑enter区分输入法组合键
- 新增配方默认30ml+1:6稀释,编辑时自动识别当前比例
- 非单次容量滴数四舍五入为整数
- 容量按钮等宽填满一行
- 搜索时自动展开折叠的配方列表
- 配方编辑器加新增标签功能

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 11:37:20 +00:00
e78a446abe UI: 管理配方界面按角色调整
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 4s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 5s
PR Preview / deploy-preview (pull_request) Successful in 12s
Test / e2e-test (push) Has been cancelled
- 管理员: 搜索 + 导出Excel | 添加 + 全选 + 标签 + 批量
- 编辑者: 搜索 | 添加 + 全选 + 标签 + 批量(无导出)
- 普通用户: 全选 + 标签(无添加无导出)
- 批量操作改为下拉选择,内联在工具栏
- 我的配方和公共配方库默认折叠

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 10:57:03 +00:00
a81f7788c0 feat: 操作日志重写+已审核标签+配方名自适应
All checks were successful
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 4s
Test / build-check (push) Successful in 3s
PR Preview / test (pull_request) Successful in 4s
PR Preview / deploy-preview (pull_request) Successful in 15s
Test / e2e-test (push) Successful in 1m0s
操作日志:
- 完全重写,正确映射所有 action 类型(配方/精油/用户/标签/审核)
- 三级筛选:操作类型、用户、对象类型
- 正确解析 detail JSON 显示来源/原因/角色等
- 包含精油价目修改记录

已审核标签:
- editor+ 可见可编辑,viewer 不可见
- 蓝色样式区分

其他:
- 配方卡片名称过长自动缩小字号
- 配方编辑器加新增标签输入框

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 10:52:36 +00:00
4de1c41131 fix: 权限变更后不显示旧通知
All checks were successful
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 4s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 4s
PR Preview / deploy-preview (pull_request) Successful in 10s
Test / e2e-test (push) Successful in 51s
- 新增 role_changed_at 字段,改权限时记录时间
- 通知查询用 MAX(注册时间, 权限变更时间) 过滤
- 确保新增权限的用户只看到变更之后的通知

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 10:29:03 +00:00
36bdec1d16 feat: 用户管理直接开通/撤销商业认证
All checks were successful
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 4s
Test / build-check (push) Successful in 3s
PR Preview / test (pull_request) Successful in 4s
PR Preview / deploy-preview (pull_request) Successful in 16s
Test / e2e-test (push) Successful in 48s
- 用户列表每行加💼按钮,未认证点击开通,已认证点击撤销
- 新增 /api/business-grant/{id} 端点
- 开通/撤销时通知用户

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 10:25:51 +00:00
418986e46c feat: 商业认证+核算页面重写,管理入口移到用户菜单
All checks were successful
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 4s
PR Preview / deploy-preview (pull_request) Successful in 15s
Test / e2e-test (push) Successful in 55s
商业认证:
- 重写申请表单:认证类型、企业名称、联系电话、业务描述
- 状态栏样式:左侧彩色条(绿/橙/红)
- 用户管理页:同一用户只显示一条,可展开历史查看拒绝原因
- 后端 API 补充 reject_reason 字段

商业核算:
- 成分表改为标准表格(精油/用量/单价/小计)
- 总成本显示栏(绿色背景大字)
- 定价字段放在成本下方

管理入口:
- 操作日志/Bug/用户管理从主 tab 栏移到管理员用户菜单
- 添加配方按钮对所有用户可见

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 10:01:36 +00:00
ad95ba7d1f UI: 添加精油直接加空行,去掉确认取消按钮
All checks were successful
Deploy Production / test (push) Successful in 5s
Deploy Production / deploy (push) Successful in 6s
Test / unit-test (push) Successful in 4s
PR Preview / teardown-preview (pull_request) Has been skipped
Test / build-check (push) Successful in 4s
Test / e2e-test (push) Successful in 55s
PR Preview / test (pull_request) Successful in 4s
PR Preview / deploy-preview (pull_request) Successful in 9s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 09:32:27 +00:00
c63091b504 UI: 全选按钮左置+颜色区分、placeholder浅色、应用到配方
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 09:32:27 +00:00
6931df4afd feat: 编辑器对齐+审核记录+UI调整
- 新增/编辑配方编辑器与配方卡片编辑界面完全一致(含容量与稀释)
- 自定义滴数/稀释比例框缩小,应用按钮放在稀释比例同一行
- 管理员可查看所有审核记录(采纳/拒绝历史)
- 标签筛选和全选按钮对所有用户可见
- 我的配方/公共配方库均可折叠
- viewer 看配方卡片无编辑按钮
- diary 配方卡片无编辑按钮
- 退出登录跳转首页并刷新
- 新增 /api/recipe-reviews 端点

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 09:32:27 +00:00
6f9c5732eb feat: 管理配方加共享按钮+状态+贡献统计
- 我的配方每行加📤共享按钮
- 显示共享状态:已共享(绿)/等待审核(橙)
- 已共享的隐藏共享按钮
- 非管理员显示"已贡献 X 条"统计
- 配方查询页去掉共享按钮(移到管理配方)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 09:32:13 +00:00
cf07f6b60d fix: 我的配方加共享按钮 + 管理员显示版本号
- 我的配方卡片右上角加📤共享按钮,已共享/审核中显示状态标签
- 管理员账号标题下显示版本号和日期

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 09:32:13 +00:00
e26cd700b9 fix: 智能识别配方名称 + 新增默认保存到个人配方
- 修复空格/无分隔符时配方名称无法识别的问题
- 支持"长高芳香调理8永久花10"连写格式自动分离名称
- 所有用户新增配方默认保存到个人配方(diary),不进公共库

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 09:32:13 +00:00
56bc6f2bbb feat: 重写新增配方+共享审核完整流程
新增配方:
- 修复保存失败(oil→oil_name字段转换)
- 智能识别支持多条配方同时解析
- 识别结果逐条预览,可修改/放弃/保存单条/全部保存
- 编辑器加成分表格(单价/滴、小计、总成本)
- 保存到个人配方(diary)

共享审核:
- 新增 /api/recipes/{id}/reject 端点(带原因通知提交者)
- 采纳配方时通知提交者"配方已采纳"
- 拒绝时管理员输入原因
- 贡献统计含被采纳的配方数

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 09:32:13 +00:00
3c3ce30b48 feat: 共享配方审核完整流程
- 新增 /api/recipes/{id}/reject 端点:拒绝配方并通知提交者(含原因)
- 采纳配方时通知提交者"配方已采纳"
- 管理员拒绝配方时输入原因
- 贡献统计改为统计被采纳的配方数(含 audit_log 记录)
- 完整流程测试:共享→通知→拒绝(带原因)→通知→重新共享→采纳→通知

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 09:32:13 +00:00
50cf9d3e9b feat: 商业认证完整流程 + 通知时间过滤
商业认证:
- 申请页重写:商户名+说明字段,显示审核中/被拒/已通过状态
- 被拒绝显示原因,可重新申请
- 管理员拒绝时输入原因
- 商业核算页未认证用户点详情弹认证提示,跳转认证页面
- 删除项目仅管理员可见

通知:
- 只显示用户注册后的通知,避免角色变更后看到旧通知
- 搜索未收录通知只发管理员和高级编辑者

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 09:32:13 +00:00
1d424984e0 feat: 权限细化、商业认证跳转、UI改进
权限:
- viewer 管理配方页只显示我的配方,隐藏公共配方库和工具栏
- 高级编辑者可看到精油价目信息不全的红色提示
- 商业核算删除按钮仅管理员可见
- 搜索未收录通知只发管理员和高级编辑者

Tab 可见性:
- 所有用户可见:配方查询、管理配方、个人库存、精油价目、商业核算
- 需登录的 tab 点击弹登录框,登录后跳转
- 操作日志/Bug/用户管理仅管理员可见

商业核算:
- 未认证用户可看项目列表,点详情提示去认证
- 跳转到我的账户页商业认证区域并自动滚动

其他:
- 我的配方和收藏配方默认折叠

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 09:32:13 +00:00
a8e91dc384 feat: 权限修复、搜索改进、滑动切换、通知badge
All checks were successful
Deploy Production / test (push) Successful in 4s
Test / unit-test (push) Successful in 4s
Test / build-check (push) Successful in 4s
PR Preview / deploy-preview (pull_request) Has been skipped
PR Preview / test (pull_request) Has been skipped
PR Preview / teardown-preview (pull_request) Successful in 13s
Deploy Production / deploy (push) Successful in 7s
Test / e2e-test (push) Successful in 52s
权限:
- viewer 不能编辑公共配方(前端+后端双重限制)
- viewer 管理配方页只显示"我的配方"
- 取消 token 链接登录,改为自注册+管理员分配角色
- 用户管理页去掉创建用户和复制链接,禁止设管理员
- 修复改权限 API 路径错误

搜索:
- 模糊匹配+同义词扩展(37组),精确/相似分层
- 精确匹配不搜精油成分(避免"西班牙牛至"污染)
- 所有搜索结果底部加"通知编辑添加"按钮

UI:
- 顶部 tab 栏按用户角色显示,切换时居中滚动
- 左右滑动按 visibleTabs 顺序切换 tab
- 用户名旁红色通知数 badge

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 21:31:17 +00:00
27c46cb803 feat: 大量管理配方和搜索改进
- 存为我的:修复调用错误API,改用 diaryStore.createDiary
- 存为我的:同名检测(我的配方 + 公共配方库)
- 我的配方:使用 RecipeCard 统一卡片格式
- 管理配方:按钮缩小、编辑时隐藏智能粘贴、精油搜索框支持拼音跳转
- 管理配方:批量操作改为按钮组(打标签/删除/导出卡片/分享到公共库)
- 管理配方:我的配方加勾选框、全选按钮、编辑功能
- 搜索:模糊匹配 + 同义词扩展(37组),精确/相似分层显示
- 搜索:无匹配时通知编辑添加,搜索时隐藏无匹配的收藏/我的配方区
- 搜索:配方按首字母排序
- 共享审核:通知高级编辑+管理员,我的配方显示共享状态
- 通知:搜索未收录→已添加按钮,审核类→去审核按钮跳转
- 贡献统计:非管理员显示已贡献公共配方数
- 登录弹窗:加反馈问题按钮(无需登录)
- 精油编辑:右上角加保存按钮,支持回车保存
- 后端:新增 /api/me/contribution 接口

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 21:31:17 +00:00
80397ec7ca fix: 关闭按钮用 force click 绕过遮挡 + 放宽每滴价格上限到 300
- close button 用 .detail-close-btn + force:true 避免被 login modal 遮挡
- 部分高端精油每滴价格超 100,上限调至 300

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 21:31:17 +00:00