From 25c40125ca6fb6bcdd7d8924616576e2c54e74b6 Mon Sep 17 00:00:00 2001 From: lvchao Date: Thu, 3 Jul 2025 10:11:22 +0800 Subject: [PATCH] =?UTF-8?q?feat:object=E8=B5=84=E4=BA=A7=E8=BF=9B=E5=BA=A6?= =?UTF-8?q?=E8=B5=84=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: lvchao --- .../js-apis-data-distributedobject.md | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/zh-cn/application-dev/reference/apis-arkdata/js-apis-data-distributedobject.md b/zh-cn/application-dev/reference/apis-arkdata/js-apis-data-distributedobject.md index 511e221db47..9cc580d5a97 100644 --- a/zh-cn/application-dev/reference/apis-arkdata/js-apis-data-distributedobject.md +++ b/zh-cn/application-dev/reference/apis-arkdata/js-apis-data-distributedobject.md @@ -180,6 +180,19 @@ type StatusObserver = (sessionId: string, networkId: string, status: string) => | networkId | string | 是 | 对端设备的网络标识。要求字符串非空且长度不超过255字节。 | | status | string | 是 | 标识分布式对象的状态,可能的取值有'online'(上线)、'offline'(下线)和'restore'(恢复)。 | +## ProgressObserver20+ + +type ProgressObserver = (sessionId: string, progress: number) => void + +定义传输进度的监听回调函数。 + +**系统能力:** SystemCapability.DistributedDataManager.DataObject.DistributedObject + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| sessionId | string | 是 | 标识变更对象的sessionId。长度不大于128字节,且只能包含字母、数字或下划线_。 | +| progress | number | 是 | 标识资产传输进度。取值范围为[-1, 100],取值为整数,-1表示获取进度失败,100表示传输完成。 | + ## DataObject 表示一个分布式数据对象。在使用以下接口前,需调用[create()](#distributeddataobjectcreate9)获取DataObject对象。 @@ -971,6 +984,75 @@ try { } ``` +### on('progressChanged')20+ + +on(type: 'progressChanged', callback: ProgressObserver): void + +监听资产传输进度。 + +**系统能力:** SystemCapability.DistributedDataManager.DataObject.DistributedObject + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| type | string | 是 | 事件类型,固定为'progressChanged',表示资产传输进度变化事件。 | +| callback | [ProgressObserver](#progressobserver20) | 是 | 表示资产传输进度变化的回调实例。 | + +**示例:** + +```ts +const progressChangedCallback: distributedDataObject.ProgressObserver = (sessionId: string, progress: number) => { + console.info("progressChanged callback" + sessionId); + console.info("progressChanged callback" + progress); +} +try { + g_object.on("progressChanged", progressChangedCallback); +} catch (error) { + console.error("Execute failed, error code = " + error.code); +} +``` + +### off('progressChanged')20+ + +off(type: 'progressChanged', callback?: ProgressObserver): void + +当不再进行资产传输进度监听时,使用此接口取消监听。 + +**系统能力:** SystemCapability.DistributedDataManager.DataObject.DistributedObject + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| type | string | 是 | 事件类型,固定为'progressChanged',表示资产传输进度变化事件。 | +| callback | [ProgressObserver](#progressobserver20) | 否 | 需要取消监听的事件回调,若不设置,则取消对该事件的所有监听。 | + +**示例:** + +```ts +const progressChangedCallback1: distributedDataObject.ProgressObserver = (sessionId: string, progress: number) => { + console.info("progressChanged callback1" + sessionId); + console.info("progressChanged callback1" + progress); +} + +const progressChangedCallback2: distributedDataObject.ProgressObserver = (sessionId: string, progress: number) => { + console.info("progressChanged callback2" + sessionId); + console.info("progressChanged callback2" + progress); +} +try { + g_object.on("progressChanged", progressChangedCallback1); + // 取消对资产传输进度的监听 + g_object.off("progressChanged", progressChangedCallback1); + + g_object.on("progressChanged", progressChangedCallback1); + g_object.on("progressChanged", progressChangedCallback2); + //取消对资产传输进度的所有监听 + g_object.off("progressChanged"); +} catch (error) { + console.error("Execute failed, error code = " + error.code); +} +``` ### setAsset20+ setAsset(assetKey: string, uri: string): Promise<void> -- Gitee