Commit Graph
5 Commits
Author SHA1 Message Date
chun_qiu 8b9c347649 feat(v1.10.0): 重建 Bootstrap 主题层,修复迁移遗留的明暗/缓存/布局问题
build / build-and-test (push) Successful in 3m38s
背景:v1.9.0 把界面迁到 Bootstrap 5 时保留了旧自研 CSS,v1.9.2 又叠加了一层
「墨绿渐变」覆盖层,形成三套令牌(--paper/--ink、prefers-color-scheme、
data-bs-theme)并存。系统偏好与 Cookie 不一致时,页面会出现半亮半暗、表单
标签/抽屉标题/订阅页签不可见、输入框变黑块等问题。

本次改动:
- 样式加载顺序改为 bootstrap → app.css;删除旧纸墨令牌与 v1.9.2 覆盖层,
  app.css 重写为单一主题层(:root/[data-bs-theme=light] 与 [data-bs-theme=dark]
  两套语义令牌)。组件只读 --app-*,解决 --ink-2 同时被当作「次级文字色」和
  「卡片底色」的语义冲突。
- 主题只认 <html data-bs-theme>:服务端按 Cookie 直出;没有 Cookie 时由 <head>
  内联脚本在首屏按系统偏好补齐,修好「跟随系统」并避免闪白。大屏同理。
- 修复 Bootstrap 覆盖自研设计的问题:正文 14px + 中文字体栈、22/16/14px 标题、
  按钮/输入框/焦点环/卡片回到设计值;普通按钮新增 .btn-soft,不再变透明文字。
- 布局修复:客户/套餐表单的 .grid-2 不再塞 3 个字段;包详情页把筛选独立成
  GET 表单(在搜索框回车不再误触批量开通);客户详情操作区与 meta 重排;
  抽屉时钟改为固定 46px 并用它对齐抽屉头的 sticky 偏移;追加面板在抽屉里
  两列月历、不再 1100px 竖排;手机端日历数字不再换行溢出,移动端表格隐藏
  低优先级列,不再被裁切。
- 大屏:KPI/面板去掉 Bootstrap utility,统一由 screen.css 控制;TOP/今日待打
  改为固定列宽 + grid-column 对齐;浅色主题的链接、热力、图例对比度补齐;
  热力格不再整体降透明度;当日浮层可滚动并支持点击/键盘打开。
- 配色与可读性:普通文本对比度全部达标(截图 lint 由 65 处降到 0);日历
  外月日期改为浅底深字,不再整格 opacity;archived 行改为中性底色而非降透明。
- 缓存:新增内嵌静态资源内容指纹 AssetVersion(12 位 sha256),所有 /static
  链接带 ?v=;带指纹的响应 public, max-age=31536000, immutable,不带指纹的
  回源 no-cache;HTML 继续 no-store。改样式重新编译即自动破缓存,不再依赖
  手改版本号(仍保留 v1.10.0 作为产品版本)。
- 认证页重做:登录/初始化页改用 .auth 卡片(品牌、主题切换、绿色焦点环),
  去掉 min-height:100vh 叠加 main padding 造成的 40px 纵向滚动。
- JS:修 toISOString 计算自然日差一天的时区 bug;主题切换读 data-bs-theme
  并同步 aria-pressed;全选支持半选;大屏切主题同时更新 data-bs-theme;
  提示条改为固定定位、淡出不再顶动页面。
- README 更新主题与缓存说明;版本号 1.9.5 → 1.10.0。

验证:gofmt / go vet / go test 全绿;1440、1100、390 三档,明暗两套,工作台/
客户/套餐/订阅/设置/日志/大屏/登录全部截图走查,无横向溢出与控制台错误。
2026-10-20 01:46:11 +08:00
subtrack d955d0d7d2 feat(v1.9.0): 引入 Bootstrap 5(第 1/4 轮:框架与大屏头部)
本次开始把界面全量迁移到 Bootstrap 5 默认风格,分 4 轮:
- 第 1 轮(本次):Bootstrap 资源本地化 + 后台框架(导航/搜索/徽标/用户菜单/提示) + 大屏头部与面板容器
- 第 2 轮:登录/初始化页 + 客户/订阅/套餐/日志/设置页的表单与列表
- 第 3 轮:日历抽屉、快速完成、追加面板、客户月历、弹窗/下拉
- 第 4 轮:大屏内部(KPI/热力/TOP/今日列表/浮层)与收尾打磨

本轮改动(纯前端,无业务逻辑与数据库变更):
- 新增 internal/web/static/vendor/bootstrap.min.css、bootstrap.bundle.min.js(本地内嵌,离线可用)
- _layout.html 重写为 Bootstrap navbar + container-fluid:导航、搜索框、到期徽标、主题开关、用户下拉菜单、alert 提示
- 大屏布局引入 Bootstrap,html 使用 data-bs-theme 跟随亮/暗主题;头部改为 navbar,面板改为 card
- 版本号 1.8.2 → 1.9.0

