@g9tm/lynxcontrols-progress-overlay

中文文档
1.7.3发布于 2026/11/16MITTypeScriptES Module近 30 天下载 2053

G9 进展监督:通过租赁、取消、尽量减少和重试实现长期运行进展.

中文使用文档

@g9tm/lynxcontrols - 进度覆盖

一个用于长期业务的共享重叠 G9MAUIControls.ProgressOverlay租赁、进度、取消、, 最小化到可拖动的气泡、成功和失败终端。 取决于 @g9tm/lynxcontrols-foundation 财务报告和审定财务报表 @g9tm/lynxcontrols 只有这个 移徙表: docs/migration/ProgressOverlay.md。 。 。 .

import { g9ProgressReport, useG9ProgressOverlay } from '@g9tm/lynxcontrols-progress-overlay';

const progress = useG9ProgressOverlay();          // or g9ProgressOverlay() outside components (active host)
const lease = await progress.show('Uploading samples', 'bottom');
try {
  progress.report(0.048, 'Uploading', '12 of 250');
  progress.report(g9ProgressReport.indeterminate('Connecting'));
  progress.reportQueued(3);                       // "+3 waiting"
  await upload();
  await progress.tryShowCurrentSuccess('250 samples uploaded');
} catch (error) {
  await progress.tryShowCurrentFailure('Server unreachable', 'Retry', () => upload());
} finally {
  await lease.dispose();                          // the last lease waits until the terminal state was seen
}

const off = progress.onCancelRequested(() => uploader.cancel());

// The host decides where an overlay shown without a position sits (MAUI 1.3.0), and moves a live one on a screen change.
progress.placementProvider = () => (mapTabShown ? { position: 'top', offset: mapTopBarHeight } : null);
onTabChanged(() => void progress.refreshPlacement());

行为

  • 租赁. 并行操作每个都有一个可视化的租赁;最古老的是运行中的(其上下文文本) 显示),其余部分被排队. 将正在运行的租借权将视图交到下一个; 上一个时, 覆盖关闭 租借是在看到其终点状态后解除的.
  • 报告 被连接到 ~ 10 Hz , 并且只驱动运行状态; 不确定的报告不会移动栏.
  • 取消 (a44×44目标) 立即切换到取消和广播到 onCancelRequested 听众 A 类 取消绝不是一个错误: 当运行停止时, 覆盖关闭, 并且中立的“ 取消” 土司显示; 如果 步骤不能被中断,通知出现在 5 s 之后.
  • 终端 总是强迫满卡。 成功记录为2.2 s(倒计时栏)。 失败等待用户: 重试 重排为运行并运行一次动作( 第二次水龙头加入它); 关闭确认. showStandaloneFailure 显示一个没有运行的失败 .
  • 尽量减少. 把运行中的卡片压到72×72泡(Lynx-ui) Draggable); 敲打气泡声 复还之.
  • 放置. 下( 默认) 或上, 位于主机下方的内置值上方( O)bottomWithTabBar或在其顶部内置, 14 px入;土司起于下方上方. 打电话 refreshBottomInset() 在标签栏隐藏或返回(它)之后 滑翔机220毫秒).
  • 主机放置 (马来语: 1.3.0). 正确的位置取决于屏幕,而不是谁开始工作:设置 服务 placementProvider (它接收主机并返回) { position, offset },边缘加额外距离 从那个边缘的陷入,或 null 默认 g9ProgressOverlayPlacement.default) (中文(简体) ). 显示覆盖 无 后面有一个位置:在覆盖上架时会读取提供者,以及 refreshPlacement() 移动活页 当它下面的屏幕改变时(一个标签开关,一个全屏幕工作表). 同一边滑翔的相抵变化 边缘变化在旧边缘和新边缘逐渐消失(滑翔会把牌扫到整个屏幕上); refreshPlacement(false) 跳跃。 显示覆盖 与 一个能维持生命的姿势 一个最小的气泡 永远不会移动。 抛出提供者倒回默认值(带有控制台警告).

桌面上泡泡拖曳是一个设备检查(ledger N-047);放置运动为N-060.

版本与发布记录

@g9tm/lynxcontrols-progress-overlay 共发布 14 个版本,首次发布于 2026/10/07;过去 12 个月发布了 14 个版本。

版本发布日期距今
1.7.3latest2026/11/16今天
1.7.22026/11/132 天前
1.7.12026/11/133 天前
1.7.02026/11/133 天前
1.6.12026/11/123 天前
1.6.02026/11/123 天前

关于 @g9tm/lynxcontrols-progress-overlay 的常见问题

@g9tm/lynxcontrols-progress-overlay 是什么?

G9 进展监督:通过租赁、取消、尽量减少和重试实现长期运行进展.

如何安装 @g9tm/lynxcontrols-progress-overlay?

在项目目录运行 npm install @g9tm/lynxcontrols-progress-overlay,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@lynx-js/react(>=0.129.1 <0.130.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@g9tm/lynxcontrols-progress-overlay 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@g9tm/lynxcontrols-progress-overlay 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@g9tm/lynxcontrols-progress-overlay 可以商用吗?

@g9tm/lynxcontrols-progress-overlay 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@g9tm/lynxcontrols-progress-overlay 的下载量有多少?

根据 npm 官方下载统计,@g9tm/lynxcontrols-progress-overlay 在 2026/10/16 – 2026/11/14 这 30 天内被下载 2,053 次,日均约 68 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@g9tm/lynxcontrols-progress-overlay 还在维护吗?

最新版本 1.7.3 发布于 2026/11/16(今天);至今共发布 14 个版本,其中过去 12 个月发布了 14 个;首次发布于 2026/10/07。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。