# 评分器组件开发实战:HarmonyOS ArkTS 五星评分交互应用解析
一、应用概述评分器Star Rating是各类电商、内容平台、生活服务类应用中最常见的交互组件之一。用户通过点击或悬浮操作选择星级评分直观地表达对商品、服务或内容的评价。本文将以 HarmonyOS 原生开发框架 ArkTS 为基础详细解析一个五星评分器组件的完整开发过程涵盖评分展示、交互反馈、悬停预览等核心功能。1.1 功能特性五星评分体系支持 0.5 到 5.0 的评分精度每颗星代表 1 分悬停预览Hover鼠标或手指在星标上悬停时实时显示当前评分值点击确认用户点击确定最终的评分结果动态反馈选中的星标以高亮金色显示未选中的星标显示灰色数值显示实时显示当前评分数值和对应的文字评价如非常好、一般等可配置参数评分组件的星级数量、颜色、大小等均可通过参数配置1.2 适用场景商品评价系统电影/书籍评分服务质量反馈用户满意度调查内容质量评级1.3 技术亮点本组件虽然功能聚焦却涵盖了 ArkTS 开发中的多个关键技术点组件状态管理、触摸事件处理、自定义组件封装、动画反馈、组件间通信等是学习 ArkTS 组件化开发的经典案例。二、技术架构2.1 整体架构概览评分器组件采用容器组件 子组件的层级架构利用 ArkTS 的Component和Builder实现高度模块化。┌────────────────────────────────────────────┐ │ RatingContainer │ │ 评分容器组件 - 状态管理 │ ├────────────────────────────────────────────┤ │ ┌────────────────────────────────────────┐│ │ │ StarComponent ││ │ │ 单个星标组件 - 独立状态 ││ │ │ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ││ │ │ │ Star1│ │ Star2│ │ Star3│ │ Star4│ ││ │ │ └──────┘ └──────┘ └──────┘ └──────┘ ││ │ └────────────────────────────────────────┘│ ├────────────────────────────────────────────┤ │ RatingDisplay评分信息展示区 │ └────────────────────────────────────────────┘2.2 核心数据结构// 评分配置接口 interface RatingConfig { totalStars: number; // 星标总数默认5 starSize: number; // 星标尺寸默认32 activeColor: ResourceColor; // 选中颜色默认金色 inactiveColor: ResourceColor; // 未选中颜色默认灰色 allowHalf: boolean; // 是否允许半星 showText: boolean; // 是否显示评分文本 } // 评分等级映射 const RATING_TEXT_MAP: Recordnumber, string { 0.5: 非常差, 1.0: 差, 1.5: 较差, 2.0: 一般, 2.5: 中等, 3.0: 中上, 3.5: 良好, 4.0: 好, 4.5: 很好, 5.0: 非常好 };2.3 组件层级关系Entry MainPage └── Column (主容器) ├── Text (标题: 请评价我们的服务) └── RatingContainer (自定义评分组件) ├── Row (星标行) │ ├── Star (第1颗星) │ ├── Star (第2颗星) │ ├── Star (第3颗星) │ ├── Star (第4颗星) │ └── Star (第5颗星) ├── Text (评分数值: 4.5) └── Text (评价文本: 非常好)三、核心代码分析3.1 评分容器组件RatingContainer是整个评分器的核心组件负责管理评分状态和处理交互逻辑。Component struct RatingContainer { // 外部传入的配置参数 private config: RatingConfig { totalStars: 5, starSize: 40, activeColor: #FFD700, inactiveColor: #E0E0E0, allowHalf: false, showText: true }; // 内部状态 State currentRating: number 0; // 当前评分值 State hoverRating: number 0; // 悬停时的临时评分值 State isHovering: boolean false; // 是否处于悬停状态 // 对外回调 private onRatingChange?: (rating: number) void; // 计算显示的评分值优先显示悬停值 get displayRating(): number { return this.isHovering ? this.hoverRating : this.currentRating; } // 获取评分的文字描述 get ratingText(): string { const keys Object.keys(RATING_TEXT_MAP).map(Number).sort((a, b) a - b); let closest keys[0]; for (const key of keys) { if (Math.abs(key - this.displayRating) Math.abs(closest - this.displayRating)) { closest key; } } return RATING_TEXT_MAP[closest] || ; } build() { Column({ space: 12 }) { // 星标行 Row({ space: 8 }) { ForEach( Array.from({ length: this.config.totalStars }, (_, i) i 1), (starIndex: number) { StarComponent({ starIndex: starIndex, currentRating: this.displayRating, starSize: this.config.starSize, activeColor: this.config.activeColor, inactiveColor: this.config.inactiveColor, onStarClick: (index: number) { this.handleStarClick(index); }, onStarHover: (index: number) { this.handleStarHover(index); }, onStarLeave: () { this.handleStarLeave(); } }) } ) } // 评分信息展示 if (this.config.showText) { Row({ space: 16 }) { Text(this.displayRating 0 ? this.displayRating.toFixed(1) : 未评分) .fontSize(28) .fontWeight(FontWeight.Bold) .fontColor(this.config.activeColor) Text(this.displayRating 0 ? this.ratingText : 点击星标进行评分) .fontSize(16) .fontColor(#666666) } } } .padding(24) .backgroundColor(Color.White) .borderRadius(16) .shadow({ radius: 8, color: rgba(0, 0, 0, 0.06), offsetX: 0, offsetY: 4 }) } }核心逻辑分析双评分状态currentRating保存用户最终确认的评分hoverRating保存悬停时的临时评分。二者分离可以实现在悬停预览后恢复到原有评分的功能。计算属性displayRating根据是否处于悬停状态返回对应的评分值确保 UI 展示正确的评分。文字匹配ratingText通过计算绝对值最小的差值找到最接近当前评分的文字描述。3.2 单颗星组件StarComponent是评分器的最小单元负责单颗星的渲染和交互事件处理。Component struct StarComponent { private starIndex: number; // 当前星的序号1-based private currentRating: number; // 当前评分值 private starSize: number; // 星标大小 private activeColor: ResourceColor; // 激活颜色 private inactiveColor: ResourceColor; // 未激活颜色 private onStarClick?: (index: number) void; private onStarHover?: (index: number) void; private onStarLeave?: () void; // 计算当前星标的状态 get starState(): full | half | empty { if (this.currentRating this.starIndex) { return full; } else if (this.currentRating this.starIndex - 0.5) { return half; } else { return empty; } } build() { // 使用 Stack 堆叠容器实现半星效果 Stack() { // 灰色背景星未选中 Image($r(app.media.star_empty)) .width(this.starSize) .height(this.starSize) .objectFit(ImageFit.Contain) // 金色前景星选中部分 Image($r(app.media.star_filled)) .width(this.starSize) .height(this.starSize) .objectFit(ImageFit.Contain) .clip(new Rect(0, 0, this.starState full ? this.starSize : this.starState half ? this.starSize / 2 : 0, this.starSize)) .opacity(this.starState empty ? 0 : 1) } .width(this.starSize) .height(this.starSize) .onClick(() { this.onStarClick?.(this.starIndex); }) .onHover((isHover: boolean) { if (isHover) { this.onStarHover?.(this.starIndex); } else { this.onStarLeave?.(); } }) .animation({ duration: 200, curve: Curve.EaseInOut }) } }半星实现原理通过clip属性对金色星标进行裁剪来实现半星效果full状态裁剪宽度为整颗星完全显示金色half状态裁剪宽度为半颗星显示一半金色empty状态裁剪宽度为 0完全不显示金色3.3 交互事件处理评分器的交互核心是鼠标悬停和点击事件的处理逻辑// 处理星标点击事件 handleStarClick(starIndex: number) { let newRating: number; if (this.config.allowHalf) { // 如果已选中同一颗星且当前为整星状态降级为半星 if (this.currentRating starIndex) { newRating starIndex - 0.5; } else { newRating starIndex; } } else { newRating starIndex; } this.currentRating newRating; this.isHovering false; this.onRatingChange?.(this.currentRating); // 添加触觉反馈 vibrator.vibrate({ type: touch, duration: 10 }); } // 处理悬停事件 handleStarHover(starIndex: number) { this.isHovering true; this.hoverRating starIndex; } // 处理悬停离开 handleStarLeave() { this.isHovering false; }交互设计要点半星切换逻辑当allowHalf开启时点击已选中的整颗星会降级为半星为用户提供更精细的评分控制。悬停预览悬停时只修改hoverRating不会覆盖currentRating鼠标移出后恢复显示用户的最终评分。触觉反馈评分确认时调用振动接口提供物理反馈增强交互确认感。3.4 使用自定义构建函数实现星标除了使用ComponentArkTS 还提供了Builder装饰器来构建 UI 片段Builder StarIcon(active: boolean, size: number, color: ResourceColor) { Image(active ? $r(app.media.star_filled) : $r(app.media.star_empty)) .width(size) .height(size) .objectFit(ImageFit.Contain) .colorFilter(active ? { brightness: 1, saturate: 1.5 } : { brightness: 0.8, saturate: 0.5 }) } // 在 build 方法中调用 Row({ space: 8 }) { ForEach(this.stars, (star) { this.StarIcon( star.index this.displayRating, this.config.starSize, this.config.activeColor ) }) }Builder的优势在于它不需要创建新的组件实例性能开销更小适合渲染简单的 UI 片段。四、HarmonyOS关键技术应用4.1 响应式状态管理评分器组件充分利用了 ArkTS 的状态管理机制状态层级设计State currentRating → 驱动评分主显示 State hoverRating → 驱动悬停预览显示 State isHovering → 控制显示模式切换这三个状态变量构成了一个完整的状态机悬停进入 ┌─────────┐ ────────────────→ ┌─────────┐ │ 显示确认 │ │ 显示预览 │ │ 评分状态 │ ←──────────────── │ 评分状态 │ └─────────┘ 悬停离开/点击确认 └─────────┘4.2 事件系统应用HarmonyOS 提供了一套完善的事件系统评分器中使用了以下事件事件类型使用位置触发时机作用onClick星标组件点击星标确认评分onHover星标组件鼠标进入/离开悬停预览onTouch容器组件触摸开始/移动/结束滑动评分滑动评分实现.onTouch((event: TouchEvent) { if (event.type TouchType.Move) { // 计算触摸点对应的评分值 const touchX event.touches[0].x; const starWidth this.config.starSize 8; // 星标宽度 间距 const startX this.starAreaStartX; let rating (touchX - startX) / starWidth 1; rating Math.max(0.5, Math.min(5, Math.round(rating * 2) / 2)); this.hoverRating rating; this.isHovering true; } })滑动评分为用户提供了另一种交互方式手指从星标区域左侧滑到右侧即可快速选定评分操作更加直觉化。4.3 动画与过渡效果ArkTS 内置的动画系统为评分器提供了流畅的视觉反馈// 评分变化时的数字动画 Text(this.displayRating.toFixed(1)) .fontSize(28) .fontWeight(FontWeight.Bold) .fontColor(this.config.activeColor) .animation({ duration: 300, curve: Curve.EaseOut, delay: 0, iterations: 1 }) .transition({ type: TransitionType.Insert, opacity: 0, translate: { x: 0, y: -10 } }) // 星标缩放动画 Image($r(app.media.star_filled)) .width(this.starSize) .height(this.starSize) .scale({ x: this.starState full ? 1.1 : 1.0, y: this.starState full ? 1.1 : 1.0 }) .animation({ duration: 200, curve: Curve.SpringMotion, delay: this.starIndex * 50 // 依次延时的级联效果 })动画设计亮点弹性动画SpringMotion星标选中时使用弹性曲线模拟物理弹性效果视觉反馈生动自然。级联延迟每颗星依次延迟 50ms 执行动画形成流水般的波浪效果。数字过渡评分数值变化时配合淡入和位移动画避免生硬的数字跳变。五、UI设计与交互5.1 视觉层次设计评分器的 UI 设计以简洁清晰为原则突出评分操作本身布局结构┌──────────────────────────────────┐ │ ★★★★★ │ │ 4.5 非常好 │ │ │ │ [确认评分] [重置] │ └──────────────────────────────────┘视觉元素星标采用系统图标资源五角星形状圆润饱满颜色系统选中金色#FFD700— 传递积极、高质的心理暗示未选中浅灰色#E0E0E0— 弱化视觉权重不干扰用户悬停亮金色#FFC107— 比选中色略亮与确认状态区分评分数字大号加粗字体与星标颜色一致强化视觉关联评价文本中性灰色辅助理解评分含义5.2 交互状态定义评分器组件定义了六种交互状态状态触发条件视觉表现初始页面加载未评分所有星标灰色显示点击评分提示悬停鼠标悬停某颗星悬停位置前的星标亮起数字实时变化选中点击确认评分选中星标金色高亮数字锁定半星点击已选整星半星模式选中星标一半亮一半暗确认点击确认按钮触发 onRatingChange 回调重置点击重置按钮恢复到初始状态5.3 无障碍设计// 为视障用户提供无障碍标签 Image($r(app.media.star_filled)) .accessibilityText(第${this.starIndex}颗星当前评分${this.displayRating}分) .accessibilityLevel(yes) .accessibilityDescription(双击选择评分) // 支持键盘操作 .onKeyEvent((event: KeyEvent) { if (event.keyCode KeyCode.KEYCODE_ENTER || event.keyCode KeyCode.KEYCODE_SPACE) { this.onStarClick?.(this.starIndex); } })六、性能优化与最佳实践6.1 渲染性能优化6.1.1 减少组件层级// ❌ 过度嵌套降低渲染性能 Column() { Row() { Column() { Stack() { // 星标内容 } } } } // ✅ 扁平化结构减少组件实例数 Row({ space: 8 }) { // 直接使用 Stack 或 Image }6.1.2 使用 LazyForEach 处理大量评分项如果需要在一个页面中展示多个评分项如商品列表中的评分应该使用LazyForEach代替ForEachclass RatingDataSource extends BasicDataSource { // 实现数据源接口 } LazyForEach(new RatingDataSource(), (item: RatingItem) { ListItem() { RatingContainer({ config: item.config, onRatingChange: (rating) item.onRate(rating) }) } }, (item: RatingItem) item.id)6.1.3 状态变量最小化原则// ❌ 状态粒度太粗任何变化都会触发整个组件重建 State ratingState: { value: number, hover: number, isActive: boolean } { value: 0, hover: 0, isActive: false }; // ✅ 分离独立状态互不干扰 State currentRating: number 0; State hoverRating: number 0; State isHovering: boolean false;6.2 组件化设计原则6.2.1 单一职责每个组件只负责一个功能领域RatingContainer管理评分状态和整体布局StarComponent渲染单颗星并处理原始事件RatingText格式化并展示评分文字6.2.2 接口最小化对外暴露的属性和回调应该精简明确// 只暴露必要的配置项 Component struct RatingContainer { Prop rating: number; Prop config: RatingConfig; onRatingChange?: (rating: number) void; // 不暴露内部实现细节 }6.2.3 默认参数提供合理的默认值降低使用门槛private config: RatingConfig { totalStars: 5, starSize: 32, activeColor: #FFD700, inactiveColor: #E0E0E0, allowHalf: false, showText: true };6.3 适配多种屏幕// 响应式适配 if (this.isWideScreen()) { this.starSize 48; } else { this.starSize 32; } // 根据屏幕宽度动态调整间距 Row({ space: this.getResponsiveSpace() }) { // 星标行 } // 横竖屏适配 .orientation(Orientation.Auto)七、总结与扩展思路7.1 项目总结本文详细解析了基于 HarmonyOS ArkTS 框架开发的评分器组件涵盖了以下核心技术内容声明式状态管理使用State管理评分状态实现 UI 的自动更新自定义组件封装通过Component实现组件的模块化和复用交互事件处理掌握点击、悬停、触摸等事件的处理方式动画系统运用 ArkTS 动画 API 提升交互体验组件通信理解父子组件之间的数据传递和事件回调7.2 扩展思路评分器组件可以从以下几个方向进一步扩展7.2.1 功能增强多维度评分支持外观、“性能”、价格等多个维度的综合评分评分统计展示评分分布直方图、平均分、评分人数等统计信息用户评分记录记录用户的评分历史支持修改和撤销图片评论评分时允许附带图片和文字评论7.2.2 交互升级拖拽评分通过拖拽滑动条代替点击星标适用于大屏设备动效增强评选时烟花、粒子等庆祝动画效果语音评分集成 HarmonyOS 语音识别支持语音评价表情评分在星标基础上增加表情符号的多模态评分7.2.3 技术进阶跨设备协同利用 HarmonyOS 分布式技术在手机和平板间同步评分结果AI 评分推荐基于用户历史评分数据使用 AI 算法推荐可能的评分数据可视化使用 Canvas 组件绘制评分趋势图表性能监控接入 ArkTS Profiler优化组件渲染性能7.3 应用场景展望评分器组件作为最基础的交互组件之一其设计思想可以延伸到更多场景星级评分 → 表情评分 → 拇指评分点赞/踩 ↓ ↓ ↓ 电商评价 社交反馈 内容互动 ↓ ↓ ↓ 信任体系 情感分析 推荐算法在 HarmonyOS 生态中评分器组件还可以与元服务卡片Ability Card结合在桌面直接展示和操作评分实现真正的即评即用。项目代码已完整开源开发者可以直接复用评分器组件或在此基础上进行定制化开发。随着 HarmonyOS 生态的不断壮大掌握 ArkTS 组件化开发技巧将为开发者带来更广阔的职业发展空间。