验证:
- 无头 Chrome 实拍日历、大屏、登录三页(shots/bs1-*.png),Bootstrap 深色主题生效,导航与徽标样式正常
- 业务逻辑与数据库结构未改动
2026-10-19 22:14:19 +08:00
subtrack 79a308b1b5 feat(v1.6): 键盘 3×4、格子计数排版、时钟修复、已完成折叠、静态资源破缓存
build / build-and-test (push) Successful in 3m28s
1) 触摸小键盘
- 改为 3 列 × 4 行,底行 ⌫ / 0 / ✓(数字 1-9 按 123/456/789 排列)
- 自定义按键样式:52px 高、圆角、按下位移反馈,确认键为主题绿,不再使用原生按钮外观

2) 日历格子
- 「待完成 / 总数」改为 34px 粗体、主题绿、靠左、垂直居中;左侧打手色竖条保留
- 仍不显示排单缩略信息

3) 抽屉时钟
- 修复不显示:根因是浏览器缓存了旧的 app.js(静态资源 max-age=300)
- 所有 CSS/JS 链接改为 /static/app.css?v=<版本号>,升级后自动取新文件
- 字号放大到 30px、水平垂直居中、24 小时制精确到秒,日期小字放在下方

4) 已完成排单折叠
- 当日清单里已完成/已跳过的单子折叠成一行:尾号 + 姓名 + 套餐 + 状态
- 点这一行展开,显示剩余、打手、撤销打卡与⋯菜单(加急/追加);未完成的行不变
- 折叠箭头改为 CSS 三角,展开/收起有过渡动画

5) 背景
- 管理端背景横线彻底移除(已用浏览器截图确认),大屏网格背景保留

验证:
- 无头 Chrome 实拍暗色/亮色两套日历页(shots/v16-dark.png、shots/v16-light.png)
- 界面断言 14 项全部通过;原有 119 项验收回归全绿;go vet / go test ./... 通过
- 版本号 1.6.0
2026-10-19 02:33:37 +08:00
subtrack 85f98dff5c feat(v1.2): 亮暗主题、按尾号快速完成、加急置顶、按套餐分日历、大屏升级
1) 全站亮色 / 暗色
- 管理端与大屏都提供切换按钮(顶栏 ☾/☀、大屏右上角),偏好写 cookie,服务端首屏直出,不闪
- 未选择时跟随系统(prefers-color-scheme);两套配色都改成 CSS 变量,色签、热力、表格、抽屉全部适配
- 大屏默认仍是深色记分板,浅色为纸感背景

2) 工作台 → 当日待完成:按手机尾号快速完成
- 输入尾号回车:唯一匹配直接完成并提示
- 同尾号多客户 / 一单多服务:跳到选择面板,默认全选,可多选后一次完成
- 新增 POST /checkins/quick 与 POST /checkins/batch;抽屉标题改为「未完成数 / 总单数」

3) 加急
- 每条任务右侧可勾选/取消加急;加急任务红 tag + 置顶(抽屉与大屏「今日待打」)
- 日历格子出现红点,单据色签加红边;大屏热力格也带红点
- 新增表 task_flags(sub_id, service_date, urgent),按 订阅+日期 存,避免和打卡状态耦合

4) 套餐「在日历中独立显示」
- 套餐表单新增勾选项,列表页显示「独立日历」标记
- 勾选后工作台与大屏顶部出现套餐标签页(全部 / 每日任务 / …),可只看某类委托的排单、热量与待办
- 新增列 packages.calendar_separate;老库打开时自动 ALTER,无需手工迁移

5) 大屏
- 热力默认改为「每日待完成单量」,右上角可切回「到期热力」
- 鼠标悬停任意日期格,浮出当日待办明细(客户、套餐、剩余、加急),数据来自 GET /api/screen/day
- 底部面板改为「今日到期」(左)+「今日待打」(右,加急置顶),最近追加改为最底部细条

数据库兼容性:
- 只做加法:新增 task_flags 表与 packages.calendar_separate 列,原有表结构、字段、接口与已有数据均不变
- 迁移可重复执行(CREATE TABLE IF NOT EXISTS + PRAGMA 检查后 ALTER)

测试:
- 新增单元测试:套餐独立日历标记、加急增删查、旧库自动加列与重复迁移
- 新增功能冒烟 33 项(主题 cookie、套餐标签、快速完成单/多匹配、加急排序、大屏接口)全部通过
- 原有 119 项验收回归全绿(3 条断言按新 UI 更新:抽屉标题、热力默认口径、今日待打数取值方式)
- go vet / go test ./... 通过;版本号 1.2.0
2026-10-18 22:07:25 +08:00
chun_qiu f047662129 首次推送
build / build-and-test (push) Failing after 1m24s
2026-10-18 19:44:38 +08:00