2f7113ba5e
ci/woodpecker/tag/build Pipeline was successful
- 设计令牌:重映射 Tailwind 色阶为薄荷汽水色板(品牌薄荷青/天空蓝/柠檬/珊瑚),统一圆角、柔和阴影;亮暗两套色板按 WCAG AA 校验 - 外壳:悬浮液态玻璃胶囊 TabBar(滑动高亮、滚动收窄)、透明→玻璃顶栏、切页淡入、居中玻璃 Toast - 主题:新增「自动/浅色/深色」三档切换(我的页),自动模式保留按时间切换 - 页面:首页/请销假渐变头卡、登录/绑定设备/工单/个人中心精修;后台换主色与导航样式 - 可读性:清理 8–11px 小字号(最小 12px),提高辅助文字灰度对比 - 降级:不支持 backdrop-filter / 减弱透明度 → 实底;减弱动态效果 → 关闭动画
50 lines
2.2 KiB
HTML
50 lines
2.2 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="zh-CN">
|
||
<head>
|
||
<meta charset="UTF-8" />
|
||
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover" />
|
||
<meta name="theme-color" content="#f3faf7" />
|
||
<title>小助手</title>
|
||
<script>
|
||
// 老内核(Chrome 78~92,即微信 XWEB / 国产浏览器)缺失的 ES2022 运行时 API 补齐。
|
||
// 背景:reka-ui(其弹窗组件)与 @vueuse/shared 内部直接调用 Object.hasOwn
|
||
// (Chrome 93+),而 esbuild/vite 的 target 只降语法、不降运行时 API,
|
||
// 构建产物在 Chrome 78 上会在弹窗挂载时抛 TypeError。
|
||
// 该内联脚本先于 module 产物执行(module 默认 defer),故此处按需补齐即可;
|
||
// 现代内核因特性检测成立而跳过,零开销。写法保持 ES5,避免老内核解析失败。
|
||
;(function () {
|
||
if (typeof Object.hasOwn !== 'function') {
|
||
Object.defineProperty(Object, 'hasOwn', {
|
||
value: function (obj, prop) {
|
||
if (obj === null || obj === undefined) {
|
||
throw new TypeError('Cannot convert undefined or null to object')
|
||
}
|
||
return Object.prototype.hasOwnProperty.call(Object(obj), prop)
|
||
},
|
||
configurable: true,
|
||
writable: true,
|
||
})
|
||
}
|
||
})()
|
||
</script>
|
||
<script>
|
||
// 暗色主题防闪烁:与 composables/useTheme.ts 保持同一规则
|
||
// (用户选择 light/dark 优先;auto 时 18:00–次日 06:00 暗色),在首屏渲染前预设 html.dark 与状态栏色
|
||
;(function () {
|
||
var mode = 'auto'
|
||
try { mode = localStorage.getItem('xz_theme') || 'auto' } catch (e) {}
|
||
var h = new Date().getHours()
|
||
if (mode === 'dark' || (mode !== 'light' && (h >= 18 || h < 6))) {
|
||
document.documentElement.classList.add('dark')
|
||
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0f1815')
|
||
}
|
||
})()
|
||
</script>
|
||
</head>
|
||
<body>
|
||
<div id="app"></div>
|
||
<script type="module" src="/src/main.ts"></script>
|
||
</body>
|
||
</html>
|