相关新闻

C++ Linux Web服务器项目:从零实现Reactor高并发架构

C++ Linux Web服务器项目:从零实现Reactor高并发架构

1. 项目概述:为什么这个项目是C求职的“硬通货”?最近帮几个学弟学妹看简历,发现一个挺普遍的现象:很多C方向的应届生或者初级开发者,简历上项目经历一栏,要么是学校课程设计里那些“学生管理系统”、“图书…

2026/10/12 4:12:42 阅读更多 →
从大厂到AI独立开发者:技术转型与创业实践

从大厂到AI独立开发者:技术转型与创业实践

1. 从互联网大厂到AI独立开发者:我的半年转型实录2022年12月31日,我抱着装满个人物品的纸箱走出公司大楼时,北京的寒风像刀子一样刮在脸上。纸箱里装着一个印着公司logo的水杯、几本翻旧的技术书籍,和一沓写满代码片段的便利贴。H…

2026/10/7 19:14:44 阅读更多 →
TI NDK NETTOOLS嵌入式网络开发实战:DNS、TFTP与并发服务器

TI NDK NETTOOLS嵌入式网络开发实战:DNS、TFTP与并发服务器

1. 项目概述与核心价值在嵌入式网络开发领域,尤其是资源受限的微控制器或实时操作系统环境中,实现稳定、高效且易于维护的网络服务是一项极具挑战性的任务。开发者常常需要在有限的ROM、RAM和CPU周期内,集成DNS解析、文件传输和并发服务器等复…

