fix(cache): 给 shell.js/restraint.css 加 ?v=时间戳 强制绕过浏览器旧缓存
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 6s

This commit is contained in:
UI 设计 2026-05-21 16:44:10 +08:00
parent 704ef9a954
commit 868ba69ea4
18 changed files with 41 additions and 41 deletions

View File

@ -4,7 +4,7 @@
<meta charset="utf-8">
<title>账户 · 流·Studio</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<link rel="stylesheet" href="assets/restraint.css">
<link rel="stylesheet" href="assets/restraint.css?v=202605211643">
<style>
.acc-grid { display: grid; grid-template-columns: 1.7fr 1fr; gap: 24px; align-items: start; }
.balance-banner {
@ -164,7 +164,7 @@
</div>
</div>
<script src="assets/shell.js"></script>
<script src="assets/shell.js?v=202605211643"></script>
<script>Shell.render({ active: 'account', crumbs: [{ label: '工作台', href: 'index.html' }, { label: '账户' }] });</script>
</body>
</html>

View File

@ -4,7 +4,7 @@
<meta charset="utf-8">
<title>图片生成 · 流·Studio</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<link rel="stylesheet" href="assets/restraint.css">
<link rel="stylesheet" href="assets/restraint.css?v=202605211643">
<style>
#page-content { padding: 24px 28px 60px; }
@ -638,8 +638,8 @@
</div>
</div>
<script src="assets/shell.js"></script>
<script src="assets/new-product-drawer.js"></script>
<script src="assets/shell.js?v=202605211643"></script>
<script src="assets/new-product-drawer.js?v=202605211643"></script>
<script>
Shell.render({
active: 'asset-factory',

View File

@ -4,7 +4,7 @@
<meta charset="utf-8">
<title>工作台 · 流·Studio</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<link rel="stylesheet" href="assets/restraint.css">
<link rel="stylesheet" href="assets/restraint.css?v=202605211643">
<style>
.dash-grid { display: grid; grid-template-columns: 1.7fr 1fr; gap: 24px; align-items: start; }
.recent-row { display: grid; grid-template-columns: 54px 1fr 110px 130px 60px; align-items: center; gap: 16px; padding: 14px 18px; border-bottom: 1px solid var(--border-faint); cursor: pointer; }
@ -169,8 +169,8 @@
</div>
<script src="assets/shell.js"></script>
<script src="assets/new-product-drawer.js"></script>
<script src="assets/shell.js?v=202605211643"></script>
<script src="assets/new-product-drawer.js?v=202605211643"></script>
<script>Shell.render({ active: 'dashboard', crumbs: [{ label: '工作台' }] });</script>
</body>
</html>

View File

@ -4,7 +4,7 @@
<meta charset="utf-8">
<title>资产库 · 流·Studio</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<link rel="stylesheet" href="assets/restraint.css">
<link rel="stylesheet" href="assets/restraint.css?v=202605211643">
<style>
.asset-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 14px; }
.asset-grid.video-grid { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
@ -844,7 +844,7 @@
<button type="button" id="bulk-exit">完成</button>
</div>
<script src="assets/shell.js"></script>
<script src="assets/shell.js?v=202605211643"></script>
<script>
Shell.render({ active: 'library', crumbs: [{ label: '工作台', href: 'index.html' }, { label: '资产库' }] });

View File

@ -4,7 +4,7 @@
<meta charset="utf-8">
<title>模特上身图 · 流·Studio</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<link rel="stylesheet" href="assets/restraint.css">
<link rel="stylesheet" href="assets/restraint.css?v=202605211643">
<style>
/* viewport-fit · 工作台铺满 */
.app { height: 100vh; overflow: hidden; }
@ -1298,8 +1298,8 @@
</div>
</div>
<script src="assets/shell.js"></script>
<script src="assets/new-product-drawer.js"></script>
<script src="assets/shell.js?v=202605211643"></script>
<script src="assets/new-product-drawer.js?v=202605211643"></script>
<script>
Shell.render({
active: 'asset-factory',

View File

@ -4,7 +4,7 @@
<meta charset="utf-8">
<title>补水面膜 · v3 · 流水线 · 流·Studio</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<link rel="stylesheet" href="assets/restraint.css">
<link rel="stylesheet" href="assets/restraint.css?v=202605211643">
<style>
/* ─── Project header ─── */
.proj-head { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 22px; align-items: flex-start; }
@ -999,7 +999,7 @@
</div>
</div>
<script src="assets/shell.js"></script>
<script src="assets/shell.js?v=202605211643"></script>
<script>
Shell.render({
active: 'projects',

View File

@ -4,7 +4,7 @@
<meta charset="utf-8">
<title>平台套图 · 流·Studio</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<link rel="stylesheet" href="assets/restraint.css">
<link rel="stylesheet" href="assets/restraint.css?v=202605211643">
<style>
.app { height: 100vh; overflow: hidden; }
main { display: flex; flex-direction: column; min-height: 0; }
@ -845,8 +845,8 @@
</div>
<script src="assets/shell.js"></script>
<script src="assets/new-product-drawer.js"></script>
<script src="assets/shell.js?v=202605211643"></script>
<script src="assets/new-product-drawer.js?v=202605211643"></script>
<script>
Shell.render({
active: 'asset-factory',

View File

@ -4,7 +4,7 @@
<meta charset="utf-8">
<title>新建商品 · 流·Studio</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<link rel="stylesheet" href="assets/restraint.css">
<link rel="stylesheet" href="assets/restraint.css?v=202605211643">
<style>
/* ─── 主表单 ─── */
.form-grid {
@ -275,7 +275,7 @@
</div>
</div>
<script src="assets/shell.js"></script>
<script src="assets/shell.js?v=202605211643"></script>
<script>
Shell.render({
active: 'products',

View File

@ -4,7 +4,7 @@
<meta charset="utf-8">
<title>新建商品 · 流·Studio</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<link rel="stylesheet" href="assets/restraint.css">
<link rel="stylesheet" href="assets/restraint.css?v=202605211643">
<style>
/* ============================================================
V2.1 product-create · 全屏新建商品工作台
@ -2596,7 +2596,7 @@
</aside>
<script src="assets/shell.js"></script>
<script src="assets/shell.js?v=202605211643"></script>
<script>
// ============================================================
// 调用 Shell.render · 注入网站 sidebar (form mode 显示)

View File

@ -7,7 +7,7 @@
<meta http-equiv="Expires" content="0">
<title>商品详情 · 流·Studio</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<link rel="stylesheet" href="assets/restraint.css">
<link rel="stylesheet" href="assets/restraint.css?v=202605211643">
<style>
/* ─── 顶部 标题 + 状态 ─── */
.pd-title {
@ -1150,7 +1150,7 @@
</div>
<script src="assets/shell.js"></script>
<script src="assets/shell.js?v=202605211643"></script>
<script>
// 从 URL ?product= 读出商品名,注入 crumb / h1 / 商品名字段
const _urlProductName = (function () {

View File

@ -4,7 +4,7 @@
<meta charset="utf-8">
<title>商品工作台 · 流·Studio</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<link rel="stylesheet" href="assets/restraint.css">
<link rel="stylesheet" href="assets/restraint.css?v=202605211643">
<style>
/* ─── Onboarding tip(首次进入) ─── */
.onboard-tip {
@ -771,7 +771,7 @@
</div>
</div>
<script src="assets/shell.js"></script>
<script src="assets/shell.js?v=202605211643"></script>
<script>
Shell.render({
active: 'products',

View File

@ -4,7 +4,7 @@
<meta charset="utf-8">
<title>商品库 · 流·Studio</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<link rel="stylesheet" href="assets/restraint.css">
<link rel="stylesheet" href="assets/restraint.css?v=202605211643">
<style>
/* ─── 全局 viewport 高度链 (让右侧 toolbar/分页吸顶吸底) ─── */
/* 整页滚动 · 头部 H1+actions sticky 固定 · 其他随页面滚 */
@ -1012,7 +1012,7 @@
<button type="button" id="bulk-exit">完成</button>
</div>
<script src="assets/shell.js"></script>
<script src="assets/shell.js?v=202605211643"></script>
<script>
Shell.render({ active: 'products', crumbs: [{ label: '工作台', href: 'index.html' }, { label: '商品库' }] });

View File

@ -4,7 +4,7 @@
<meta charset="utf-8">
<title>新建项目 · 流·Studio</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<link rel="stylesheet" href="assets/restraint.css">
<link rel="stylesheet" href="assets/restraint.css?v=202605211643">
<style>
.wizard { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 36px; align-items: start; max-width: 1400px; }
@media (max-width: 1180px) { .wizard { grid-template-columns: 200px minmax(0, 1fr); } }
@ -377,8 +377,8 @@
</div>
</div>
<script src="assets/shell.js"></script>
<script src="assets/new-product-drawer.js"></script>
<script src="assets/shell.js?v=202605211643"></script>
<script src="assets/new-product-drawer.js?v=202605211643"></script>
<script>Shell.render({ active: 'projects', crumbs: [{ label: '工作台', href: 'index.html' }, { label: '视频项目', href: 'projects.html' }, { label: '新建项目' }] });</script>
<script>

View File

@ -4,7 +4,7 @@
<meta charset="utf-8">
<title>视频项目 · 流·Studio</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<link rel="stylesheet" href="assets/restraint.css">
<link rel="stylesheet" href="assets/restraint.css?v=202605211643">
<style>
/* ─── List view ─── */
.proj-name-cell { display: flex; align-items: center; gap: 12px; }
@ -537,7 +537,7 @@
</div>
</div>
<script src="assets/shell.js"></script>
<script src="assets/shell.js?v=202605211643"></script>
<script>
Shell.render({ active: 'projects', crumbs: [{ label: '工作台', href: 'index.html' }, { label: '视频项目' }] });

View File

@ -4,7 +4,7 @@
<meta charset="utf-8">
<title>设置 · 流·Studio</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<link rel="stylesheet" href="assets/restraint.css">
<link rel="stylesheet" href="assets/restraint.css?v=202605211643">
<style>
/* ─── 设置布局:左 nav + 右 panel ─── */
.settings-grid { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 24px; align-items: start; }
@ -417,7 +417,7 @@
</div>
</div>
<script src="assets/shell.js"></script>
<script src="assets/shell.js?v=202605211643"></script>
<script>
Shell.render({
active: 'settings',

View File

@ -4,7 +4,7 @@
<meta charset="utf-8">
<title>商品工作台 V2 · 流·Studio</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<link rel="stylesheet" href="assets/restraint.css">
<link rel="stylesheet" href="assets/restraint.css?v=202605211643">
<style>
.content { max-width: none !important; padding: 0 !important; }
.content > .corner-mark { display: none; }
@ -544,7 +544,7 @@
</div>
</div>
<script src="assets/shell.js"></script>
<script src="assets/shell.js?v=202605211643"></script>
<script>
Shell.render({
active: 'products',

View File

@ -4,7 +4,7 @@
<meta charset="utf-8">
<title>商品工作台 · 流·Studio</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<link rel="stylesheet" href="assets/restraint.css">
<link rel="stylesheet" href="assets/restraint.css?v=202605211643">
<style>
/* ─── 撑满 .content 的限制 ─── */
.content { max-width: none !important; padding: 0 !important; }
@ -771,7 +771,7 @@
</div>
</div>
<script src="assets/shell.js"></script>
<script src="assets/shell.js?v=202605211643"></script>
<script>
Shell.render({
active: 'products',

View File

@ -4,7 +4,7 @@
<meta charset="utf-8">
<title>团队 · 流·Studio</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<link rel="stylesheet" href="assets/restraint.css">
<link rel="stylesheet" href="assets/restraint.css?v=202605211643">
<style>
/* ─── 团队信息卡(深色 banner · 上标题行 + 下统计行)─── */
.team-banner {
@ -347,7 +347,7 @@
</div>
</div>
<script src="assets/shell.js"></script>
<script src="assets/shell.js?v=202605211643"></script>
<script>
Shell.render({
active: 'team',