Token导航 LogoToken导航TokenDH.com
待分类需要联网github未标认证来源可访问许可证需确认审计通过

kuikly-visibility-exposure奎克利能见度曝光

Agent Skill

用于辅助前端页面、组件、样式和交互逻辑的开发与维护。它适合让 Agent 生成或审查 React、Next.js、Vue、Tailwind、CSS 等相关代码,整理组件结构,或定位布局和性能问题。使用时需要结合项目现有设计系统、路由和构建方式,避免只生成孤立片段;涉及页面改动时,应配合本地预览和构建检查确认视觉效果。

总安装

1,024

周安装

44

GitHub Stars

71

下载量

359
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:kuikly-visibility-exposure(奎克利能见度曝光)
来源仓库:https://github.com/tencent-tds/kuiklyui-ai
仓库路径:skills/kuikly-visibility-exposure
安装命令:
npx skills add https://github.com/tencent-tds/kuiklyui-ai --skill kuikly-visibility-exposure
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/tencent-tds/kuiklyui-ai --skill kuikly-visibility-exposure

简介

kuikly-visibility-exposure 用于辅助前端页面、组件和样式开发,适合生成 React、Vue 等相关代码和布局问题排查。

  • 适用场景包括 UI 组件开发、样式审查、交互逻辑编写和构建问题诊断等前端工程任务。
  • 核心能力涵盖组件结构整理、CSS 规则建议和性能问题定位,支持主流框架和工具链集成。
  • 可通过 npx skills add 命令从指定 GitHub 仓库安装,需结合项目现有设计系统和路由配置使用。
  • 使用时应避免生成孤立片段,配合本地预览和构建检查确认实际效果,防止样式错乱或功能异常。

SKILL.md

Kuikly 曝光与可见性事件

核心概念

Kuikly 提供了一套完整的组件可见性事件系统,用于监听组件在滚动容器或页面中的可见状态变化。四大要素:

  1. 可见窗口:最近的滚动容器(Scroller/List/WaterfallList)、ModalView 或 Pager
  2. 可见性状态:四种状态 + 百分比(WILL_APPEAR → DID_APPEAR → WILL_DISAPPEAR → DID_DISAPPEAR)
  3. 触发时机:滚动偏移变化、子视图布局完成、可见区域 margin 变化、组件被移除
  4. 应用场景:曝光上报、懒加载、播放控制、可见百分比监听

可见窗口查找规则

系统从组件的 parent 开始向上遍历,找到第一个匹配的祖先作为可见窗口:

组件 → parent → ... → ScrollerView(Scroller/List/WaterfallList/PageList)→ 命中
                     → ModalView → 命中
                     → Pager → 命中(兜底)
  • 对于 ScrollerView(Scroller/List/WaterfallList):可见性基于列表可见区域计算,会减去滚动偏移量
  • 对于 ModalView:可见性基于 Modal 的布局 frame 计算
  • 对于 Pager:可见性基于页面的布局 frame 计算
重要:可见性是相对于最近滚动容器的可见区域,而非屏幕位置。若需屏幕位置可见性,如果嵌套滚动容器场景,可使用外层滚动容器的 scroll 事件回调,结合列表偏移量计算节点真实位置。

状态机

                    ┌──────────────────────────────────────────────┐
                    │                                              │
                    ▼                                              │
  DID_DISAPPEAR ──→ WILL_APPEAR ──→ DID_APPEAR ──→ WILL_DISAPPEAR ─┘
  (完全不可见)       (部分可见)       (完全可见)       (部分可见)

三种空间关系与状态转换:

空间关系判定条件状态转换
相离(组件完全在窗口外)组件 frame 与窗口无交集→ WILL_DISAPPEAR → DID_DISAPPEAR
包含(组件完全在窗口内)组件 frame 完全在窗口内→ WILL_APPEAR → DID_APPEAR
相交(组件部分在窗口内)组件 frame 与窗口部分重叠从 DID_DISAPPEAR → WILL_APPEAR;从 DID_APPEAR → WILL_DISAPPEAR

特殊行为:

  • 组件被移除(v-if 移除、页面销毁等)时,会自动触发 WILL_DISAPPEAR → DID_DISAPPEAR,并将 percentage 置为 0
  • 状态变更是异步的(通过 addNextTickTask 调度),页面销毁时除外(同步执行)

API 速查

可见性事件

事件描述回调参数import
willAppear {}组件将要可见(部分进入窗口)com.tencent.kuikly.core.base.event.willAppear
didAppear {}组件完全可见(完全在窗口内)com.tencent.kuikly.core.base.event.didAppear
willDisappear {}组件将要不可见(部分离开窗口)com.tencent.kuikly.core.base.event.willDisappear
didDisappear {}组件完全不可见(完全在窗口外)com.tencent.kuikly.core.base.event.didDisappear
appearPercentage {}组件可见百分比变化percentage01: Float([0,1])com.tencent.kuikly.core.base.event.appearPercentage