2026/10/10 8:27:35 阅读更多 →

最新新闻

iOS地图定位Demo开发详解:从MapKit到CoreLocation的权限与避坑指南

iOS地图定位Demo开发详解:从MapKit到CoreLocation的权限与避坑指南

简介:这份iOS地图定位Demo以Core Location框架为核心,面向需要掌握定位服务接入的客户端开发新手,演示了从请求权限到地图展示的完整链路,并提供可直接编译运行的示例工程。压缩包共23个文件,约42KB,以m/h源…

2026/10/12 8:04:40 阅读更多 →
PixPin 1.9.11上手教程:截图、贴图、取色高效工作流实战

PixPin 1.9.11上手教程:截图、贴图、取色高效工作流实战

前阵子写产品文档,需要把十几个界面截图并排放在桌面上对照,桌面上堆满了图片窗口,来回切换AltTab点到眼花;临时要取个色值,又得打开Photoshop吸管;遇到网页长图还得先拼接再保存。折腾一圈下来&#xff0c…

2026/10/12 8:04:40 阅读更多 →
AI应用三层缓存架构:KV Cache、前缀缓存与语义缓存实战

AI应用三层缓存架构:KV Cache、前缀缓存与语义缓存实战

1. 为什么 AI 应用的缓存和传统缓存完全不是一回事做过后端的人对缓存都不陌生,Redis 一挂,加一层本地缓存;数据库扛不住,加一层 CDN。这套思路在传统 Web 应用里跑了很多年,基本没出过大问题。但把这套东西直接搬到 A…

