做快应用的开发者大概率被问过这样一个问题一个连安装都不需要的应用靠什么赚钱这问题我听了不下二十次早几年也确实不好回答。那时候快应用刚起入口上了不少但广告联盟没接、支付能力没打通开发者做完一版就只能干放着收益全靠各自倒腾。但现在情况完全不同了。华为快应用商业化这几年一直在推进广告体系成熟了IAP内购通了流量入口从单点应用市场扩展到了搜索、浏览器、负一屏、服务卡片一堆场景开发者社区里讨论的不再是“能不能变现”而是“怎么把稳定收益做出来”。这篇文章我打算结合自己做快应用这几年的经验把华为快应用从产品定位到变现落地的完整链路讲透也把踩过的坑一并说出来。适合两类人看一类是还在观望、不确定快应用是否值得投入的团队另一类是已经上架了快应用、但收入一直上不去的开发者。前半部分咱们先看清生态和变现场景后半部分全是实操——接入广告、开通内购还有一堆藏在细节里的坑。1. 快应用为什么值得做流量入口比你想得多得多1.1 快应用的本质系统级轻应用不算App也不算网页很多刚接触的人会问快应用到底是什么。最简单的理解是它是一种跑在手机系统里的轻量应用基于前端技术栈开发体积控制在极小范围内不用下载安装包点开即用。但它和网页不一样它调用的是系统级的渲染引擎和原生接口能拉起相机、读取本地存储、接收系统通知能做到的事情比H5多得多。从技术选型来看快应用采用的是类Vue的语法开发过Web的团队基本零成本上手。项目里还是常见的manifest.json、页面级.ux文件和组件化写法写过小程序的开发者看一遍文档就能开始干活。这一点很关键因为“上手门槛低”直接决定了团队愿不愿意投入人手来做。我见过不少团队把快应用当成“小程序的替代品”来评估这个认知其实有偏差。小程序依附于微信的流量池而快应用依附的是手机系统本身。系统意味着更底层的入口你打开手机搜索一个词结果第一屏就有你的服务你翻到负一屏卡片上直接显示天气、快递或者待办。这些场景是小程序触及不到的也是快应用流量逻辑里最值钱的部分。1.2 入口矩阵除了应用市场还有哪些流量位绝大多数开发者对快应用入口的理解还停留在“华为应用市场里面有个快应用专区”这太片面了。华为生态里能拉起快应用的地方我数了一下至少有六类。应用市场是最基础的。用户在应用市场搜索某个应用名或关键词如果对应功能已经有快应用版本点进去可以直接以快应用形式秒开不需要下载。对很多低频工具类产品来说这个“先体验后安装”的转化路径特别顺。搜索和浏览器是高意图入口。用户在华为系统自带搜索框里搜“汇率换算”“垃圾分类”“房贷计算器”这类词时结果页经常直接以快应用卡片的形式给出服务入口。这种用户的需求非常明确进来之后的使用深度和广告点击率普遍比应用市场推荐位要高。负一屏智慧助手·今天是场景化入口。系统会根据用户习惯、时间、地理位置推荐卡片比如天气卡片、通勤卡片、快递卡片。如果你的快应用能提供这类场景服务可以申请系统级的卡片展示位。这一块的门槛比应用市场高一些但拿到之后是持续的免费流量。还有语音助手、智慧识屏、URL跳转、扫一扫等长尾入口。尤其是URL跳转开发者可以在网页、短信、广告落地页里放一条快应用链接用户点了直接拉起快应用。做投放时这个功能非常实用落地页到应用内的跳转几乎没有损耗。1.3 轻量带来的使用习惯差异轻量带来的不只是加载快还有用户心理预期的变化。用户打开一个原生App天然会认为“我要正经用一会儿”但打开一个快应用心理预期是“我完成这件事就走”。这种差异直接影响你做变现的思路。工具型快应用的用户通常只停留几十秒这个时候不适合做复杂的内购引导反而是广告展示的效率更高。休闲类小游戏在快应用里的停留时长会明显长一些用户玩一局三五分钟激励视频和插屏的位置就有了天然的承接点。所以快应用的变现逻辑不是要抄原生App的运营模型而是要顺着“轻、快、即用即走”这个属性来设计收入路径。我在后面的章节里会具体展开这里想强调的是轻量不是劣势它只是换了一种流量的打法。2. 变现场景怎么选广告、内购与订阅的组合逻辑2.1 快应用里被验证过的三种变现方式华为快应用目前主流的变现方式有三类广告、内购和应用内订阅三者的收益模型差别很大。广告变现是绝大部分快应用的主要收入来源也是最容易被低估的部分。快应用广告支持激励视频、插屏、Banner、原生广告等样式其中激励视频的eCPM千次展示收益通常最高原生广告次之Banner最低。做工具类产品时我的习惯是“激励视频作为主动触发点Banner作为页面底部补充”这样既能保证用户不会被突然弹出来的广告打断又能兜住底部的展示量。内购IAP走的是华为的应用内支付通道适合道具购买、功能解锁、会员开通这些虚拟商品。快应用做内购有一个天然优势加载路径极短从触发购买到支付完成可能不到一分钟冲动型消费的发生率明显高于需要重新下载一个App的场景。订阅模式适合内容型和长期服务型应用比如课程、壁纸、资讯聚合、效率工具的高级功能。订阅的好处是收入可预测坏处是对留存要求极高如果你的快应用次日留存连20%都不到做订阅大概率是徒劳。下面这张表是我自己选型时会参考的对照关系产品类型典型快应用首选变现方式原因工具类计算器、汇率、智能证件照广告为主用户用完即走付费意愿低休闲游戏合成、解压、答题类激励视频内购高频打开广告和付费都能落地内容类壁纸、阅读、课程订阅广告持续使用适合锁长期价值服务类快递查询、记账内购去广告原生广告信任成本高付费点靠功能进阶2.2 产品类型决定变现组合没有哪个变现方式是万能的产品本身的属性决定了你该重点押注哪一条路。拿工具类举例。用户进到一个“汇率换算”快应用他的目标非常明确换完就走。这种场景下塞一套内购流程让用户开会员几乎不可能有转化。正确的做法是结果页底部放一个原生广告允许用户通过“看完一段短视频免广告24小时”来换取无广告体验。激励视频承担了“交换”的角色用户不反感收入也稳定。休闲游戏类则是另一种逻辑。游戏本身有“过关失败重来”的天然场景这时候弹激励视频让用户复活或者双倍奖励用户接受度极高。但注意纯靠激励视频吃满一个用户是有天花板的当用户刷广告疲劳之后就该用道具内购来承接更高意愿的用户。我的经验是激励视频服务免费玩家内购服务有付费能力的玩家两者并行互相不冲突。内容类快应用最看重的是用户粘性。壁纸应用每天都有新内容阅读应用每天都有新章节这种节奏天然适合订阅制。我见过一个壁纸快应用免费用户每天只能下载三张壁纸开通月度订阅后可以无限下载同时去掉广告。这套组合后来的数据表现非常稳。2.3 冷启动阶段先别急着开广告位很多开发者上架快应用的第一件事就是接广告这是我在实操中特别不推荐的做法。冷启动阶段你的首要目标是验证用户是否真的留得住广告位过早铺开尤其是插屏和开屏这类打断式广告会直接污染早期留存数据。我自己的节奏是前两周只上被动式广告比如Banner和原生同时把核心功能路径跑顺。等次留数据稳定下来再逐步加入激励视频和插屏观察广告对留存的影响。如果加了激励视频后次留不降反升说明奖励闭环设计得合理如果次留明显掉了就得回头检查是不是广告打断了核心流程。这个“先留存、后变现”的顺序听起来是常识但实际执行中很多人看到后台广告请求一直为零就焦虑立刻把能开的广告位全开。结果就是收入没起来多少用户反而全跑光了。记住一句话快应用的流量来得快走得更快留存地基没打好变现就是无根之木。3. 广告接入实操从开通广告位到第一笔收益3.1 前置准备账号、应用创建、实名认证接广告之前开发者的账号体系要先行。在华为开发者联盟完成注册后需要创建应用并选择“快应用”类型这一步会生成快应用对应的应用标识。之后要到服务管理里开通广告服务通常需要完成实名认证企业账号认证的流程周期比个人账号长一些建议提前几天提交材料不要卡在上线前才去处理。这里有个细节容易被忽略广告服务后台创建广告位时会区分“测试广告位”和“正式广告位”。很多新手直接把测试广告位当正式用结果上线后广告请求全部失败或者填充率异常。正确做法是开发调试阶段用平台给出的测试广告位ID代码里通过运行时环境判断是否切换到正式广告位避免上线的版本里还带着测试ID。3.2 广告位类型与取舍建议华为快应用广告目前常见的类型有五种激励视频、插屏、Banner、原生、开屏。不同广告位的产品定位差异很大我按自己的使用频率排了个序。激励视频是主力。它主动触发、用户知情、奖励明确对体验的打搅最小收益也远高于其他类型。适合放在用户“需要额外机会”或“想获得额外奖励”的场景里比如游戏复活、签到翻倍、免费解锁高级模板。原生广告藏在内容流里视觉上与页面融为一体用户不觉得是被强塞的广告但点击意图更自然。适合信息流形态的快应用比如壁纸列表、资讯列表、工具结果的展示页。插屏广告在页面切换或返回时弹出收益中等但对体验的打断最严重。控制频率是核心我的经验是一个用户每天最多见1-2次插屏超过这个频率次留大概率被拖累。Banner广告收益最低但它胜在持续展示适合流量大但停留短的工具类产品。放在底部不会遮挡核心操作就行。开屏广告在启动时展示收益高但同样打断感强除非你的产品有极高的打开频次否则不建议冷启动阶段就上简化配置。3.3 接入流程与关键代码快应用接广告的整体流程不复杂核心是三个步骤声明广告服务模块、创建广告实例、处理展示与回调。在manifest.json中声明广告服务模块具体配置项以你接的SDK版本为准大致结构是这个样子{ package: com.example.quickapp, name: demoQuickApp, versionName: 1.0.0, versionCode: 1, features: [ { name: system.ads } ] }激励视频的接入逻辑下面这段代码是简化后的示例接口名可能会有版本差异接入时以官方文档为准// 激励视频接入示例 import ads from service.ads export default { data: { rewardVideoAd: null }, onInit() { this.initRewardVideo() }, initRewardVideo() { ads.createRewardedVideoAd({ adUnitId: 这里填正式广告位ID }).then(ad { this.rewardVideoAd ad ad.onClose(res { if (res res.isEnded) { // 用户完整看完视频发放奖励 this.grantReward() } else { // 中途退出不给予奖励 this.showToast(完整观看视频才能领取奖励) } }) }).catch(err { console.error(激励视频初始化失败, err) }) }, showRewardVideo() { if (this.rewardVideoAd) { this.rewardVideoAd.show().catch(() { // 展示失败时重新拉取 this.initRewardVideo() }) } } }有两个点必须单独强调。第一广告实例不要每次展示都重新创建。我在早期版本里每次用户点击按钮都重新createRewardedVideoAd后来发现频繁创建会导致广告加载变慢和成功率下降改成在页面onInit阶段预创建实例、后续只调用show()之后加载成功率明显提升。第二奖励发放必须严格绑定isEnded状态。有些开发者为了省事只要关闭广告就发奖励结果被用户抓到空子打开了不看完也能拿奖励后期很快被平台检测到异常流量。做这个判断其实只多一行代码但对收益安全至关重要。3.4 上线前必须核对的三件事第一件事是广告位ID检查。用测试ID跑通了流程之后上线前要全局搜索一遍代码确认所有正式广告位ID都替换到位且测试环境下不会误用正式ID。第二件事是空位补位逻辑。广告加载是有失败率的尤其在新用户首次冷启动时SDK可能还没准备好。触发激励视频但广告没加载出来时不能卡死用户。我一般会让按钮置灰几秒或者直接放行不发放奖励这样用户体验不会断掉。第三件事是先盯前三天。上线后前三天不要急着优化先把三个数对一遍广告请求量、展示量、填充率。如果请求量很高但展示量低通常是广告实例创建时机不对如果填充率普遍低于正常水平排查一下是不是测试广告位没换干净或者广告调用在子页面里被过早销毁了。4. 内购接入虚拟支付是稳定收入的压舱石4.1 IAP开通的完整路径广告收入有波动性eCPM受市场行情影响遇到淡季缩水三成都不稀奇。但内购收入不一样用户为特定功能或内容付费到手就是确定性的收入。所以我的判断是只要产品形态允许一定要接内购哪怕只是作为收入结构的补充。在华为生态里做快应用内购走的是应用内支付通道。开通路径大概是开发者联盟后台完成应用创建和实名认证后在AppGallery Connect里找到对应的快应用开通IAP服务然后添加商品。商品创建需要填商品ID、名称、价格、描述等信息审核通过之后才能在应用内拉起支付流程。这里稍微啰嗦一句个人开发者和企业开发者能开的支付能力会有差异虚拟商品的类目审核也更严格。建议在动手开发内购功能之前先把商品提纲提交到后台做预审确认你的商品类目允许上架别等开发完了才发现开通不了。4.2 商品类型怎么设计华为IAP的商品类型主要分成三类消耗型、非消耗型、订阅型。三者的设计逻辑完全不同。消耗型商品是一次性购买、多次使用的数字内容典型的是游戏里的金币、道具或者工具类里的“生成次数”。消耗型商品设计的关键是控制“消耗速度”和“付费频率”。比如智能证件照快应用免费用户可以模糊预览付费用户每消耗一次付费生成高清图这类场景下单次付费单价不宜过高让用户觉得“反正便宜试一次”很重要。非消耗型商品适合一次买断、永久使用的功能比如去广告、解锁全部模板。这里要注意的是非消耗型商品必须做到跨设备同步用户换机或重装后要能恢复购买否则纠纷率会直线上升。订阅型商品适合内容持续更新的产品壁纸、阅读、课程、天气会员都是典型场景。订阅的核心在于首周优惠和续费提醒华为后台提供了一些辅助能力建议开发者利用好因为订阅型商品的LTV用户生命周期价值是所有商品类型里最高的一旦跑起来收入模型会很稳。4.3 服务端校验和防刷单快应用做内购最容易被忽略的环节是支付结果的校验。很多开发者的第一版只做客户端回调支付成功后直接给用户发货这在技术上能用但风险极大。客户端回调很容易被伪造尤其是有激励机制的消耗型商品只要有人摸到接口路径刷单是分分钟的事。正确做法是走服务端校验客户端拿到支付成功后返回的购买凭证传给自己的服务端服务端拿着凭证去华为支付网关确认订单状态、商品ID和金额确认无误再下发商品。订单校验这一步千万不能省它决定你后续能不能安全地做活动、做订阅而不是成天担心被刷。发货逻辑上消耗型商品要做幂等处理。同一个订单号重复发货、重复补单这在活动期特别常见。我的习惯是数据库里给订单号建唯一索引发货动作做成可重入的宁可多查一次也不多发一次商品。5. 商业化运营踩过的坑eCPM、违规与用户体验的平衡5.1 eCPM不是一成不变的做快应用广告最让人头疼的就是eCPM忽高忽低。同样是激励视频今天的收益可能比昨天高30%周末比工作日高月底比月初高电商大促期间普遍比其他月份好。这里面有几层原因。第一是广告主预算的周期性波动预算充足时平台给的单价就高预算收缩时所有开发者的收益都会受影响。第二是用户画像和LBS基于位置的服务数据的影响一二线城市用户的eCPM通常高于下沉市场游戏类广告主对年轻用户出价更高。第三是广告频控策略同一个用户一天看太多次广告之后平台会主动降低对其的广告单价因为重复曝光对广告主没有价值。所以盯eCPM时不要拿单天的数去判断策略对不对至少取一周的平均值来对比。如果你的eCPM整体趋势稳定不必因为某一天突然掉得厉害而焦虑。反过来如果你的eCPM长期低于同类产品的正常水平就要回头查一下是不是广告位类型选择不合理或者用户画像太杂导致平台无法精准匹配广告主。5.2 广告合规是条红线广告合规是快应用变现里最容易出问题、也最不值得踩的点但很多新手偏偏在这上面翻车。最常见的违规是诱导点击。把广告做得像功能按钮一样诱导用户误触或者把原生广告素材伪装成内容入口点击率上去了但是一旦被平台判定为诱导轻则警告重则冻结广告收益甚至整个应用受影响。我在开发时就给自己立了一条规矩广告位必须有明确的广告标识用户看得懂这是广告点不点是自己意愿。另一个雷区是广告遮挡。在页面关键操作区域覆盖透明浮层或者让广告弹窗挡住关闭按钮都属于严重的违规场景。之前和同行交流时听说有人的快应用因为广告弹出太频繁被用户反复投诉后来广告权限直接被关停了。这类风险影响的是整个账号不是单条广告位。还有一点是关于激励视频的奖励闭环。如果用户看完广告后没有拿到奖励或者奖励延迟到账用户投诉率会大幅上升。要确保广告关闭回调和奖励发放之间有一个补偿机制比如补发失败时自动发一份用户补偿包。5.3 广告密度与用户留存的平衡广告密度和用户体验的平衡是所有快应用变现里最考验产品功底的部分。我早期走过一段弯路为了冲广告收入在一个页面里同时挂了Banner、原生和插屏广告填充率确实好看但用户的次留数据惨不忍睹广告整体收益反而因为用户流失而下滑了。后来我做了一版比较大的调整核心原则有三条第一每次页面最多出现一个主动弹出的广告类型。激励视频是激励场景插屏是打断场景两者不要叠在同一时间点出现。用户看完一个插屏刚回到页面又被弹激励视频这种感觉跟被疯狂弹窗骚扰没有区别。第二插屏广告的触发要设置冷却时间。一次会话里最多出现一次两次展示之间至少间隔15分钟以上。很多广告SDK支持直接配置频控如果平台不支持就在客户端自己做时间戳判断。第三把广告位放在“用户主动走的路上”而不是“强迫用户停下来看的路上”。比如工具型应用的结果页底部放原生广告用户看完结果往下滑动时自然看到这比结果还没出来之前先弹一个插屏要友好得多。6. 从能变现到持续变现沉淀下来几条实操经验6.1 产品定位决定天花板快应用开发成本低但正因如此市面上大量同质化产品。你去后台搜一下“计算器”“壁纸”这类关键词满页都是同名产品。想在存量市场里切一块收益靠的不是功能更多而是定位更准。我见过一个做得比较好的智能证件照快应用它没有去做通用证件照工具而是聚焦“一寸照换背景”这一个高频场景朋友圈和办公场景里需求极强。用户进来之后路径非常短拍照、换背景、下载保存。广告和付费都围绕这个核心路径设置用户转化率比同样是证件照但“功能大全”的产品高出几个量级。这个反差很有意思很多时候做小而准的产品反而能跑出更高的收益。快应用因为使用场景太轻用户不会在里面探索复杂功能。所以千万不要学大而全的App模式每一个功能入口都在分摊核心路径的注意力。我的经验是定义清楚“用户进来完成的第一件事是什么”把这一件事做到极致变现才有抓手。6.2 盯住这几个数据指标后台数据不能只看广告收益金额。收益只是一个结果如果不知道为什么涨、为什么跌就无法复制好结果。我自己每天会固定看一组指标这里分享给大家。广告侧主要看请求量、展示量、点击率、人均展示次数和eCPM。请求量和展示量反映广告位的有效加载情况点击率反映广告素材和用户匹配度人均展示次数则用来衡量广告密度是否过高——这个值过高往往预示留存风险。用户侧主要看次日留存、7日留存、人均使用时长和核心功能完成率。工具类快应用的人均时长一般都很短所以我会格外关注“核心动作完成率”比如智能证件照里“最终保存下载”的完成率比时长更有参考意义。变现侧我会算一个ARPDAU每活跃用户平均收益。这个指标把收入和日活结合起来能直接反映产品整体的变现效率。优化动作有没有奏效看这个数的趋势比看单日总收入更快。6.3 版本迭代和活动的节奏快应用虽然没有原生App那么重的发布流程但千万不能把“上线当终点”。我做快应用的版本节奏是一周一个小版本两周一个大版本保持功能迭代的同时每次版本都顺手调整广告配置的小细节。活动运营在快应用里也是完全适用的。利用华为生态的节日资源比如应用市场的专题推荐位提前两周准备版本和素材很容易吃到活动流量。我做工具类快应用时在开学季、年中大促期间配合专题活动把广告位文案和激励视频奖励临时调优峰值日的广告收益能比平时高出50%以上。另外如果你的团队同时在布局鸿蒙生态可以考虑把快应用作为轻量服务触角和原生应用形成联动。快应用解决即用即走的需求原生应用承接深度使用用户两者在华为生态里并不是竞争关系而是一套互补的流量矩阵。当然这一部分要根据团队实际精力来取舍先把一个产品点做透再谈矩阵。最后聊点个人的体会吧。快应用变现这件事最怕的就是把“变现”当成终点。一上来把所有广告位堆满短期收入是上去了用户留不住三个月后eCPM跟着崩收入只会越来越差。我自己的习惯是新功能上线先跑两星期看用户路径和停留时长再决定广告位怎么加。快应用因为入口多、加载快天然适合做“轻量服务加高频使用”的生意。能不能把它变成持续进账的现金流说到底比的是你对用户每一次点击后心理预期的把握。别急着赚快钱把广告加载时机、奖励闭环、付费设计这些细节打磨到位收入会自己找上门来。
企业数字化 ERP 产品动态
相关推荐
AI代码质量三道关卡:PR-Agent、变异测试与CI防假绿实战 1. 从"全绿"到"炸了":一个让所有工程师后背发凉的场景测试全绿,覆盖率 92%,CI 流水线一路飘绿,代码评审顺利通过,然后上线三天后,线上炸了。这个场景听起来像是段子,但它正… · 2026/9/25 4:01:34
html-ppt-skill 主题系统完全指南:36 套 CSS 主题、Token 覆盖机制与一键切换实战 AI 技能/插件前端 【免费下载链接】html-ppt-skill HTML PPT Studio — AgentSkill with 24 themes, 31 layouts, 20 animations for building professional HTML presentations 项目地址: https://gitcode.com/gh_mirrors/ht/html-ppt-skill 点击查看 免费下载 ht… · 2026/9/25 4:01:28
Harness如何将Claude Code转化为可编排的AI基础设施 1. 这不是工具消亡史,而是开发者工作流的“静默进化”过去一年,我几乎每天都会打开 Slack 查看团队消息,但 Claude Code 的图标在 Dock 栏里积了灰——不是它不好用,而是它已经“退场”成了背景音。标题里说的“70% 的工作都不需要… · 2026/9/25 4:01:28
深入gnhf编排器架构:状态机如何让AI代理整夜循环不丢一行代码 深入gnhf编排器架构:状态机如何让AI代理整夜循环不丢一行代码 【免费下载链接】gnhf Before I go to bed, I tell my agents: good night, have fun 项目地址: https://gitcode.com/gh_mirrors/gn/gnhf
gnhf(good night, have fun)是一… · 2026/9/25 4:25:44
VirtualBox E_FAIL (0x80004005) 报错全解析:从驱动冲突到UUID修复 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 4:25:44
MIPI DSI转LVDS桥接方案:LT9211与N76E003配置实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 4:25:44
Windows 11锁屏机制深度解析与分版本禁用方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 4:25:44
必应搜索出现Ref A/B/C标签?原因排查与解决指南 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 4:25:37
Cadence Sigrity TDR仿真实战:从原理到阻抗曲线分析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 4:25:37
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37