Commit Graph
15 Commits
Author SHA1 Message Date
skycurtain 8d6a842055 docs(api): 注意事项文案审查——去除内部调研叙事,改用户视角
- 移除「接口①④」「双重验证」等文档编号/调研过程叙事,改写为用户可独立理解的完整因果或操作指引
- 接口指代全部点名完整路径(usage 接口/同 subscription/billing 接口 → 完整路径)
- ÷500000 硬编码改为 ÷ quota_per_unit(见 /api/status)——消除与「不要硬编码」自相矛盾
- log/token 的 id desc 排序补关键警示:id 是展示序号跨请求无意义,勿用于去重或游标
- 源码细节泛化溯源(Update() Select/MaxRecentItems/abilities 表 → NewAPI 源码验证/硬编码/内部存储)
- 「虚拟滚动的核心场景」改为用户视角「页面已做虚拟滚动优化,可直接流畅浏览」
- 验证:test 64/64 + type-check + lint + build 四绿
2026-09-09 01:40:03 +08:00
skycurtain 86d2ac304b feat(api): 实装 /api/status 接口——无鉴权公开接口,换算比率权威来源
- endpoints:AuthMode 扩展 'none'(完全公开),追加 /api/status 定义(考证实证文案 + 实测示例响应),置于列表首位
- endpoint-info-line:鉴权徽标三态化(公开/宽松/严格,map 驱动 + none 中性样式)
- endpoint-panel:requiresKey——无鉴权接口隐藏 sk-key 输入行、按钮不因空 key 禁用、空态文案区分
- spec:接口数 5→6、顺序、鉴权分布(none+strict×3+lenient×2)断言更新
- docs:接口文档同步 479 行新版(/api/status 详解 + QuotaPerUnit 考证);交互设计 §1 清单加第 0 行;README 与 side-nav 计数更新
- 验证:test 64/64 + type-check + lint + build 四绿
2026-09-09 01:27:02 +08:00
skycurtain 19b69e2d5a docs(deploy): 部署方案——开发机构建 + 服务器轻构建(Caddy)
按熟悉的工作流调整:构建在开发机完成(四绿验证后的 dist 才是部署物),SFTP 上传 dist/Caddyfile/compose.yaml/Dockerfile 四件到服务器,服务器上 docker build 仅做 COPY(无构建工具链需求,秒级)。单阶段 Dockerfile;.dockerignore 不再排除 dist(部署必需品)且继续排除 .env*;README 部署章节重写为三步流程(本机构建/SFTP/服务器 compose)。compose 文件采用 Compose 规范标准名 compose.yaml(docker-compose.yml 仅为向后兼容保留)。
2026-09-08 21:00:19 +08:00
skycurtain d1ddead178 chore: .gitignore 补 .env 规则(防真实网关地址误提交)
compose 部署引入 .env 文件后需要兜底:.env/.env.* 全忽略,!.env.example 保留示例。
2026-09-08 19:48:40 +08:00
skycurtain 00ccfc4849 docs: 新增 AGENTS.md(AI 协作规范与经验教训)
只记录 README 没有的协作专属信息:Bun 运行时约定(禁混用其他包管理器)、验证命令清单、命名规范、SFC 注释位置、测试盲区经验(stub useElementSize/断言渲染内容/能杀死 bug)、架构红线(model 层选区/tabs 纯导航/节流 trailing/rAF 每帧重读输入)、已知边界。
2026-09-08 15:37:39 +08:00
skycurtain 93bbea2489 feat(view): 行号点击选中与拖拽多选(model 层选区)+ 实现技术博客
选区状态存 model 层(anchor/active 两个行号)而非 DOM Selection——虚拟滚动跨窗口边界时 DOM 被卸载,原生选区必丢;单行点击是 anchor===active 的退化特例。高亮走 .line-selected class(model 驱动,重渲染不丢),DOM Selection 仅作 Ctrl+C 同步目标(窗口内边缘行 setStartBefore/setEndAfter);拖到容器边缘 rAF 自动滚动,速度每帧按指针位置重算(闭包旧值会导致速率漂移),出界外推贴边保持滚动。新增 2 用例(点击选中含 DOM Selection 文本断言、拖拽范围高亮)。附实现技术博客 docs/JSON预览器实现技术博客.md。
2026-09-08 15:20:40 +08:00
skycurtain e3b1003f4d fix(view): 拖拽滚动条白屏——节流补 trailing,滚动窗口持续跟随
useThrottleFn 第三参 trailing 默认 false,拖拽滚动条的连续 scroll 事件(间隔恒 ≤33ms)在节流窗口内被全部丢弃不补执行,scrollTopPx 停在起拖位置导致白屏;开启 trailing 后窗口每 33ms 补执行一次跟随滚动。新增拖拽场景测试(连续 scroll + fake timers 断言窗口跟随最终位置),曾用 stash 对照验证旧行为下测试失败。
2026-09-08 13:26:28 +08:00
skycurtain c690e0507e refactor: 组件顶部注释迁入 script setup 块内 + 全量 prettier 格式化
SFC 顶层(块标签外)不是 prettier 认识的注释位置,块注释会被重排拍平;迁入 <script setup> 顶部后 prettier 正确保留 JSDoc 格式。迁移 6 个 .vue 文件;顺带 prettier 格式化 4 个存量未格式化文件(gateway-client.ts、endpoint-queries.spec.ts、json-text-processor.spec.ts、bench-store.spec.ts)。
2026-09-08 11:06:47 +08:00
skycurtain d4fe766373 feat(layout): tabs 纯导航 + 面板外置,响应区固定分区滚动
参照 t-design-starter 与 Naive UI display-directive=show 语义:t-tabs 只当导航条(list 不传 panel),EndpointPanel 渲染在外置自有容器,v-show 常驻切换(面板不销毁,sk-key/滚动位置/局部状态全保留);删除两条 :deep 穿透,仅留一条收敛规则隐藏空 panel 壳;响应区 overflow:hidden + min-height 220px 固定分区,滚动收敛到 JsonTextView 自身;新增 request-tabs 4 用例锁死显隐/不销毁语义。
2026-09-08 10:48:22 +08:00
skycurtain c021294322 feat: 虚拟滚动 JSON 响应区 + README
json-text-view:DOM 恒定(可视窗口 ± overscan)、懒高亮(仅窗口内行 segments 切词)、spacer 撑高 + translateY 偏移;组件测试 stub useElementSize 固定视口断言行内容实际渲染。响应区完整化:元信息行/复制(useClipboard legacy 降级)/下载;README 定稿(运行需配 GATEWAY)。
2026-09-08 00:49:43 +08:00
skycurtain 60ba5b6306 feat(ui): UI 骨架与请求集成(sider、tabs、接口面板 sk-key 走 store、手动查询)
t-tabs 用官方 list prop 数据驱动(受控 value + 动态增删语义干净);请求纯手动触发,enabled 门控 + refetch,staleTime Infinity 切 tab 不重发,queryKey ['endpoint', path, skKey] 换 key 即新查询;endpoint-panel 的 sk-key computed 读写 store,切 tab 输入保留。
2026-09-08 00:49:37 +08:00
skycurtain 3f95335651 feat(store): bench-store(tabs 开关激活/拖拽重排 + 每 tab sk-key)
sk-key 按接口路径存取,仅内存态、刷新即重置;closeTab 清除对应 key,重开为干净面板。面板组件随 tab 切换卸载重建,输入由 store 保留。
2026-09-08 00:49:31 +08:00
skycurtain 78f2e7136e feat(data): 接口静态数据、网关 fetch wrapper、虚拟滚动文本加工(纯 TS + 单测)
json-text-processor 直接以 segments 方案实现完整行重建:token 与 plain 交替,join 等于原文,括号/缩进/逗号逐字不丢;高亮输出结构化 span 无 v-html;窗口计算含 scrollTop 超界钳制。
2026-09-08 00:49:26 +08:00
skycurtain c3d6f379f9 chore: 工程底座(Vite + Vue 3 + TS + TDesign + vue-query + Pinia + VueUse + Vitest)
vite dev server 代理 /api、/v1 到 GATEWAY(仅从环境变量读取,.env.example 提供示例,代码不写死默认值,dev 未配置时报错);oxlint + eslint + prettier;vitest 含 jsdom 组件测试环境。
2026-09-08 00:49:19 +08:00
skycurtain b2e0aa4a6c docs: 接口调研与设计文档
NewAPI sk-key 接口实证调研(计费参数/接口清单/坑记录)、交互设计定稿、实施计划。数据层与应用层后续按阶段提交。
2026-09-08 00:49:12 +08:00