x-desktopcard-s 桌面卡片与实况
桌面卡片与实况的 API 服务插件。没有 uvue 组件,也不用 native-view。页面只 import 函数推数据。
第一期模板:
info:标题 / 副标题 / 图progress:标题 / 进度 / 状态
兼容性
| Harmony | iOS | Android | WEB | 小程序 |
|---|---|---|---|---|
| 卡片 + 实况(实况需华为权益) | 不支持 | 卡片 AppWidget;实况 ongoing 通知,16+ 可提升 | 1008 | 1008 |
调用
ts
import { updateCard, requestPinCard, startLive, updateLive, endLive, getCardSupport } from "@/uni_modules/x-desktopcard-s"
updateCard({
cardId: "home-info",
kind: "info",
title: "今日待办",
subtitle: "还剩 3 项",
cardHeight: 0,
success: (res) => {
console.log(res.errMsg, res.cardId)
}
})
startLive({
cardId: "order-1",
kind: "progress",
title: "配送中",
progress: 40,
status: "骑手已取餐",
progressColor: "#317AF7",
progressStartImage: "/static/live-start.png",
progressEndImage: "/static/live-end.png",
progressIndicatorImage: "/static/live-pin.png"
})方法
卡片:isCardSupported、getCardSupport、updateCard、requestPinCard、getPinnedCards
实况:isLiveSupported、isLiveEnabled、startLive、updateLive、endLive
各端注意
- Android:长按桌面或
requestPinCard加卡片。桌面进度卡与鸿蒙对齐:标题 + 进度条 + 状态;信息卡是标题 + 副标题。卡片默认 2 行高,已钉成 1 行的请拖高或删掉重加,否则状态会被裁掉。实况是通知,不是主屏卡片。进度实况只用自定义通知行(左图 / 进度条 / 右图,中间指示叠在条上),不再叠加系统setProgress底栏。Android 12+ 折叠态自定义区只有 48dp,折叠/横幅用矮布局(标题+一行进度),展开才带状态文案。进度条与三张图在同一行垂直居中。 - iOS:卡片和实况都不支持。需要独立 Widget Extension、App Group,以及给扩展单独出一份描述文件,流程偏复杂,先不做。调用会走
1008。 - 鸿蒙:服务卡片放在工程
harmony-configs/entry的FormExtensionAbility。刷新走getPublishedRunningFormInfos+updateForm。实况走@kit.LiveViewKit,event=DELIVERY,没申请华为即时配送权益或没打开实况窗开关会1003,文案里带ohos=原始码。左右节点、中间指示、进度颜色与 Live View Kit 最对齐;图空时仍用系统蓝点/蓝针。 - 实况进度外观参数(Android / 鸿蒙同一字段):
progressStartImage、progressEndImage、progressIndicatorImage为正方形 PNG(本地路径或https),progressColor为#RGB/#RRGGBB/#AARRGGBB。空图时鸿蒙回退生成图标,Android 左右用色块圆点。请优先https。 cardHeight(vp):桌面卡片内容高度。0按内容自适应,不再撑满格子。桌面格子本身由系统规格决定,已钉卡片不能改格子。鸿蒙新加默认1*2(矮卡),仍可选2*2/2*4。Android 新卡默认 1 行高,可拖高。实况窗高度不能改。- 不能程序化从桌面卸卡片。
错误码
1001 系统错误,1002 参数错误,1003 服务未开启,1004 权限被拒绝,1008 当前平台不支持,1009 实况未开始。
更新日志
1.0.0(2026-08-17)
- 新增桌面卡片与实况 API:info / progress 两套模板
- Android AppWidget + ongoing / Live Update 通知
- iOS ActivityKit + Widget Extension 源码
- HarmonyOS Form 服务卡片 + LiveViewKit
