fix(test-round): 测试清单一批 bug 修复 + 团队月限额持久化
后端: - accounts: 团队级月限额持久化(Team.monthly_credit_limit 三态 + PATCH/GET /api/auth/team/settings/,刷新不丢,PMC#12);头像上传 500→502 可读错误; 设备下线真失效(删并重建 token,旧 token 401) - assets: 审核类目加 model_portrait,消除三视图"无需审核"误报 - ai/projects/products: 模特已有三视图复用、产品三视图同步回商品库 (metadata.view=three_view)、真人模特三视图回写 前端: - 商品图删除判断改用真实图片数;团队成员弹窗禁点外部关闭 - 图片预览骨架铺满占位;平台套图左侧栏折叠改导航同款;收件箱长文换行对齐 - 团队月限额改真落库(乐观更新+失败回滚) 测试:新增 TeamSettingsTests(5 条),accounts 全套 36 tests 通过;前端 build 0 error Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -7,14 +7,14 @@ import {
|
||||
Bookmark,
|
||||
Check,
|
||||
ChevronDown,
|
||||
ChevronLeft,
|
||||
ChevronRight,
|
||||
Download,
|
||||
Grid2X2,
|
||||
ImagePlus,
|
||||
LayoutGrid,
|
||||
List,
|
||||
MoreHorizontal,
|
||||
PanelLeftClose,
|
||||
PanelLeftOpen,
|
||||
Pencil,
|
||||
Plus,
|
||||
Quote,
|
||||
@@ -1683,15 +1683,24 @@ export function ImageWorkbenchPage({
|
||||
<div className="iw-layout">
|
||||
{/* 最左 · 商品空间(YYX#17:可折叠 → 收起后只剩商品图) */}
|
||||
<aside className={`iw-prod-space${sideCollapsed ? " collapsed" : ""}`}>
|
||||
{/* YYX#17:折叠/展开左侧商品栏 —— 复用导航栏(app-shell .sidebar-toggle)同款交互:
|
||||
贴右边缘的竖条按钮,hover 才显 chevron,点击切换;收起后只剩商品图。 */}
|
||||
<button
|
||||
className="iw-side-toggle"
|
||||
type="button"
|
||||
aria-pressed={sideCollapsed}
|
||||
title={sideCollapsed ? "展开商品栏" : "收起商品栏"}
|
||||
aria-label={sideCollapsed ? "展开商品栏" : "收起商品栏"}
|
||||
onClick={() => setSideCollapsed((v) => !v)}
|
||||
>
|
||||
<span className="iw-side-toggle-icon iw-side-toggle-icon--collapse"><ChevronLeft size={18} strokeWidth={1.8} /></span>
|
||||
<span className="iw-side-toggle-icon iw-side-toggle-icon--expand"><ChevronRight size={18} strokeWidth={1.8} /></span>
|
||||
</button>
|
||||
<div className="iw-side-top">
|
||||
<button className="back-pill" type="button" onClick={onBack}>
|
||||
<ArrowLeft size={14} />
|
||||
返回
|
||||
</button>
|
||||
{/* YYX#17:折叠/展开左侧商品栏 */}
|
||||
<button className="iw-side-collapse" type="button" title={sideCollapsed ? "展开商品栏" : "收起商品栏"} aria-label={sideCollapsed ? "展开商品栏" : "收起商品栏"} onClick={() => setSideCollapsed((v) => !v)}>
|
||||
{sideCollapsed ? <PanelLeftOpen size={15} /> : <PanelLeftClose size={15} />}
|
||||
</button>
|
||||
</div>
|
||||
<div className="iw-ps-search">
|
||||
<Search size={13} />
|
||||
|
||||
Reference in New Issue
Block a user