appearPercentage 百分比计算逻辑

空间关系percentage 值
完全不可见(相离)0
完全可见(包含)1
部分可见(相交)纵向列表:可见高度 / 组件高度;横向列表(FlexDirection.ROW / ROW_REVERSE):可见宽度 / 组件宽度
percentage 值始终被 clamp 到 [0, 1] 范围内。只有当 percentage 发生变化时才会触发回调。

Scroller/List/WaterfallList 辅助属性

属性描述参数类型支持的容器
visibleAreaIgnoreTopMargin(margin)从可见窗口顶部裁掉指定高度FloatScroller、List、WaterfallList
visibleAreaIgnoreBottomMargin(margin)从可见窗口底部裁掉指定高度FloatScroller、List、WaterfallList
作用原理:缩小列表的"可见性判定窗口"。设置后,可见窗口高度 = 列表高度 - marginTop - marginBottom,子组件 Y 坐标也会减去 marginTop。例如列表高度 500dp,设置 visibleAreaIgnoreTopMargin(60f)visibleAreaIgnoreBottomMargin(80f) 后,只有列表中间 360dp 区域内的子组件才会被判定为可见。 典型场景:列表顶部/底部有固定遮挡 UI(如悬浮导航栏、半透明蒙层、底部工具栏),被遮挡区域内的子组件虽然在列表坐标系内"可见",但实际上用户看不到,需要从曝光判定中排除。

快速入门

didAppear 曝光上报

import com.tencent.kuikly.core.base.event.didAppear

View {
    attr {
        size(100f, 100f)
        backgroundColor(Color.GREEN)
    }
    event {
        didAppear {
            // 组件完全可见,执行曝光上报
        }
    }
}

appearPercentage 可见百分比监听

import com.tencent.kuikly.core.base.event.appearPercentage

View {
    attr {
        size(100f, 100f)
        backgroundColor(Color.GREEN)
    }
    event {
        appearPercentage { percentage01 ->
            // percentage01 为 [0,1] 的露出百分比
            // 1 表示 100% 可见,0 表示 0% 可见
            if (percentage01 >= 0.5f) {
                // 超过 50% 可见时执行逻辑
            }
        }
    }
}

完整生命周期监听

import com.tencent.kuikly.core.base.event.willAppear
import com.tencent.kuikly.core.base.event.didAppear
import com.tencent.kuikly.core.base.event.willDisappear
import com.tencent.kuikly.core.base.event.didDisappear
import com.tencent.kuikly.core.base.event.appearPercentage

View {
    event {
        willAppear {
            // 组件将要可见(部分进入窗口)
        }
        didAppear {
            // 组件完全可见 → 曝光上报
        }
        willDisappear {
            // 组件将要不可见(部分离开窗口)
        }
        didDisappear {
            // 组件完全不可见
        }
        appearPercentage { percentage ->
            // 可见百分比变化
        }
    }
}

visibleAreaIgnoreMargin 排除遮挡区域

import com.tencent.kuikly.core.base.event.didAppear

Scroller {
    attr {
        flex(1f)
        // 顶部 60dp 区域内的子组件不参与曝光判定
        visibleAreaIgnoreTopMargin(60f)
        // 底部 80dp 区域内的子组件不参与曝光判定
        visibleAreaIgnoreBottomMargin(80f)
    }

    View {
        attr {
            height(120f)
            backgroundColor(Color(0xFFE3F2FD))
        }
        event {
            didAppear {
                // 只有完全进入中间有效区域(500 - 60 - 80 = 360dp)时才触发
            }
        }
    }
}

常见错误与陷阱

错误做法正确做法原因
❌ 根节点使用 didAppear 监听页面曝光✅ 使用页面生命周期 pageDidAppear()根节点没有滚动容器作为可见窗口,行为不可预期
❌ 认为可见性是相对于屏幕位置✅ 可见性是相对于最近滚动容器的可见区域需要屏幕位置请结合 scroll 事件偏移量计算
❌ 在 appearPercentage 中直接执行曝光上报✅ 曝光上报用 didAppear,或加阈值 + 去重标记appearPercentage 每次滚动都触发,频率极高
❌ 忘记 import 可见性事件扩展函数✅ 添加对应的 import 语句这些是 Event 的扩展函数,需要显式 import

完整使用案例

EXAMPLES.md

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

33.07%
按下载量换算119

Claude

29.35%
按下载量换算105

Cursor

19.83%
按下载量换算71

Gemini CLI

9.01%
按下载量换算32

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills