Files
aurora-admin/site/m/_faq_template.html
T
aurora-admin f1fbfc2ddb
Regression / regression (push) Canceled after 0s
feat(品牌标识): 几何 K 图标(favicon/顶栏标记/theme-color) + 并行会话成果入库
## 品牌标识(本次会话)

起因:品牌此前没有任何图形标识 —— 唯一 favicon 是内联 data-URI 里的字母「A」,
那是 v2.0.0「Aurora Admin → Kole UI」改名漏掉的一处(PC 顶栏也是「A」,
移动端站已是「K」;移动端文档站则完全没有 favicon)。

- 几何:24 网格三个互不接触的笔画(竖 + 两斜),圆头描边;
  描边 2.25 → 16px 标签页尺寸下正好 1.5px = 规范原文「描边1.5px」
- 取色分两套(刻意):favicon 硬编码品牌蓝/白(渲染在浏览器标签栏,不继承 kole-dark);
  顶栏标记走 currentColor(实测暗色下自动转 rgb(20,22,28))
- 新增 theme-color 双条(light #FFFFFF / dark #1C1F26,取 --kole-color-card-bg)
- 修 site/app.js hero 标语 KOLE ADMIN → KOLE UI(改名变形残留)
- 移动端 7 个模板补 favicon(此前计数 0)

验收:门禁 9 条全 OK(site-routing/site-routes/mobile-docs/mobile-site/isolation/
theme/nav/i18n/icons);PC 回归 1464/1464 · 移动端 807/807,各连跑 8 次一致;
两端 favicon 405 字节逐字节一致;PC 站控制台错误 1→0。

## 并行会话成果(本次一并入库)

- 图标系统:2576 图标(TDesign/Element Plus,MIT)+ 11 端注入 + 5 个构建门禁工具
  + IconPreview 预览页 + ICON-SPEC.md 冻结规格
- 移动端平台:47 组件 × 6 端 + 文档站 53 页 + 隔离门禁
- PC 组件:103 个大后台组件 / 组件11 批次
- uni-app:PC 端试点 + 移动端端实现 + 真实编译验证

## 工程

- .gitignore 补 .scratch/ 与 .zcode-preexisting-*.txt(会话中间产物,实测 9.1MB,不入库)
- CHANGELOG 补品牌标识条目
- ROADMAP 登 S8-P4(品牌标识任务包 + og:image/apple-touch-icon 未做部分)
2026-09-21 10:05:48 +08:00

106 lines
8.0 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
__THEME_BOOT__
__BRAND_HEAD__
<title>常见问题 — Kole UI Mobile</title>
<meta name="description" content="Kole UI 移动端常见问题:与 PC 端的关系、令牌引入、单位与安全区、手势事件、uni-app 端限制、多实例同一页的定位、版本与回归口径。">
<link rel="stylesheet" href="../../.design_library/kole-ui-mobile/colors_and_type.css">
<link rel="stylesheet" href="style.css">
</head>
<body>
__HEADER__
<div class="m-body">
__SIDEBAR__
<main class="m-main">
<section class="m-hero">
<h1>常见问题</h1>
<p>按「接入 → 令牌 → 触控 → uni-app → 排障 → 口径」六组整理。每条都对应仓库里可复现的实测或门禁断言,不是凭印象写的经验。</p>
</section>
<section class="m-block">
<h2 id="start">接入</h2>
<table class="m-table">
<thead><tr><th>问题</th><th>回答</th></tr></thead>
<tbody>
<tr><td>组件渲染出来了,但没有样式</td><td>没引令牌或组件样式。最小集合是 <code>kole-ui/mobile/tokens.css</code> + <code>kole-ui/mobile/components/index.css</code>(按需则引单个组件 CSS)。</td></tr>
<tr><td>能直接拷走一个文件用吗</td><td>能。<code>frameworks-mobile/&lt;Prefix&gt;.html</code> 是零依赖演示页(样式内联 + 原生脚本),拷进工程即可跑;<code>.css</code> 是独立的样式表。</td></tr>
<tr><td>为什么没有 PC 的那些组件</td><td>移动端与 PC 是两套清单、物理隔离(见 <a href="platform.html">平台与端</a>)。移动端只做触屏优先的组件,B 端中后台的那 __PC_N__ 个在 <a href="../index.html">PC 文档站</a>。</td></tr>
<tr><td>类名为什么带 <code>-m-</code></td><td><code>kole-m-</code> 是移动端命名空间(PC 是 <code>kole-</code>)。两端样式表各引各的,交叉引用会拿到未定义的样式(门禁 <code>verify:isolation</code> 会拦这类混用)。</td></tr>
</tbody>
</table>
</section>
<section class="m-block">
<h2 id="tokens">令牌</h2>
<table class="m-table">
<thead><tr><th>问题</th><th>回答</th></tr></thead>
<tbody>
<tr><td><code>--kole-m-*</code> 取不到值</td><td>令牌层没加载。它在 PC 令牌文件之上加了一层,<b>不要</b>只引 PC 的 <code>colors_and_type.css</code>;引移动端的 <code>tokens.css</code>(已 @import PC 令牌)或直接引移动端令牌层。</td></tr>
<tr><td>改了颜色,移动端为什么跟着变</td><td>这是设计如此:颜色 / 字体 / 圆角 / 阴影令牌两端同源,移动端只加 <code>--kole-m-*</code>(触控尺寸、安全区、字号、动效)。改 PC 令牌文件,两端同时生效。</td></tr>
<tr><td>暗色模式要单独写一套样式吗</td><td>不用。给根元素加 <code>html.kole-dark</code> 即可(令牌文件里已写好该组);本站在顶栏「主题模式」里切换,约定与 PC 完全一致 —— 三态存 <code>localStorage['kole-mode']</code>,<code>auto</code> 跟随系统。</td></tr>
</tbody>
</table>
</section>
<section class="m-block">
<h2 id="touch">触控</h2>
<table class="m-table">
<thead><tr><th>问题</th><th>回答</th></tr></thead>
<tbody>
<tr><td>安全区没生效(刘海 / 底部横条)</td><td>页面需要 <code>viewport-fit=cover</code>(演示页都带)。令牌层用 <code>@supports (padding-top: env(safe-area-inset-top))</code> 探测后再取 <code>env()</code>,不支持时为 <code>0px</code>。</td></tr>
<tr><td>滑动 / 下拉在真机上不触发</td><td>浏览器端组件用 Pointer Events;uni-app 端用 touch 事件。若你的容器截了事件(如自带手势库),需要放行;另外纵向位移更大时组件会主动让位给页面滚动。</td></tr>
<tr><td>同一页多个 <code>position: fixed</code> 组件叠在一起</td><td>这是浏览器行为(都相对视口定位)。做演示或预览时给容器加 <code>transform: translateZ(0)</code> 建立包含块,组件 CSS 不必改 —— 本站的 TabBar / ActionSheet 演示就是这么做。</td></tr>
<tr><td>点击热区多大才合规</td><td>44×44(WCAG 2.5.5 / Apple HIG),令牌是 <code>--kole-m-touch-target: 44px</code>;uni-app 端为 <code>88rpx</code>(750rpx = 视口宽度)。</td></tr>
</tbody>
</table>
</section>
<section class="m-block">
<h2 id="uniapp">uni-app</h2>
<table class="m-table">
<thead><tr><th>问题</th><th>回答</th></tr></thead>
<tbody>
<tr><td>为什么 uni-app 端没有 <code>document</code> / PointerEvent</td><td>小程序与 App 端没有 DOM,也没有 PointerEvent。所以该端只用 uni 基础组件(<code>view</code> / <code>text</code>)+ <code>@touch*</code> 事件;<code>verify:uniapp</code> 会静态拦住 DOM API 与 pointer 事件。</td></tr>
<tr><td>uni-app 端为什么用 <code>rpx</code></td><td><code>rpx</code> 是移动端语义(750rpx = 视口宽度),该端在组件内用同名令牌覆盖成 rpx 值;PC × uni-app 端反过来保持 <code>px</code>。</td></tr>
<tr><td>uni-app 端真的编译过吗</td><td><b>没有</b>。本仓库只做静态门禁(9 条:SFC 结构 / <code>node --check</code> 语法 / 禁 DOM / 手势必须 touch / 前缀隔离 / 单位策略),真实编译需要 <code>@dcloudio</code> 依赖,复现命令在 <code>tools/verify-uniapp.mjs</code> 头部(ROADMAP S7-P25)。</td></tr>
</tbody>
</table>
</section>
<section class="m-block">
<h2 id="debug">排障</h2>
<table class="m-table">
<thead><tr><th>现象</th><th>怎么办</th></tr></thead>
<tbody>
<tr><td>改了索引但页面没变</td><td>本站是生成物:跑 <code>npm run build:mobile</code> 重建(CI 里有 <code>git diff --quiet -- site/m tests/mobile</code> 断言,防止「改了索引忘了重建」)。</td></tr>
<tr><td>本地打开是 403 / 404</td><td>dev-server 白名单没有该顶层目录(要加 <code>PUBLIC_ROOTS</code> 与 <code>isPublicPath()</code> 两处);或 3311 上还挂着改动前启动的实例 —— 现在会自动回退端口并打印实际入口。</td></tr>
<tr><td>演示帧里样式全丢</td><td>相对路径层数不对(深层页要用三级 <code>../../../</code> 回到仓库根)。这是实测踩过的坑,已由 <code>verify:mobile-site</code>(浏览器实测)卡住。</td></tr>
</tbody>
</table>
</section>
<section class="m-block">
<h2 id="scope">口径</h2>
<table class="m-table">
<thead><tr><th>问题</th><th>回答</th></tr></thead>
<tbody>
<tr><td>版本号以什么为准</td><td><code>package.json</code> 的 <code>version</code>,构建时写进 <code>site/m/data.mobile.json</code> 的 <code>meta.version</code>(顶栏角标读它)。</td></tr>
<tr><td>回归口径</td><td>移动端断言跑在真实 375×640 设备帧里(引擎与 PC 共用 <code>tests/_runtime.js</code>,触控动词在 <code>tests/mobile/_behaviors.js</code>);报告 <code>tests/mobile-report.json</code> 含逐页结果。跑法:<code>node tools/run-mobile-regression.mjs</code>。</td></tr>
<tr><td>规格从哪来</td><td>移动端<b>没有</b>外部规范原文,规格由本仓库撰写:<code>.design_library/kole-ui-mobile/spec/移动端规格.md</code>。契约 JSON 的 <code>sourceKind</code> 是 <code>authored-spec</code>、<code>provenance</code> 是 <code>authored-in-repo</code>。</td></tr>
</tbody>
</table>
</section>
<footer class="m-foot">
<p>生成物:本页由 <code>node tools/build-mobile.mjs</code> 生成,请勿手改。</p>
<p>下一步:<a href="guide.html">快速开始</a> · <a href="design.html">设计规范</a> · <a href="platform.html">平台与端</a></p>
</footer>
</main>
</div>
__COPY_SCRIPT__
</body>
</html>