2026/10/12 8:04:40 阅读更多 →
浏览器插件套件化开发实战:架构设计与性能优化

浏览器插件套件化开发实战:架构设计与性能优化

1. 浏览器插件套件的整体架构设计思路 1.1 为什么选择“套件”而非“单点工具” 浏览器插件生态里有个很普遍的现象:绝大多数人装了一堆插件,每个只解决一个极窄的问题,结果浏览器越用越卡,插件之间还互相打架。Omni Suite 这个项…

2026/10/12 8:04:40 阅读更多 →
无验证集场景下优化学习率η的实用方法:曲率估计、梯度统计与自适应步长

无验证集场景下优化学习率η的实用方法:曲率估计、梯度统计与自适应步长

1. 为什么“没有验证集”这件事值得单独拿出来聊做机器学习的人都有一个肌肉记忆:调学习率,先划验证集,跑一组η,看验证loss曲线,挑最好的那个。这个流程本身没问题,问题是它默认了一个前提——你手上有足够…

2026/10/12 8:04:40 阅读更多 →
open-code-review:以Git Diff为核心、规则引擎与大模型辅助的代码评审工具

open-code-review:以Git Diff为核心、规则引擎与大模型辅助的代码评审工具

做代码评审这么多年,我一直有个很深的体会:评审意见里至少有三分之一,其实是规则就能自动筛出来的。比如SQL字符串拼接、硬编码密钥、调试日志残留、空catch块,这些东西不需要讨论,只要规则够明确,机器完全…

2026/10/12 8:03:39 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →