diff --git a/en/application-dev/reference/apis/Readme-EN.md b/en/application-dev/reference/apis/Readme-EN.md
index ce0efae9c569f69985be2526d645acc322e9f01e..1caec073b4827d78cd75f8238251af09edee81a0 100644
--- a/en/application-dev/reference/apis/Readme-EN.md
+++ b/en/application-dev/reference/apis/Readme-EN.md
@@ -38,6 +38,7 @@
- [Radio](js-apis-radio.md)
- Network and Connectivity
- [WLAN](js-apis-wifi.md)
+ - [Bluetooth](js-apis-bluetooth.md)
- Device Management
- [Sensors](js-apis-sensor.md)
- [Vibration](js-apis-vibrator.md)
diff --git a/en/application-dev/reference/apis/js-apis-bluetooth.md b/en/application-dev/reference/apis/js-apis-bluetooth.md
new file mode 100644
index 0000000000000000000000000000000000000000..86f2ed4fb55a6e10a349f96aef070a8b3e60fbb3
--- /dev/null
+++ b/en/application-dev/reference/apis/js-apis-bluetooth.md
@@ -0,0 +1,2467 @@
+# Bluetooth
+
+> **Note:**
+> The initial APIs of this module are supported since API version 8. Newly added APIs will be marked with a superscript to indicate their earliest API version.
+
+The Bluetooth module provides Classic Bluetooth capabilities and Bluetooth Low Energy (BLE) scan and advertising.
+
+## Modules to Import
+
+```
+import bluetooth from '@ohos.bluetooth';
+```
+
+
+## Required Permissions
+
+ohos.permission.USE_BLUETOOTH
+
+ohos.permission.MANAGE_BLUETOOTH
+
+ohos.permission.DISCOVER_BLUETOOTH
+
+ohos.permission.LOCATION
+
+
+## bluetooth.enableBluetooth
+
+enableBluetooth(): boolean
+
+Enables Bluetooth.
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| boolean | Returns **true** if Bluetooth is enabled; returns **false** otherwise. |
+
+**Example:**
+
+```
+let enable = bluetooth.enableBluetooth();
+```
+
+
+## bluetooth.disableBluetooth
+
+disableBluetooth(): boolean
+
+Disables Bluetooth.
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| boolean | Returns **true** if Bluetooth is disabled; returns **false** otherwise. |
+
+**Example:**
+
+```
+let disable = bluetooth.disableBluetooth();
+```
+
+
+## bluetooth.getLocalName
+
+getLocalName(): string
+
+Obtains the name of the local Bluetooth device.
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| string | Name of the local Bluetooth device. |
+
+**Example:**
+
+```
+let localName = bluetooth.getLocalName();
+```
+
+
+## bluetooth.getState
+
+getState(): BluetoothState
+
+Obtains the Bluetooth state.
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| [BluetoothState](#bluetoothstate) | Bluetooth state obtained. |
+
+**Example:**
+
+```
+let state = bluetooth.getState();
+```
+
+
+## bluetooth.getBtConnectionState
+
+getBtConnectionState(): ProfileConnectionState
+
+Obtains the profile connection state of this Bluetooth device.
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| [ProfileConnectionState](#profileconnectionstate) | Profile connection state obtained. |
+
+**Example:**
+
+```
+let connectionState = bluetooth.getBtConnectionState();
+```
+
+
+## bluetooth.setLocalName
+
+setLocalName(name: string): boolean
+
+Sets the name of the local Bluetooth device.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| name | string | Yes | Bluetooth device name to be set. It cannot exceed 128 characters. |
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| boolean | Returns **true** if the operation is successful; returns **false** otherwise. |
+
+**Example:**
+
+```
+let ret = bluetooth.setLocalName('device_name');
+```
+
+
+## bluetooth.pairDevice
+
+pairDevice(deviceId: string): boolean
+
+Initiates Bluetooth pairing.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| deviceId | string | Yes | Address of the peer device to pair, for example, **8F:8F:8E:8E:6D:6D**. |
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| boolean | Returns **true** if the operation is successful; returns **false** otherwise. |
+
+**Example:**
+
+```
+// The actual address can be scanned.
+let result = bluetooth.pairDevice("8F:8F:8E:8E:6D:6D");
+```
+
+
+## bluetooth.getPairedDevices
+
+getPairedDevices(): Array<string>
+
+Obtains the Bluetooth pairing list.
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| Array<string> | List of the addresses of the paired Bluetooth devices. |
+
+**Example:**
+
+```
+let devices = bluetooth.getPairedDevices();
+```
+
+
+## bluetooth.setBluetoothScanMode
+
+setBluetoothScanMode(mode: ScanMode, duration: number): boolean
+
+Sets the Bluetooth scan mode so that the device can be discovered by a peer device.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| mode | [ScanMode](#scanmode) | Yes | Bluetooth scan mode. |
+| duration | number | Yes | Duration (in seconds) in which the device can be discovered. The value **0** indicates unlimited time. |
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| boolean | Returns **true** if the operation is successful; returns **false** otherwise. |
+
+**Example:**
+
+```
+// The device can be discovered and connected only when the discoverable and connectable mode is used.
+let result = bluetooth.setBluetoothScanMode(ScanMode.SCAN_MODE_CONNECTABLE_GENERAL_DISCOVERABLE, 100);
+```
+
+
+## bluetooth.getBluetoothScanMode
+
+getBluetoothScanMode(): ScanMode
+
+Obtains the Bluetooth scan mode.
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| [ScanMode](#scanmode) | Bluetooth scan mode obtained. |
+
+**Example:**
+
+```
+let scanMode = bluetooth.getBluetoothScanMode();
+```
+
+
+## bluetooth.startBluetoothDiscovery
+
+startBluetoothDiscovery(): boolean
+
+Starts Bluetooth scan to discover peer devices.
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| boolean | Returns **true** if the operation is successful; returns **false** otherwise. |
+
+**Example:**
+
+```
+let deviceId;
+function onReceiveEvent(data) {
+ deviceId = data;
+}
+bluetooth.on('bluetoothDeviceFind', onReceiveEvent);
+let result = bluetooth.startBluetoothDiscovery();
+```
+
+
+## bluetooth.stopBluetoothDiscovery
+
+stopBluetoothDiscovery(): boolean
+
+Stops Bluetooth scan.
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| boolean | Returns **true** if the operation is successful; returns **false** otherwise. |
+
+**Example:**
+
+```
+let result = bluetooth.stopBluetoothDiscovery();
+```
+
+
+## bluetooth.setDevicePairingConfirmation
+
+setDevicePairingConfirmation(device: string, accept: boolean): boolean
+
+Sets the device pairing confirmation.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| device | string | Yes | Address of the peer device, for example, **8F:8F:8E:8E:6D:6D**. |
+| accept | boolean | Yes | Whether to accept the pairing request. The value **true** means to accept the pairing request, and the value **false** means the opposite. |
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| boolean | Returns **true** if the operation is successful; returns **false** otherwise. |
+
+**Example:**
+
+```
+// Subscribe to the pinRequired event and configure the pairing confirmation after receiving a pairing request from the peer device.
+function onReceivePinRequiredEvent(data) { // data is the input parameter for the pairing request.
+ console.info('pin required = '+ JSON.stringify(data));
+ bluetooth.setDevicePairingConfirmation(data.deviceId, true);
+}
+bluetooth.on("pinRequired", onReceivePinRequiredEvent);
+```
+
+
+## bluetooth.on('bluetoothDeviceFind')
+
+on(type: "bluetoothDeviceFind", callback: Callback<Array<string>>): void
+
+Subscribes to the Bluetooth device discovery events.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| type | string | Yes | Event type. The value **bluetoothDeviceFind** indicates an event reported when a Bluetooth device is discovered. |
+| callback | Callback<Array<string>> | Yes | Callback invoked to return the discovered devices. You need to implement this callback. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+function onReceiveEvent(data) { // data is a set of Bluetooth device addresses.
+ console.info('bluetooth device find = '+ JSON.stringify(data));
+}
+bluetooth.on('bluetoothDeviceFind', onReceiveEvent);
+```
+
+
+## bluetooth.off('bluetoothDeviceFind')
+
+off(type: "bluetoothDeviceFind", callback?: Callback<Array<string>>): void
+
+Unsubscribes from the Bluetooth device discovery events.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| type | string | Yes | Event type. The value **bluetoothDeviceFind** indicates an event reported when a Bluetooth device is discovered. |
+| callback | Callback<Array<string>> | No | Callback used to report the discovered devices. If this parameter is not set, this method unsubscribes from all callbacks corresponding to **type**. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+function onReceiveEvent(data) {
+ console.info('bluetooth device find = '+ JSON.stringify(data));
+}
+bluetooth.on('bluetoothDeviceFind', onReceiveEvent);
+bluetooth.off('bluetoothDeviceFind', onReceiveEvent);
+```
+
+
+## bluetooth.on('pinRequired')
+
+on(type: "pinRequired", callback: Callback<PinRequiredParam>): void
+
+Subscribes to the pairing request events of the peer Bluetooth device.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| type | string | Yes | Event type. The value **pinRequired** indicates a pairing request event. |
+| callback | Callback<[PinRequiredParam](#pinrequiredparam)> | Yes | Callback invoked to return the pairing request. You need to implement this callback. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+function onReceiveEvent(data) { // data is the pairing request parameter.
+ console.info('pin required = '+ JSON.stringify(data));
+}
+bluetooth.on('pinRequired', onReceiveEvent);
+```
+
+
+## bluetooth.off('pinRequired')
+
+off(type: "pinRequired", callback?: Callback<PinRequiredParam>): void
+
+Unsubscribes from the pairing request events of the peer Bluetooth device.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| type | string | Yes | Event type. The value **pinRequired** indicates a pairing request event. |
+| callback | Callback<[PinRequiredParam](#pinrequiredparam)> | No | Callback used to report the Bluetooth pairing request. The input parameter is the pairing request parameter. If this parameter is not set, this method unsubscribes from all callbacks corresponding to **type**. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+function onReceiveEvent(data) {
+ console.info('pin required = '+ JSON.stringify(data));
+}
+bluetooth.on('pinRequired', onReceiveEvent);
+bluetooth.off('pinRequired', onReceiveEvent);
+```
+
+
+## bluetooth.on('bondStateChange')
+
+on(type: "bondStateChange", callback: Callback<BondState>): void
+
+Subscribes to the Bluetooth pairing state change events.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| type | string | Yes | Event type. The value **bondStateChange** indicates a Bluetooth pairing state change event. |
+| callback | Callback<[BondState](#bondstate)> | Yes | Callback invoked to return the pairing state. You need to implement this callback. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+function onReceiveEvent(data) { // data, as the input parameter of the callback, indicates the pairing state.
+ console.info('pair state = '+ JSON.stringify(data));
+}
+bluetooth.on('bondStateChange', onReceiveEvent);
+```
+
+
+## bluetooth.off('bondStateChange')
+
+off(type: "bondStateChange", callback?: Callback<BondState>): void
+
+Unsubscribes from the Bluetooth pairing state change events.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| type | string | Yes | Event type. The value **bondStateChange** indicates a Bluetooth pairing state change event. |
+| callback | Callback<[BondState](#bondstate)> | No | Callback used to report the change of the Bluetooth pairing state. If this parameter is not set, this method unsubscribes from all callbacks corresponding to **type**. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+function onReceiveEvent(data) {
+ console.info('bond state = '+ JSON.stringify(data));
+}
+bluetooth.on('bondStateChange', onReceiveEvent);
+bluetooth.off('bondStateChange', onReceiveEvent);
+```
+
+
+## bluetooth.on('stateChange')
+
+on(type: "stateChange", callback: Callback<BluetoothState>): void
+
+Subscribes to the Bluetooth connection state change events.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| type | string | Yes | Event type. The value **stateChange** indicates a Bluetooth connection state change event. |
+| callback | Callback<[BluetoothState](#bluetoothstate)> | Yes | Callback invoked to return the Bluetooth connection state. You need to implement this callback. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+function onReceiveEvent(data) {
+ console.info('bluetooth state = '+ JSON.stringify(data));
+}
+bluetooth.on('stateChange', onReceiveEvent);
+```
+
+
+## bluetooth.off('stateChange')
+
+off(type: "stateChange", callback?: Callback<BluetoothState>): void
+
+Unsubscribes from the Bluetooth connection state change events.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| type | string | Yes | Event type. The value **stateChange** indicates a Bluetooth connection state change event. |
+| callback | Callback<[BluetoothState](#bluetoothstate)> | No | Callback used to report the Bluetooth connection state. If this parameter is not set, this method unsubscribes from all callbacks corresponding to **type**. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+function onReceiveEvent(data) {
+ console.info('bluetooth state = '+ JSON.stringify(data));
+}
+bluetooth.on('stateChange', onReceiveEvent);
+bluetooth.off('stateChange', onReceiveEvent);
+```
+
+
+## bluetooth.sppListen
+
+sppListen(name: string, option: SppOption, callback: AsyncCallback<number>): void
+
+Creates a server listening socket.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| name | string | Yes | Service name. |
+| option | [SppOption](#sppoption) | Yes | Serial port profile (SPP) listening configuration. |
+| callback | AsyncCallback<number> | Yes | Callback invoked to return the server socket ID. |
+
+**Example:**
+
+```
+let serverNumber = -1;
+function serverSocket(code, number) {
+ console.log('bluetooth error code: ' + code.code);
+ if (code.code == 0) {
+ console.log('bluetooth serverSocket Number: ' + number);
+ serverNumber = number;
+ }
+}
+
+let sppOption = {uuid: '00001810-0000-1000-8000-00805F9B34FB', secure: false, type: 0};
+bluetooth.sppListen('server1', sppOption, serverSocket);
+```
+
+
+## bluetooth.sppAccept
+
+sppAccept(serverSocket: number, callback: AsyncCallback<number>): void
+
+Listens for a connection to be made to this socket from the client and accepts it.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| serverSocket | number | Yes | Server socket ID. |
+| callback | AsyncCallback<number> | Yes | Callback invoked to return the client socket ID. |
+
+**Example:**
+
+```
+let clientNumber = -1;
+function acceptClientSocket(code, number) {
+ console.log('bluetooth error code: ' + code.code);
+ if (code.code == 0) {
+ console.log('bluetooth clientSocket Number: ' + number);
+ // The obtained clientNumber is used as the socket ID for subsequent read/write operations on the server.
+ clientNumber = number;
+ }
+}
+bluetooth.sppAccept(serverNumber, acceptClientSocket);
+```
+
+
+## bluetooth.sppConnect
+
+sppConnect(device: string, option: SppOption, callback: AsyncCallback<number>): void
+
+Initiates an SPP connection to a peer device from the client.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| device | string | Yes | Address of the peer device, for example, **8F:8F:8E:8E:6D:6D**. |
+| option | [SppOption](#sppoption) | Yes | Configuration for connecting to the SPP client. |
+| callback | AsyncCallback<number> | Yes | Callback invoked to return the client socket ID. |
+
+**Example:**
+
+```
+let clientNumber = -1;
+function clientSocket(code, number) {
+ if (code.code != 0) {
+ return;
+ }
+ console.log('bluetooth serverSocket Number: ' + number);
+ // The obtained clientNumber is used as the socket ID for subsequent read/write operations on the client.
+ clientNumber = number;
+}
+let sppOption = {uuid: '00001810-0000-1000-8000-00805F9B34FB', secure: false, type: 0};
+bluetooth.sppConnect('8F:8F:8E:8E:6D:6D', sppOption, clientSocket);
+```
+
+
+## bluetooth.sppCloseServerSocket
+
+sppCloseServerSocket(socket: number): void
+
+Closes the listening socket of the server.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| socket | number | Yes | ID of the listening socket on the server. The ID is obtained by **sppListen**. |
+
+**Example:**
+
+```
+bluetooth.sppCloseServerSocket(serverNumber);
+```
+
+
+## bluetooth.sppCloseClientSocket
+
+sppCloseClientSocket(socket: number): void
+
+Closes the client socket.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| socket | number | Yes | Client socket ID, which is obtained by **sppAccept** or **sppConnect**. |
+
+**Example:**
+
+```
+bluetooth.sppCloseClientSocket(clientNumber);
+```
+
+
+## bluetooth.sppWrite
+
+sppWrite(clientSocket: number, data: ArrayBuffer): boolean
+
+Writes data to the peer device through the socket.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| clientSocket | number | Yes | Client socket ID, which is obtained by **sppAccept** or **sppConnect**. |
+| data | ArrayBuffer | Yes | Data to write. |
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| boolean | Returns **true** if the operation is successful; returns **false** otherwise. |
+
+**Example:**
+
+```
+let arrayBuffer = new ArrayBuffer(8);
+let data = new Uint8Array(arrayBuffer);
+data[0] = 123;
+let ret = bluetooth.sppWrite(clientNumber, arrayBuffer);
+if (ret) {
+ console.log('spp write successfully');
+} else {
+ console.log('spp write failed');
+}
+```
+
+
+## bluetooth.on('sppRead')
+
+on(type: "sppRead", clientSocket: number, callback: Callback<ArrayBuffer>): void
+
+Subscribes to the SPP read request events.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| type | string | Yes | Event type. The value **sppRead** indicates an SPP read request event. |
+| clientSocket | number | Yes | Client socket ID, which is obtained by **sppAccept** or **sppConnect**. |
+| callback | Callback<ArrayBuffer> | Yes | Callback invoked to return the data read. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+function dataRead(dataBuffer) {
+ let data = new Uint8Array(dataBuffer);
+ console.log('bluetooth data is: ' + data[0]);
+}
+bluetooth.on('sppRead', clientNumber, dataRead);
+```
+
+
+## bluetooth.off('sppRead')
+
+off(type: "sppRead", clientSocket: number, callback?: Callback<ArrayBuffer>): void
+
+Unsubscribes from the SPP read request events.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| type | string | Yes | Event type. The value **sppRead** indicates an SPP read request event. |
+| clientSocket | number | Yes | Client socket ID, which is obtained by **sppAccept** or **sppConnect**. |
+| callback | Callback<ArrayBuffer> | No | Callback used to report an SPP read request event. If this parameter is not set, this method unsubscribes from all callbacks corresponding to **type**. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+bluetooth.off('sppRead', clientNumber);
+```
+
+
+## bluetooth.BLE
+
+### bluetooth.BLE.createGattServer
+
+createGattServer(): GattServer
+
+Creates a **GattServer** instance.
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| [GattServer](#gattserver) | **GattServer** instance created. Before using a method of the server, you must create a **GattSever** instance. |
+
+**Example:**
+
+```
+let gattServer = bluetooth.BLE.createGattServer();
+```
+
+
+### bluetooth.BLE.createGattClientDevice
+
+createGattClientDevice(deviceId: string): GattClientDevice
+
+Creates a **GattClientDevice** instance.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| deviceId | string | Yes | Address of the peer device, for example, **8F:8F:8E:8E:6D:6D**. |
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| [GattClientDevice](#gattclientdevice) | **GattClientDevice** instance created. Before using a method of the client, you must create a **GattClientDevice** instance. |
+
+**Example:**
+
+```
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+```
+
+
+### bluetooth.BLE.getConnectedBLEDevices
+
+getConnectedBLEDevices(): Array<string>
+
+Obtains the BLE devices connected to this device.
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| Array<string> | Addresses of the BLE devices connected to this device. |
+
+**Example:**
+
+```
+let result = bluetooth.BLE.getConnectedBLEDevices();
+```
+
+
+### bluetooth.BLE.startBLEScan
+
+startBLEScan(filters: Array<ScanFilter>, options?: ScanOptions): void
+
+Starts a BLE scan.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| filters | Array<[ScanFilter](#scanfilter)> | Yes | Criteria for filtering the scan result. Set this parameter to **null** if you do not want to filter the scan result. |
+| options | [ScanOptions](#scanoptions) | No | Scan options. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+function onReceiveEvent(data) {
+ console.info('BLE scan device find result = '+ JSON.stringify(data));
+}
+bluetooth.BLE.on("BLEDeviceFind", onReceiveEvent);
+bluetooth.BLE.startBLEScan(
+ [{
+ deviceId:"8F:8F:8E:8E:6D:6D",
+ name:"test",
+ serviceUuid:"00001888-0000-1000-8000-00805f9b34fb"
+ }],
+ {
+ interval: 500,
+ dutyMode: bluetooth.ScanDuty.SCAN_MODE_LOW_POWER,
+ matchMode: bluetooth.MatchMode.MATCH_MODE_AGGRESSIVE,
+ }
+);
+```
+
+
+### bluetooth.BLE.stopBLEScan
+
+stopBLEScan(): void
+
+Stops the BLE scan.
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+bluetooth.BLE.stopBLEScan();
+```
+
+
+### bluetooth.BLE.on('BLEDeviceFind')
+
+on(type: "BLEDeviceFind", callback: Callback<Array<ScanResult>>): void
+
+Subscribe to the BLE device discovery events.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| type | string | Yes | Event type. The value **BLEDeviceFind** indicates an event reported when a BLE device is discovered. |
+| callback | Callback<Array<[ScanResult](#scanresult)>> | Yes | Callback invoked to return the discovered devices. You need to implement this callback. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+function onReceiveEvent(data) {
+ console.info('bluetooth device find = '+ JSON.stringify(data));
+}
+bluetooth.BLE.on('BLEDeviceFind', onReceiveEvent);
+```
+
+
+### bluetooth.BLE.off('BLEDeviceFind')
+
+off(type: "BLEDeviceFind", callback?: Callback<Array<ScanResult>>): void
+
+Unsubscribes from the BLE device discovery events.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| type | string | Yes | Event type. The value **BLEDeviceFind** indicates an event reported when a BLE device is discovered. |
+| callback | Callback<Array<[ScanResult](#scanresult)>> | No | Callback used to report the discovered devices. If this parameter is not set, this method unsubscribes from all callbacks corresponding to **type**. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+function onReceiveEvent(data) {
+ console.info('bluetooth device find = '+ JSON.stringify(data));
+}
+bluetooth.BLE.on('BLEDeviceFind', onReceiveEvent);
+bluetooth.BLE.off('BLEDeviceFind', onReceiveEvent);
+```
+
+
+## GattServer
+
+Implements the Generic Attribute Profile (GATT) server. Before using a method of this class, you need to create a **GattServer** instance using the **createGattServer()** method.
+
+
+### startAdvertising
+
+startAdvertising(setting: AdvertiseSetting, advData: AdvertiseData, advResponse?: AdvertiseData): void
+
+Starts BLE advertising.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| setting | [AdvertiseSetting](#advertisesetting) | Yes | Settings related to BLE advertising. |
+| advData | [AdvertiseData](#advertisedata) | Yes | Content of the BLE advertisement packet. |
+| advResponse | [AdvertiseData](#advertisedata) | No | Response to the BLE scan request. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+let manufactureValueBuffer = new Uint8Array(4);
+manufactureValueBuffer[0] = 1;
+manufactureValueBuffer[1] = 2;
+manufactureValueBuffer[2] = 3;
+manufactureValueBuffer[3] = 4;
+
+let serviceValueBuffer = new Uint8Array(4);
+serviceValueBuffer[0] = 4;
+serviceValueBuffer[1] = 6;
+serviceValueBuffer[2] = 7;
+serviceValueBuffer[3] = 8;
+console.info('manufactureValueBuffer = '+ JSON.stringify(manufactureValueBuffer));
+console.info('serviceValueBuffer = '+ JSON.stringify(serviceValueBuffer));
+let gattServer = bluetooth.BLE.createGattServer();
+gattServer.startAdvertising({
+ interval:150,
+ txPower:60,
+ connectable:true,
+ },{
+ serviceUuids:["00001888-0000-1000-8000-00805f9b34fb"],
+ manufactureData:[{
+ manufactureId:4567,
+ manufactureValue:manufactureValueBuffer.buffer
+ }],
+ serviceData:[{
+ serviceUuid:"00001888-0000-1000-8000-00805f9b34fb",
+ serviceValue:serviceValueBuffer.buffer
+ }],
+ },{
+ serviceUuids:["00001889-0000-1000-8000-00805f9b34fb"],
+ manufactureData:[{
+ manufactureId:1789,
+ manufactureValue:manufactureValueBuffer.buffer
+ }],
+ serviceData:[{
+ serviceUuid:"00001889-0000-1000-8000-00805f9b34fb",
+ serviceValue:serviceValueBuffer.buffer
+ }],
+});
+```
+
+
+### stopAdvertising
+
+stopAdvertising(): void
+
+Stops BLE advertising.
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+let server = bluetooth.BLE.createGattServer();
+server.stopAdvertising();
+```
+
+
+### addService
+
+addService(service: GattService): boolean
+
+Adds a service to this GATT server.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| service | [GattService](#gattservice) | Yes | Service to add. |
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| boolean | Returns **true** if the operation is successful; returns **false** otherwise. |
+
+**Example:**
+
+```
+// Create descriptors.
+let descriptors = [];
+let arrayBuffer = new ArrayBuffer(8);
+let descV = new Uint8Array(arrayBuffer);
+descV[0] = 11;
+let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
+ characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
+ descriptorUuid: '00001830-0000-1000-8000-00805F9B34FB', descriptorValue: arrayBuffer};
+descriptors[0] = descriptor;
+
+// Create characteristics.
+let characteristics = [];
+let arrayBufferC = new ArrayBuffer(8);
+let cccV = new Uint8Array(arrayBufferC);
+cccV[0] = 1;
+let characteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
+ characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB', characteristicValue: arrayBufferC, descriptors:descriptors};
+let characteristicN = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
+ characteristicUuid: '00001821-0000-1000-8000-00805F9B34FB', characteristicValue: arrayBufferC, descriptors:descriptorsN};
+characteristics[0] = characteristic;
+
+// Create a gattService instance.
+let gattService = {serviceUuid:'00001810-0000-1000-8000-00805F9B34FB', isPrimary: true, characteristics:characteristics, includeServices:[]};
+
+let gattServer = bluetooth.BLE.createGattServer();
+let ret = gattServer.addService(gattService);
+if (ret) {
+ console.log("add service successfully");
+} else {
+ console.log("add service failed");
+}
+```
+
+
+### removeService
+
+removeService(serviceUuid: string): boolean
+
+Removes a service from this GATT server.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| serviceUuid | string | Yes | Universally unique identifier (UUID) of the service to remove, for example, **00001810-0000-1000-8000-00805F9B34FB**. |
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| boolean | Returns **true** if the operation is successful; returns **false** otherwise. |
+
+**Example:**
+
+```
+let server = bluetooth.BLE.createGattServer();
+server.removeService('00001810-0000-1000-8000-00805F9B34FB');
+```
+
+
+### close
+
+close(): void
+
+
+Closes this GATT server to unregister it from the protocol stack. After this method is called, this [GattServer](#gattserver) instance cannot be used.
+
+**Example:**
+
+```
+let server = bluetooth.BLE.createGattServer();
+server.close();
+```
+
+
+### notifyCharacteristicChanged
+
+notifyCharacteristicChanged(deviceId: string, notifyCharacteristic: NotifyCharacteristic): boolean
+
+Notifies the connected client device when a characteristic value changes.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| deviceId | string | Yes | Address of the client device to notify, for example, **8F:8F:8E:8E:6D:6D**. |
+| notifyCharacteristic | [NotifyCharacteristic](#notifycharacteristic) | Yes | New characteristic value. |
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| boolean | Returns **true** if the operation is successful; returns **false** otherwise. |
+
+**Example:**
+
+```
+let notifyCharacteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
+ characteristicUuid: '00001821-0000-1000-8000-00805F9B34FB', characteristicValue: notifyCcc.characteristicValue, confirm: false};
+let server = bluetooth.BLE.createGattServer();
+server.notifyCharacteristicChanged('8F:8F:8E:8E:6D:6D', notifyCharacteristic);
+```
+
+
+### sendResponse
+
+sendResponse(serverResponse: ServerResponse): boolean
+
+Sends a response to a read or write request from the GATT client.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| serverResponse | [ServerResponse](#serverresponse) | Yes | Response returned by the GATT server. |
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| boolean | Returns **true** if the operation is successful; returns **false** otherwise. |
+
+**Example:**
+
+```
+/* Send a response. */
+let arrayBufferCCC = new ArrayBuffer(8);
+let cccValue = new Uint8Array(arrayBufferCCC);
+cccValue[0] = 1123;
+let serverResponse = {
+ "deviceId": "8F:8F:8E:8E:6D:6D",
+ "transId": 0,
+ "status": 0,
+ "offset": 0,
+ "value": arrayBufferCCC,
+};
+
+let gattServer = bluetooth.BLE.createGattServer();
+let ret = gattServer.sendResponse(serverResponse);
+if (ret) {
+ console.log('bluetooth sendResponse successfully');
+} else {
+ console.log('bluetooth sendResponse failed');
+}
+```
+
+
+### on('characteristicRead')
+
+on(type: "characteristicRead", callback: Callback<CharacteristicReadReq>): void
+
+Subscribes to the characteristic read request events.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| type | string | Yes | Event type. The value **characteristicRead** indicates a characteristic read request event. |
+| callback | Callback<[CharacteristicReadReq](#characteristicreadreq)> | Yes | Callback invoked to return a characteristic read request from the GATT client. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+let arrayBufferCCC = new ArrayBuffer(8);
+let cccValue = new Uint8Array(arrayBufferCCC);
+cccValue[0] = 1123;
+function ReadCharacteristicReq(CharacteristicReadReq) {
+ let deviceId = CharacteristicReadReq.deviceId;
+ let transId = CharacteristicReadReq.transId;
+ let offset = CharacteristicReadReq.offset;
+ let characteristicUuid = CharacteristicReadReq.characteristicUuid;
+
+ let serverResponse = {deviceId: deviceId, transId: transId, status: 0, offset: offset, value:arrayBufferCCC};
+
+ let ret = gattServer.sendResponse(serverResponse);
+ if (ret) {
+ console.log('bluetooth sendResponse successfully');
+ } else {
+ console.log('bluetooth sendResponse failed');
+ }
+}
+
+let gattServer = bluetooth.BLE.createGattServer();
+gattServer.on("characteristicRead", ReadCharacteristicReq);
+```
+
+
+### off('characteristicRead')
+
+off(type: "characteristicRead", callback?: Callback<CharacteristicReadReq>): void
+
+Unsubscribes from the characteristic read request events.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| type | string | Yes | Event type. The value **characteristicRead** indicates a characteristic read request event. |
+| callback | Callback<[CharacteristicReadReq](#characteristicreadreq)> | No | Callback used to report a characteristic read request event. If this parameter is not set, this method unsubscribes from all callbacks corresponding to **type**. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+let gattServer = bluetooth.BLE.createGattServer();
+gattServer.off("characteristicRead");
+```
+
+
+### on('characteristicWrite')
+
+on(type: "characteristicWrite", callback: Callback<CharacteristicWriteReq>): void
+
+Subscribes to the characteristic write request events.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| type | string | Yes | Event type. The value **characteristicWrite** indicates a characteristic write request event. |
+| callback | Callback<[DescriptorWriteReq](#descriptorwritereq)> | Yes | Callback invoked to return a characteristic write request from the GATT client. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+let arrayBufferCCC = new ArrayBuffer(8);
+let cccValue = new Uint8Array(arrayBufferCCC);
+function WriteCharacteristicReq(CharacteristicWriteReq) {
+ let deviceId = CharacteristicWriteReq.deviceId;
+ let transId = CharacteristicWriteReq.transId;
+ let offset = CharacteristicWriteReq.offset;
+ let isPrep = CharacteristicWriteReq.isPrep;
+ let needRsp = CharacteristicWriteReq.needRsp;
+ let value = new Uint8Array(CharacteristicWriteReq.value);
+ let characteristicUuid = CharacteristicWriteReq.characteristicUuid;
+
+ cccValue[0] = value[0];
+ let serverResponse = {deviceId: deviceId, transId: transId, status: 0, offset: offset, value:arrayBufferCCC};
+
+ let ret = gattServer.sendResponse(serverResponse);
+ if (ret) {
+ console.log('bluetooth sendResponse successfully');
+ } else {
+ console.log('bluetooth sendResponse failed');
+ }
+}
+
+let gattServer = bluetooth.BLE.createGattServer();
+gattServer.on("characteristicWrite", WriteCharacteristicReq);
+```
+
+
+### off('characteristicWrite')
+
+off(type: "characteristicWrite", callback?: Callback<CharacteristicWriteReq>): void
+
+Unsubscribes from the characteristic write request events.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| type | string | Yes | Event type. The value **characteristicWrite** indicates a characteristic write request event. |
+| callback | Callback<[CharacteristicWriteReq](#characteristicwritereq)> | No | Callback used to report a characteristic write request event. If this parameter is not set, this method unsubscribes from all callbacks corresponding to **type**. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+let gattServer = bluetooth.BLE.createGattServer();
+gattServer.off("characteristicWrite");
+```
+
+
+### on('descriptorRead')
+
+on(type: "descriptorRead", callback: Callback<DescriptorReadReq>): void
+
+Subscribes to the descriptor read request events.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| type | string | Yes | Event type. The value **descriptorRead** indicates a descriptor read request event. |
+| callback | Callback<[DescriptorReadReq](#descriptorreadreq)> | Yes | Callback invoked to return a descriptor read request from the GATT client. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+let arrayBufferDesc = new ArrayBuffer(8);
+let descValue = new Uint8Array(arrayBufferDesc);
+descValue[0] = 1101;
+function ReadDescriptorReq(DescriptorReadReq) {
+ let deviceId = DescriptorReadReq.deviceId;
+ let transId = DescriptorReadReq.transId;
+ let offset = DescriptorReadReq.offset;
+ let descriptorUuid = DescriptorReadReq.descriptorUuid;
+
+ let serverResponse = {deviceId: deviceId, transId: transId, status: 0, offset: offset, value:arrayBufferDesc};
+
+ let ret = gattServer.sendResponse(serverResponse);
+ if (ret) {
+ console.log('bluetooth sendResponse successfully');
+ } else {
+ console.log('bluetooth sendResponse failed');
+ }
+}
+
+let gattServer = bluetooth.BLE.createGattServer();
+gattServer.on("descriptorRead", ReadDescriptorReq);
+```
+
+
+### off('descriptorRead')
+
+off(type: "descriptorRead", callback?: Callback<DescriptorReadReq>): void
+
+Unsubscribes from the descriptor read request events.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| type | string | Yes | Event type. The value **descriptorRead** indicates a descriptor read request event. |
+| callback | Callback<[DescriptorReadReq](#descriptorreadreq)> | No | Callback used to report a descriptor read request event. If this parameter is not set, this method unsubscribes from all callbacks corresponding to **type**. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+let gattServer = bluetooth.BLE.createGattServer();
+gattServer.off("descriptorRead");
+```
+
+
+### on('descriptorWrite')
+
+on(type: "descriptorWrite", callback: Callback<DescriptorWriteReq>): void
+
+Subscribes to the descriptor write request events.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| type | string | Yes | Event type. The value **descriptorWrite** indicates a descriptor write request event. |
+| callback | Callback<[DescriptorWriteReq](#descriptorwritereq)> | Yes | Callback invoked to return a descriptor write request from the GATT client. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+let arrayBufferDesc = new ArrayBuffer(8);
+let descValue = new Uint8Array(arrayBufferDesc);
+function WriteDescriptorReq(DescriptorWriteReq) {
+ let deviceId = DescriptorWriteReq.deviceId;
+ let transId = DescriptorWriteReq.transId;
+ let offset = DescriptorWriteReq.offset;
+ let isPrep = DescriptorWriteReq.isPrep;
+ let needRsp = DescriptorWriteReq.needRsp;
+ let value = new Uint8Array(DescriptorWriteReq.value);
+ let descriptorUuid = DescriptorWriteReq.descriptorUuid;
+
+ descValue[0] = value[0];
+ let serverResponse = {deviceId: deviceId, transId: transId, status: 0, offset: offset, value:arrayBufferDesc};
+
+ let ret = gattServer.sendResponse(serverResponse);
+ if (ret) {
+ console.log('bluetooth sendResponse successfully');
+ } else {
+ console.log('bluetooth sendResponse failed');
+ }
+}
+
+let gattServer = bluetooth.BLE.createGattServer();
+gattServer.on("descriptorRead", WriteDescriptorReq);
+```
+
+
+### off('descriptorWrite')
+
+off(type: "descriptorWrite", callback?: Callback<DescriptorWriteReq>): void
+
+Unsubscribes from the descriptor write request events.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| type | string | Yes | Event type. The value **descriptorWrite** indicates a descriptor write request event. |
+| callback | Callback<[DescriptorWriteReq](#descriptorwritereq)> | No | Callback used to report a descriptor read request event. If this parameter is not set, this method unsubscribes from all callbacks corresponding to **type**. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+let gattServer = bluetooth.BLE.createGattServer();
+gattServer.off("descriptorWrite");
+```
+
+
+### on('connectStateChange')
+
+on(type: "connectStateChange", callback: Callback<BLEConnectChangedState>): void
+
+Subscribes to the BLE connection state change events.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| type | string | Yes | Event type. The value **connectStateChange** indicates a BLE connection state change event. |
+| callback | Callback<[BLEConnectChangedState](#bleconnectchangedstate)> | Yes | Callback invoked to return the BLE connection state. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+function Connected(BLEConnectChangedState) {
+ let deviceId = BLEConnectChangedState.deviceId;
+ let status = BLEConnectChangedState.state;
+}
+
+let gattServer = bluetooth.BLE.createGattServer();
+gattServer.on("connectStateChange", Connected);
+```
+
+
+### off('connectStateChange')
+
+off(type: "connectStateChange", callback?: Callback<BLEConnectChangedState>): void
+
+Unsubscribes from the BLE connection state change events.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| type | string | Yes | Event type. The value **connectStateChange** indicates a BLE connection state change event. |
+| callback | Callback<[BLEConnectChangedState](#bleconnectchangedstate)> | No | Callback used to report the BLE connection state. If this parameter is not set, this method unsubscribes from all callbacks corresponding to **type**. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+let gattServer = bluetooth.BLE.createGattServer();
+gattServer.off("connectStateChange");
+```
+
+
+## GattClientDevice
+
+Implements the GATT client. Before using a method of this class, you must create a **GattClientDevice** instance using the **createGattClientDevice(deviceId: string)** method.
+
+
+### connect
+
+connect(): boolean
+
+Initiates a connection to the peer BLE device.
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| boolean | Returns **true** if the connection is successful; returns **false** otherwise. |
+
+**Example:**
+
+```
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+let ret = device.connect();
+```
+
+
+### disconnect
+
+disconnect(): boolean
+
+Disconnects from the peer BLE device.
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| boolean | Returns **true** if the connection is successful; returns **false** otherwise. |
+
+**Example:**
+
+```
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+let ret = device.disconnect();
+```
+
+
+### close
+
+close(): boolean
+
+Closes this GATT client to unregister it from the protocol stack. After this method is called, this [GattClientDevice](#gattclientdevice) instance cannot be used.
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| boolean | Returns **true** if the operation is successful; returns **false** otherwise. |
+
+**Example:**
+
+```
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+let ret = device.close();
+```
+
+
+
+
+### getServices
+
+getServices(callback: AsyncCallback<Array<GattService>>): void
+
+Obtains all services of the peer BLE device. This method uses an asynchronous callback to return the result.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| callback | AsyncCallback<Array<[GattService](#gattservice)>> | Yes | Callback invoked to return the services obtained. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+// Callback
+function getServices(code, gattServices) {
+ if (code.code == 0) {
+ let services = gattServices;
+ console.log('bluetooth code is ' + code.code);
+ console.log("bluetooth services size is ", services.length);
+
+ for (let i = 0; i < services.length; i++) {
+ console.log('bluetooth serviceUuid is ' + services[i].serviceUuid);
+ }
+ }
+}
+
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+device.connect();
+device.getServices(getServices);
+```
+
+
+### getServices
+
+getServices(): Promise<Array<GattService>>
+
+Obtains all services of the peer BLE device. This method uses a promise to return the result.
+
+**Parameters:**
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| Promise<Array<[GattService](#gattservice)>> | Promise used to return the services obtained. |
+
+**Example:**
+
+```
+// Promise
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+device.connect();
+let services = device.getServices();
+console.log("bluetooth services size is ", services.length);
+
+for (let i = 0; i < services.length; i++) {
+ console.log('bluetooth serviceUuid is ' + services[i].serviceUuid);
+}
+```
+
+
+### readCharacteristicValue
+
+readCharacteristicValue(characteristic: BLECharacteristic, callback: AsyncCallback<BLECharacteristic>): void
+
+Reads the characteristic value of the specific service of the peer BLE device. This method uses an asynchronous callback to return the result.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| characteristic | [BLECharacteristic](#blecharacteristic) | Yes | Characteristic value to read. |
+| callback | AsyncCallback<[BLECharacteristic](#blecharacteristic)> | Yes | Callback invoked to return the characteristic value read. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+function readCcc(code, BLECharacteristic) {
+ if (code.code != 0) {
+ return;
+ }
+ console.log('bluetooth characteristic uuid: ' + BLECharacteristic.characteristicUuid);
+ let value = new Uint8Array(BLECharacteristic.characteristicValue);
+ console.log('bluetooth characteristic value: ' + value[0] +','+ value[1]+','+ value[2]+','+ value[3]);
+}
+
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+let descriptors = [];
+let bufferDesc = new ArrayBuffer(8);
+let descV = new Uint8Array(bufferDesc);
+descV[0] = 11;
+let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
+characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
+descriptorUuid: '00002903-0000-1000-8000-00805F9B34FB', descriptorValue: bufferDesc};
+descriptors[0] = descriptor;
+
+let bufferCCC = new ArrayBuffer(8);
+let cccV = new Uint8Array(bufferCCC);
+cccV[0] = 1;
+let characteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
+characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
+characteristicValue: bufferCCC, descriptors:descriptors};
+
+device.readCharacteristicValue(characteristic, readCcc);
+```
+
+
+### readCharacteristicValue
+
+readCharacteristicValue(characteristic: BLECharacteristic): Promise<BLECharacteristic>
+
+Reads the characteristic value of the specific service of the peer BLE device. This method uses a promise to return the result.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| characteristic | [BLECharacteristic](#blecharacteristic) | Yes | Characteristic value to read. |
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| Promise<[BLECharacteristic](#blecharacteristic)> | Promise used to return the characteristic value read. |
+
+**Example:**
+
+```
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+let descriptors = [];
+let bufferDesc = new ArrayBuffer(8);
+let descV = new Uint8Array(bufferDesc);
+descV[0] = 11;
+let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
+characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
+descriptorUuid: '00002903-0000-1000-8000-00805F9B34FB', descriptorValue: bufferDesc};
+descriptors[0] = descriptor;
+
+let bufferCCC = new ArrayBuffer(8);
+let cccV = new Uint8Array(bufferCCC);
+cccV[0] = 1;
+let characteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
+characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
+characteristicValue: bufferCCC, descriptors:descriptors};
+
+device.readCharacteristicValue(characteristic);
+```
+
+
+### readDescriptorValue
+
+readDescriptorValue(descriptor: BLEDescriptor, callback: AsyncCallback<BLEDescriptor>): void
+
+Reads the descriptor contained in the specific characteristic of the peer BLE device. This method uses an asynchronous callback to return the result.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| descriptor | [BLEDescriptor](#bledescriptor) | Yes | Descriptor to read. |
+| callback | AsyncCallback<[BLECharacteristic](#blecharacteristic)> | Yes | Callback invoked to return the descriptor read. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+function readDesc(code, BLEDescriptor) {
+ if (code.code != 0) {
+ return;
+ }
+ console.log('bluetooth descriptor uuid: ' + BLEDescriptor.descriptorUuid);
+ let value = new Uint8Array(BLEDescriptor.descriptorValue);
+ console.log('bluetooth descriptor value: ' + value[0] +','+ value[1]+','+ value[2]+','+ value[3]);
+}
+
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+let bufferDesc = new ArrayBuffer(8);
+let descV = new Uint8Array(bufferDesc);
+descV[0] = 11;
+let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
+ characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
+ descriptorUuid: '00002903-0000-1000-8000-00805F9B34FB', descriptorValue: bufferDesc};
+device.readDescriptorValue(descriptor, readDesc);
+```
+
+
+### readDescriptorValue
+
+readDescriptorValue(descriptor: BLEDescriptor): Promise<BLEDescriptor>
+
+Reads the descriptor contained in the specific characteristic of the peer BLE device. This method uses a promise to return the result.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| descriptor | [BLEDescriptor](#bledescriptor) | Yes | Descriptor to read. |
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| Promise<[BLEDescriptor](#bledescriptor)> | Promise used to return the descriptor read. |
+
+**Example:**
+
+```
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+let bufferDesc = new ArrayBuffer(8);
+let descV = new Uint8Array(bufferDesc);
+descV[0] = 11;
+let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
+ characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
+ descriptorUuid: '00002903-0000-1000-8000-00805F9B34FB', descriptorValue: bufferDesc};
+device.readDescriptorValue(descriptor);
+```
+
+
+### writeCharacteristicValue
+
+writeCharacteristicValue(characteristic: BLECharacteristic): boolean
+
+Writes a characteristic value to the peer BLE device.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| characteristic | [BLECharacteristic](#blecharacteristic) | Yes | Binary value and other parameters of the BLE device characteristic. |
+
+**Return values:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- |
+| Name | Type | Mandatory | Description |
+| boolean | Returns **true** if the operation is successful; returns **false** otherwise. |
+
+**Example:**
+
+```
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+let descriptors = [];
+let bufferDesc = new ArrayBuffer(8);
+let descV = new Uint8Array(bufferDesc);
+descV[0] = 11;
+let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
+ characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
+ descriptorUuid: '00002903-0000-1000-8000-00805F9B34FB', descriptorValue: bufferDesc};
+descriptors[0] = descriptor;
+
+let bufferCCC = new ArrayBuffer(8);
+let cccV = new Uint8Array(bufferCCC);
+cccV[0] = 1;
+let characteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
+ characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
+ characteristicValue: bufferCCC, descriptors:descriptors};
+let retWriteCcc = device.writeCharacteristicValue(characteristic);
+if (retWriteCcc) {
+ console.log('write characteristic successfully');
+} else {
+ console.log('write characteristic failed');
+}
+```
+
+
+### writeDescriptorValue
+
+writeDescriptorValue(descriptor: BLEDescriptor): boolean
+
+Writes binary data to the specific descriptor of the peer BLE device.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| descriptor | [BLEDescriptor](#bledescriptor) | Yes | Binary value and other parameters of the BLE device descriptor. |
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| boolean | Returns **true** if the operation is successful; returns **false** otherwise. |
+
+**Example:**
+
+```
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+let bufferDesc = new ArrayBuffer(8);
+let descV = new Uint8Array(bufferDesc);
+descV[0] = 22;
+let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
+ characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
+ descriptorUuid: '00002903-0000-1000-8000-00805F9B34FB', descriptorValue: bufferDesc};
+let retWriteDesc = device.writeDescriptorValue(descriptor);
+if (retWriteDesc) {
+ console.log('bluetooth write descriptor successfully');
+} else {
+ console.log('bluetooth write descriptor failed');
+}
+```
+
+
+### setBLEMtuSize
+
+setBLEMtuSize(mtu: number): boolean
+
+Sets the maximum transmission unit (MTU) that can be transmitted between the GATT client and its peer BLE device. This method can be used only after a connection is set up by calling **connect**.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| mtu | number | Yes | MTU to set, which ranges from 22 to 512 bytes. |
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| boolean | Returns **true** if the operation is successful; returns **false** otherwise. |
+
+**Example:**
+
+```
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+device.setBLEMtuSize(128);
+```
+
+
+### setNotifyCharacteristicChanged
+
+setNotifyCharacteristicChanged(characteristic: BLECharacteristic, enable: boolean): boolean
+
+Sets the function of notifying the GATT client when the characteristic value of the peer BLE device changes.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| characteristic | [BLECharacteristic](#blecharacteristic) | Yes | BLE characteristic to listen for. |
+| enable | boolean | Yes | Whether to enable the notify function. The value **true** means to enable the notify function, and the value **false** means the opposite. |
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| boolean | Returns **true** if the operation is successful; returns **false** otherwise. |
+
+**Example:**
+
+```
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+device.setNotifyCharacteristicChanged(notifyCcc, false);
+```
+
+
+### on('BLECharacteristicChange')
+
+on(type: "BLECharacteristicChange", callback: Callback<BLECharacteristic>): void
+
+Subscribes to the BLE characteristic change events. The client can receive a notification from the server only after the **setNotifyCharacteristicChanged** method is called.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| type | string | Yes | Event type. The value **BLECharacteristicChange** indicates a characteristic value change event. |
+| callback | Callback<[BLECharacteristic](#blecharacteristic)> | Yes | Callback invoked to return the characteristic value changes. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+function CharacteristicChange(CharacteristicChangeReq) {
+ let serviceUuid = CharacteristicChangeReq.serviceUuid;
+ let characteristicUuid = CharacteristicChangeReq.characteristicUuid;
+ let value = new Uint8Array(CharacteristicChangeReq.characteristicValue);
+}
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+device.on('BLECharacteristicChange', CharacteristicChange);
+```
+
+
+### off('BLECharacteristicChange')
+
+off(type: "BLECharacteristicChange", callback?: Callback<BLECharacteristic>): void
+
+Unsubscribes from the BLE characteristic change events.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| type | string | Yes | Event type. The value **BLECharacteristicChange** indicates a characteristic value change event. |
+| callback | Callback<[BLECharacteristic](#blecharacteristic)> | No | Callback used to report the characteristic value. If this parameter is not set, this method unsubscribes from all callbacks corresponding to **type**. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+device.off('BLECharacteristicChange');
+```
+
+
+### on('BLEConnectionStateChange')
+
+on(type: "BLEConnectionStateChange", callback: Callback<BLEConnectChangedState>): void
+
+Subscribes to the BLE connection state change events.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| type | string | Yes | Event type. The value **BLEConnectionStateChange** indicates a BLE connection state change event. |
+| callback | Callback<[BLEConnectChangedState](#bleconnectchangedstate)> | Yes | Callback invoked to return the BLE connection state. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+function ConnectStateChanged(state) {
+ console.log('bluetooth connect state changed');
+ let connectState = state.state;
+}
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+device.on('BLEConnectionStateChange', ConnectStateChanged);
+```
+
+
+### off('BLEConnectionStateChange')
+
+off(type: "BLEConnectionStateChange", callback?: Callback<BLEConnectChangedState>): void
+
+Unsubscribes from the BLE connection state change events.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| type | string | Yes | Event type. The value **BLEConnectionStateChange** indicates a BLE connection state change event. |
+| callback | Callback<[BLEConnectChangedState](#bleconnectchangedstate)> | No | Callback used to report the BLE connection state. If this parameter is not set, this method unsubscribes from all callbacks corresponding to **type**. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+device.off('BLEConnectionStateChange');
+```
+
+
+### getDeviceName
+
+getDeviceName(callback: AsyncCallback<string>): void
+
+Obtains the name of the peer BLE device. This method uses an asynchronous callback to return the result.
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| callback | AsyncCallback<string> | Yes | Callback invoked to return the peer BLE device name. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+// Callback
+let gattClient = bluetooth.BLE.createGattClientDevice("8F:8F:8E:8E:6D:6D");
+let deviceName = gattClient.getDeviceName((err, data)=> {
+ console.info('device name err ' + JSON.stringify(err));
+ console.info('device name' + JSON.stringify(data));
+})
+```
+
+
+### getDeviceName
+
+getDeviceName(): Promise<string>
+
+Obtains the name of the peer BLE device. This method uses a promise to return the result.
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| Promise<string> | Promise used to return the peer BLE device name. |
+
+**Example:**
+
+```
+// Promise
+let gattClient = bluetooth.BLE.createGattClientDevice("8F:8F:8E:8E:6D:6D");
+let ret = device.connect();
+let deviceName = gattClient.getDeviceName().then((data) => {
+ console.info('device name' + JSON.stringify(data));
+})
+```
+
+
+### getRssiValue
+
+getRssiValue(callback: AsyncCallback<number>): void
+
+Obtains the received signal strength indication (RSSI) of the peer BLE device. This method uses an asynchronous callback to return the result. It can be used only after a connection is set up by calling [connect](#connect-boolean).
+
+**Parameters:**
+
+| Name | Type | Mandatory | Description |
+| -------- | -------- | -------- | -------- |
+| callback | AsyncCallback<number> | Yes | Callback invoked to return the RSSI, in dBm. |
+
+**Return values:**
+
+None.
+
+**Example:**
+
+```
+// Callback
+let gattClient = bluetooth.BLE.createGattClientDevice("8F:8F:8E:8E:6D:6D");
+let ret = device.connect();
+let rssi = gattClient.getRssiValue((err, data)=> {
+ console.info('rssi err ' + JSON.stringify(err));
+ console.info('rssi value' + JSON.stringify(data));
+})
+```
+
+
+### getRssiValue
+
+getRssiValue(): Promise<number>
+
+Obtains the RSSI of the peer BLE device. This method uses a promise to return the result. It can be used only after a connection is set up by calling [connect](#connect-boolean).
+
+**Return values:**
+
+| Type | Description |
+| -------- | -------- |
+| Promise<number> | Promise used to return the RSSI, in dBm. |
+
+**Example:**
+
+```
+// Promise
+let gattClient = bluetooth.BLE.createGattClientDevice("8F:8F:8E:8E:6D:6D");
+let rssi = gattClient.getRssiValue().then((data) => {
+ console.info('rssi' + JSON.stringify(data));
+})
+```
+
+
+## ScanMode
+
+Enumerates the scan modes.
+
+| Mode | Default Value | Description |
+| -------- | -------- | -------- |
+| SCAN_MODE_NONE | 0 | No scan mode is specified. |
+| SCAN_MODE_CONNECTABLE | 1 | Discoverable mode. |
+| SCAN_MODE_GENERAL_DISCOVERABLE | 2 | General discoverable mode. |
+| SCAN_MODE_LIMITED_DISCOVERABLE | 3 | Limited discoverable mode. |
+| SCAN_MODE_CONNECTABLE_GENERAL_DISCOVERABLE | 4 | General connectable and discoverable mode. |
+| SCAN_MODE_CONNECTABLE_LIMITED_DISCOVERABLE | 5 | Limited connectable and discoverable mode. |
+
+
+## BondState
+
+Enumerates the pairing states.
+
+| State | Default Value | Description |
+| -------- | -------- | -------- |
+| BOND_STATE_INVALID | 0 | Invalid pairing. |
+| BOND_STATE_BONDING | 1 | Pairing. |
+| BOND_STATE_BONDED | 2 | Paired. |
+
+
+## SppOption
+
+Defines the SPP configuration parameters.
+
+| Name | Type | Readable | Writable | Description |
+| -------- | -------- | -------- | -------- | -------- |
+| uuid | string | Yes | Yes | UUID of the SPP. |
+| isPrimary | boolean | Yes | Yes | Whether it is a secure channel. |
+| type | [ERROR:Invalid link:en-us_topic_0000001193344974.xml#xref2575mcpsimp,link:#SppType](#SppType) | Yes | Yes | Type of the SPP link. |
+
+
+## SppType
+
+Enumerates the SPP link types.
+
+| Type | Default Value | Description |
+| -------- | -------- | -------- |
+| SPP_RFCOMM | 0 | Radio frequency communication (RFCOMM) link type. |
+
+
+## GattService
+
+Defines the GATT service API parameters.
+
+| Name | Type | Readable | Writable | Description |
+| -------- | -------- | -------- | -------- | -------- |
+| serviceUuid | string | Yes | Yes | UUID of the service, for example, **00001888-0000-1000-8000-00805f9b34fb**. |
+| isPrimary | boolean | Yes | Yes | Whether the service is a primary service. The value **true** means a primary service. |
+| characteristics | Array<[ERROR:Invalid link:en-us_topic_0000001193344974.xml#xref2628mcpsimp,link:#BLECharacteristic](#BLECharacteristic)> | Yes | Yes | List of characteristics of the service. |
+| includeServices | Array<[ERROR:Invalid link:en-us_topic_0000001193344974.xml#xref2635mcpsimp,link:#GattService](#GattService)> | Yes | Yes | Services on which the service depends. |
+
+
+## BLECharacteristic
+
+Defines the characteristic API parameters.
+
+| Name | Type | Readable | Writable | Description |
+| -------- | -------- | -------- | -------- | -------- |
+| serviceUuid | string | Yes | Yes | UUID of the service, for example, **00001888-0000-1000-8000-00805f9b34fb**. |
+| characteristicUuid | string | Yes | Yes | UUID of the characteristic, for example, **00002a11-0000-1000-8000-00805f9b34fb**. |
+| characteristicValue | ArrayBuffer | Yes | Yes | Binary value of the characteristic. |
+| descriptors | Array<[ERROR:Invalid link:en-us_topic_0000001193344974.xml#xref2677mcpsimp,link:#BLEDescriptor](#BLEDescriptor)> | Yes | Yes | List of descriptors of the characteristic. |
+
+
+## BLEDescriptor
+
+Defines the descriptor API parameters.
+
+| Name | Type | Readable | Writable | Description |
+| -------- | -------- | -------- | -------- | -------- |
+| serviceUuid | string | Yes | Yes | UUID of the service, for example, **00001888-0000-1000-8000-00805f9b34fb**. |
+| characteristicUuid | string | Yes | Yes | UUID of the characteristic, for example, **00002a11-0000-1000-8000-00805f9b34fb**. |
+| descriptorUuid | string | Yes | Yes | UUID of the descriptor, for example, **00002902-0000-1000-8000-00805f9b34fb**. |
+| descriptorValue | ArrayBuffer | Yes | Yes | Binary value of the descriptor. |
+
+
+## NotifyCharacteristic
+
+Defines the parameters in the notifications sent when the server characteristic value changes.
+
+| Name | Type | Readable | Writable | Description |
+| -------- | -------- | -------- | -------- | -------- |
+| serviceUuid | string | Yes | Yes | UUID of the service, for example, **00001888-0000-1000-8000-00805f9b34fb**. |
+| characteristicUuid | string | Yes | Yes | UUID of the characteristic, for example, **00002a11-0000-1000-8000-00805f9b34fb**. |
+| characteristicValue | ArrayBuffer | Yes | Yes | Binary value of the characteristic. |
+| confirm | boolean | Yes | Yes | Whether the notification needs to be confirmed by the peer end. For a notification, set it to **true**. In this case, the peer end must confirm the receipt of the notification. For an indication, set it to **false**. In this case, the peer end does not need to confirm the receipt of the notification. |
+
+
+## CharacteristicReadReq
+
+Defines the parameters of the **CharacteristicReadReq** event received by the server.
+
+| Name | Type | Readable | Writable | Description |
+| -------- | -------- | -------- | -------- | -------- |
+| deviceId | string | Yes | No | Address of the client that sends the request, for example, **8F:8F:8E:8E:6D:6D**. |
+| transId | number | Yes | No | Transmission ID of the read request. The response returned by the server must use the same transmission ID. |
+| offset | number | Yes | No | Position from which the characteristic value is read. For example, **k** means to read from the _k_th byte. The response returned by the server must use the same offset. |
+| characteristicUuid | string | Yes | No | UUID of the characteristic, for example, **00002a11-0000-1000-8000-00805f9b34fb**. |
+| serviceUuid | string | Yes | No | UUID of the service, for example, **00001888-0000-1000-8000-00805f9b34fb**. |
+
+
+## CharacteristicWriteReq
+
+Defines the parameters of the **CharacteristicWriteReq** event received by the server.
+
+| Name | Type | Readable | Writable | Description |
+| -------- | -------- | -------- | -------- | -------- |
+| deviceId | string | Yes | No | Address of the client that sends the request, for example, **8F:8F:8E:8E:6D:6D**. |
+| transId | number | Yes | No | Transmission ID of the write request. The response returned by the server must use the same transmission ID. |
+| offset | number | Yes | No | Start position for writing the characteristic value. For example, **k** means to write from the _k_th byte. The response returned by the server must use the same offset. |
+| descriptorUuid | string | Yes | No | UUID of the descriptor, for example, **00002902-0000-1000-8000-00805f9b34fb**. |
+| characteristicUuid | string | Yes | No | UUID of the characteristic, for example, **00002a11-0000-1000-8000-00805f9b34fb**. |
+| serviceUuid | string | Yes | No | UUID of the service, for example, **00001888-0000-1000-8000-00805f9b34fb**. |
+
+
+## DescriptorReadReq
+
+Defines the parameters of the **DescriptorReadReq** event received by the server.
+
+| Name | Type | Readable | Writable | Description |
+| -------- | -------- | -------- | -------- | -------- |
+| deviceId | string | Yes | No | Address of the client that sends the request, for example, **8F:8F:8E:8E:6D:6D**. |
+| transId | number | Yes | No | Transmission ID of the read request. The response returned by the server must use the same transmission ID. |
+| offset | number | Yes | No | Position from which the descriptor is read. For example, **k** means to read from the _k_th byte. The response returned by the server must use the same offset. |
+| descriptorUuid | string | Yes | No | UUID of the descriptor, for example, **00002902-0000-1000-8000-00805f9b34fb**. |
+| characteristicUuid | string | Yes | No | UUID of the characteristic, for example, **00002a11-0000-1000-8000-00805f9b34fb**. |
+| serviceUuid | string | Yes | No | UUID of the service, for example, **00001888-0000-1000-8000-00805f9b34fb**. |
+
+
+## DescriptorWriteReq
+
+Defines the parameters of the **DescriptorWriteReq** event received by the server.
+
+| Name | Type | Readable | Writable | Description |
+| -------- | -------- | -------- | -------- | -------- |
+| deviceId | string | Yes | No | Address of the client that sends the request, for example, **8F:8F:8E:8E:6D:6D**. |
+| transId | number | Yes | No | Transmission ID of the write request. The response returned by the server must use the same transmission ID. |
+| offset | number | Yes | No | Start position for writing the descriptor. For example, **k** means to write from the _k_th byte. The response returned by the server must use the same offset. |
+| isPrep | boolean | Yes | No | Whether the write request is executed immediately. |
+| needRsp | boolean | Yes | No | Whether to send a response to the GATT client. |
+| value | ArrayBuffer | Yes | No | Binary value of the descriptor to write. |
+| descriptorUuid | string | Yes | No | UUID of the descriptor, for example, **00002902-0000-1000-8000-00805f9b34fb**. |
+| characteristicUuid | string | Yes | No | UUID of the characteristic, for example, **00002a11-0000-1000-8000-00805f9b34fb**. |
+| serviceUuid | string | Yes | No | UUID of the service, for example, **00001888-0000-1000-8000-00805f9b34fb**. |
+
+
+## ServerResponse
+
+Defines the parameters of the server's response to the GATT client's read/write request.
+
+| Name | Type | Readable | Writable | Description |
+| -------- | -------- | -------- | -------- | -------- |
+| deviceId | string | Yes | No | Address of the client, for example, **8F:8F:8E:8E:6D:6D**. |
+| transId | number | Yes | No | Transmission ID of the request. The value must be the same as the ID carried in the read/write request received. |
+| status | number | Yes | No | Response state. Set this parameter to **0**, which indicates a normal response. |
+| offset | number | Yes | No | Start read/write position. The value must be the same as the **offset** carried in the read/write request. |
+| value | ArrayBuffer | Yes | No | Binary data in the response. |
+
+
+## BLEConnectChangedState
+
+Defines the parameters of **BLEConnectChangedState**.
+
+| Name | Type | Readable | Writable | Description |
+| -------- | -------- | -------- | -------- | -------- |
+| deviceId | string | Yes | No | Address of the peer device, for example, **8F:8F:8E:8E:6D:6D**. |
+| state | [ERROR:Invalid link:en-us_topic_0000001193344974.xml#xref3060mcpsimp,link:#ProfileConnectionState](#ProfileConnectionState) | Yes | Yes | BLE connection state. |
+
+
+## ProfileConnectionState
+
+Enumerates the profile connection states.
+
+| Name | Default Value | Description |
+| -------- | -------- | -------- |
+| STATE_DISCONNECTED | 0 | Disconnected. |
+| STATE_CONNECTING | 1 | Connecting. |
+| STATE_CONNECTED | 2 | Connected. |
+| STATE_DISCONNECTING | 3 | Disconnecting. |
+
+
+## ScanFilter
+
+Defines the scan filter parameters.
+
+| Name | Type | Readable | Writable | Description |
+| -------- | -------- | -------- | -------- | -------- |
+| deviceId | string | Yes | Yes | Address of the BLE device to filter, for example, **8F:8F:8E:8E:6D:6D**. |
+| name | string | Yes | Yes | Name of the BLE device to filter. |
+| serviceUuid | string | Yes | Yes | UUID of the service, for example, **00001888-0000-1000-8000-00805f9b34fb**. |
+
+
+## ScanOptions
+
+Defines the scan configuration parameters.
+
+| Name | Type | Readable | Writable | Description |
+| -------- | -------- | -------- | -------- | -------- |
+| interval | number | Yes | Yes | Delay in reporting the scan result. The default value is **0**. |
+| dutyMode | [ERROR:Invalid link:en-us_topic_0000001193344974.xml#xref3154mcpsimp,link:#ScanDuty](#ScanDuty) | Yes | Yes | Scan duty. The default value is **SCAN_MODE_LOW_POWER**. |
+| matchMode | [ERROR:Invalid link:en-us_topic_0000001193344974.xml#xref3161mcpsimp,link:#MatchMode](#MatchMode) | Yes | Yes | Hardware match mode for BLE scan filters. The default value is **MATCH_MODE_AGGRESSIVE**. |
+
+
+## ScanDuty
+
+Enumerates the scan duty options.
+
+| Name | Default Value | Description |
+| -------- | -------- | -------- |
+| SCAN_MODE_LOW_POWER | 0 | Low-power mode, which is the default value. |
+| SCAN_MODE_BALANCED | 1 | Balanced mode. |
+| SCAN_MODE_LOW_LATENCY | 2 | Low-latency mode. |
+
+
+## MatchMode
+
+Enumerates the hardware match modes of BLE scan filters.
+
+| Name | Default Value | Description |
+| -------- | -------- | -------- |
+| MATCH_MODE_AGGRESSIVE | 1 | Hardware reports the scan result with a lower threshold of signal strength and few number of matches in a duration. This is the default value. |
+| SCAN_MODE_LOW_LATENCY | 2 | Hardware reports the scan result with a higher threshold of signal strength and sightings. |
+
+
+## ScanResult
+
+Defines the scan result.
+
+| Name | Type | Readable | Writable | Description |
+| -------- | -------- | -------- | -------- | -------- |
+| deviceId | string | Yes | No | Address of the device discovered, for example, **8F:8F:8E:8E:6D:6D**. |
+| rssi | number | Yes | No | RSSI of the device. |
+| data | ArrayBuffer | Yes | No | Advertisement packets sent by the device. |
+
+
+## BluetoothState
+
+Enumerates the Bluetooth states.
+
+| Name | Default Value | Description |
+| -------- | -------- | -------- |
+| STATE_OFF | 0 | Bluetooth is turned off. |
+| STATE_TURNING_ON | 1 | Bluetooth is being turned on. |
+| STATE_ON | 2 | Bluetooth is turned on. |
+| STATE_TURNING_OFF | 3 | Bluetooth is being turned off. |
+| STATE_BLE_TURNING_ON | 4 | The LE-only mode is being turned on for Bluetooth. |
+| STATE_BLE_ON | 5 | Bluetooth is in LE-only mode. |
+| STATE_BLE_TURNING_OFF | 6 | The LE-only mode is being turned off for Bluetooth. |
+
+
+## AdvertiseSetting
+
+Defines the BLE advertising parameters.
+
+| Name | Type | Readable | Writable | Description |
+| -------- | -------- | -------- | -------- | -------- |
+| interval | number | Yes | Yes | Interval for BLE advertising. The minimum value is **32** slots (20 ms). The maximum value is **16777215** slots. The default value is **1600** slots (1s). |
+| txPower | number | Yes | Yes | Transmit power, in dBm. The value range is –127 to 1. The default value is **–7**. |
+| connectable | boolean | Yes | Yes | Whether the advertisement is connectable. The default value is **true**. |
+
+
+## AdvertiseData
+
+Defines the content of a BLE advertisement packet.
+
+| Name | Type | Readable | Writable | Description |
+| -------- | -------- | -------- | -------- | -------- |
+| serviceUuids | Array<string> | Yes | Yes | List of service UUIDs to be broadcasted. |
+| manufactureData | Array<[ERROR:Invalid link:en-us_topic_0000001193344974.xml#xref3348mcpsimp,link:#ManufactureData](#ManufactureData)> | Yes | Yes | List of manufacturers to be broadcasted. |
+| serviceData | Array<[ERROR:Invalid link:en-us_topic_0000001193344974.xml#xref3355mcpsimp,link:#ServiceData](#ServiceData)> | Yes | Yes | List of service data to be broadcasted. |
+
+
+## ManufactureData
+
+Defines the content of a BLE advertisement packet.
+
+| Name | Type | Readable | Writable | Description |
+| -------- | -------- | -------- | -------- | -------- |
+| manufactureId | Array<string> | Yes | Yes | Manufacturer ID allocated by the Bluetooth SIG. |
+| manufactureValue | ArrayBuffer | Yes | Yes | Manufacturer data. |
+
+
+## ServiceData
+
+Defines the service data contained in an advertisement packet.
+
+| Name | Type | Readable | Writable | Description |
+| -------- | -------- | -------- | -------- | -------- |
+| serviceUuid | string | Yes | Yes | Service UUID. |
+| serviceValue | ArrayBuffer | Yes | Yes | Service data. |
+
+
+## PinRequiredParam
+
+Defines the pairing request parameters.
+
+| Name | Type | Readable | Writable | Description |
+| -------- | -------- | -------- | -------- | -------- |
+| deviceId | string | Yes | No | ID of the device to pair. |
+| pinCode | string | Yes | No | Key for the device pairing. |
diff --git a/zh-cn/application-dev/media/Readme-CN.md b/zh-cn/application-dev/media/Readme-CN.md
index e3bdd6ec4c355e4ebd63708361188b7e417f0781..eb57afa3f1641fb0401ce4988d73043dbba8502f 100755
--- a/zh-cn/application-dev/media/Readme-CN.md
+++ b/zh-cn/application-dev/media/Readme-CN.md
@@ -8,6 +8,4 @@
- 视频
- - [视频开发概述](video-overview.md)
- - [视频播放开发指导](video-playback.md)
- [视频录制开发指导](video-recorder.md)
diff --git a/zh-cn/application-dev/media/audio-recorder.md b/zh-cn/application-dev/media/audio-recorder.md
index b2d27243c0f20c5465cad13c34a3dacb525c39c5..7f8da1786ac4b14047ec37db909c862529c7973b 100644
--- a/zh-cn/application-dev/media/audio-recorder.md
+++ b/zh-cn/application-dev/media/audio-recorder.md
@@ -6,13 +6,13 @@
**图1** 音频录制状态机
-
+
## 音频录制零层图
**图2** 音频录制零层图
-
+
## 音频录制开发步骤
diff --git a/zh-cn/application-dev/media/figures/zh-ch_image_audio_recorder_state_machine.jpg b/zh-cn/application-dev/media/figures/zh-ch_image_audio_recorder_state_machine.jpg
deleted file mode 100644
index 33f4889b30fd4620c7c9796bd9cb3ecef4975460..0000000000000000000000000000000000000000
Binary files a/zh-cn/application-dev/media/figures/zh-ch_image_audio_recorder_state_machine.jpg and /dev/null differ
diff --git a/zh-cn/application-dev/media/figures/zh-ch_image_audio_recorder_state_machine.png b/zh-cn/application-dev/media/figures/zh-ch_image_audio_recorder_state_machine.png
new file mode 100644
index 0000000000000000000000000000000000000000..9a7ffe8a8b978d09c8f43f292571cf85dfcacb21
Binary files /dev/null and b/zh-cn/application-dev/media/figures/zh-ch_image_audio_recorder_state_machine.png differ
diff --git a/zh-cn/application-dev/media/figures/zh-ch_image_audio_recorder_zero.jpg b/zh-cn/application-dev/media/figures/zh-ch_image_audio_recorder_zero.jpg
deleted file mode 100644
index 562efb6dde5287a3be6ee33040c8980eff6724fa..0000000000000000000000000000000000000000
Binary files a/zh-cn/application-dev/media/figures/zh-ch_image_audio_recorder_zero.jpg and /dev/null differ
diff --git a/zh-cn/application-dev/media/figures/zh-ch_image_audio_recorder_zero.png b/zh-cn/application-dev/media/figures/zh-ch_image_audio_recorder_zero.png
new file mode 100644
index 0000000000000000000000000000000000000000..90f032d88e6ae0d2a843555c569aa345f19d266c
Binary files /dev/null and b/zh-cn/application-dev/media/figures/zh-ch_image_audio_recorder_zero.png differ
diff --git a/zh-cn/application-dev/media/figures/zh-ch_image_video_recorder_state_machine.jpg b/zh-cn/application-dev/media/figures/zh-ch_image_video_recorder_state_machine.jpg
deleted file mode 100644
index 05c75961327c0e488f89f74d60689a977d01c80a..0000000000000000000000000000000000000000
Binary files a/zh-cn/application-dev/media/figures/zh-ch_image_video_recorder_state_machine.jpg and /dev/null differ
diff --git a/zh-cn/application-dev/media/figures/zh-ch_image_video_recorder_state_machine.png b/zh-cn/application-dev/media/figures/zh-ch_image_video_recorder_state_machine.png
new file mode 100644
index 0000000000000000000000000000000000000000..6fbcfaaa11b645143534b0a76308f6586eda1124
Binary files /dev/null and b/zh-cn/application-dev/media/figures/zh-ch_image_video_recorder_state_machine.png differ
diff --git a/zh-cn/application-dev/media/figures/zh-ch_image_video_recorder_zero.jpg b/zh-cn/application-dev/media/figures/zh-ch_image_video_recorder_zero.jpg
deleted file mode 100644
index ff57649f8fbf8354e395597f5bf9a0a05572f14e..0000000000000000000000000000000000000000
Binary files a/zh-cn/application-dev/media/figures/zh-ch_image_video_recorder_zero.jpg and /dev/null differ
diff --git a/zh-cn/application-dev/media/figures/zh-ch_image_video_recorder_zero.png b/zh-cn/application-dev/media/figures/zh-ch_image_video_recorder_zero.png
new file mode 100644
index 0000000000000000000000000000000000000000..8bfb453f935bd8342be989eba0393541b35ba582
Binary files /dev/null and b/zh-cn/application-dev/media/figures/zh-ch_image_video_recorder_zero.png differ
diff --git a/zh-cn/application-dev/media/video-recorder.md b/zh-cn/application-dev/media/video-recorder.md
index cf4b864a2f6e675fa36c5cd9b9ea85fa4f84c934..843887a21df178b34f3ed3fb4caa5a85f0e57b56 100644
--- a/zh-cn/application-dev/media/video-recorder.md
+++ b/zh-cn/application-dev/media/video-recorder.md
@@ -6,13 +6,13 @@
图1 视频录制状态机
-
+
## 视频录制零层图
**图2** 视频录制零层图
-
+
## 视频录制开发步骤
diff --git a/zh-cn/application-dev/reference/apis/Readme-CN.md b/zh-cn/application-dev/reference/apis/Readme-CN.md
index bcdb2b0cc32de8ef844edf40fe7c395c12859630..b67e88c1cf44f5a7d3ac50c5dd5b6ea71cb1dcea 100644
--- a/zh-cn/application-dev/reference/apis/Readme-CN.md
+++ b/zh-cn/application-dev/reference/apis/Readme-CN.md
@@ -45,6 +45,7 @@
- [网络搜索](js-apis-radio.md)
- 网络与连接
- [WLAN](js-apis-wifi.md)
+ - [Bluetooth](js-apis-bluetooth.md)
- 设备管理
- [传感器](js-apis-sensor.md)
- [振动](js-apis-vibrator.md)
@@ -77,6 +78,7 @@
- [分布式跟踪](js-apis-hitracechain.md)
- [日志打印](js-apis-hilog.md)
- [检测模式](js-apis-hichecker.md)
+ - [Debug调试](js-apis-hidebug.md)
- 语言基础类库
- [获取进程相关的信息](js-apis-process.md)
- [URL字符串解析](js-apis-url.md)
diff --git a/zh-cn/application-dev/reference/apis/js-apis-bluetooth.md b/zh-cn/application-dev/reference/apis/js-apis-bluetooth.md
new file mode 100644
index 0000000000000000000000000000000000000000..4da7b0ff665a66eee95d8c38ce4722fd65bc58b0
--- /dev/null
+++ b/zh-cn/application-dev/reference/apis/js-apis-bluetooth.md
@@ -0,0 +1,2474 @@
+# Bluetooth
+
+> **说明:**
+>
+> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
+
+蓝牙模块提供了基础的传统蓝牙能力以及BLE的扫描、广播等功能。
+
+## 导入模块
+
+```
+import bluetooth from '@ohos.bluetooth';
+```
+
+
+## 权限
+
+ohos.permission.USE_BLUETOOTH
+
+ohos.permission.MANAGE_BLUETOOTH
+
+ohos.permission.DISCOVER_BLUETOOTH
+
+ohos.permission.LOCATION
+
+
+## bluetooth.enableBluetooth
+
+enableBluetooth(): boolean
+
+开启蓝牙。
+
+**返回值:**
+
+| 类型 | 说明 |
+| -------- | -------- |
+| boolean | 打开蓝牙,成功返回true,否则返回false。 |
+
+**示例:**
+
+```
+let enable = bluetooth.enableBluetooth();
+```
+
+
+## bluetooth.disableBluetooth
+
+disableBluetooth(): boolean
+
+关闭蓝牙。
+
+**返回值:**
+
+| 类型 | 说明 |
+| -------- | -------- |
+| boolean | 关闭蓝牙,成功返回true,否则返回false。 |
+
+**示例:**
+
+```
+let disable = bluetooth.disableBluetooth();
+```
+
+
+## bluetooth.getLocalName
+
+getLocalName(): string
+
+获取蓝牙本地设备名称。
+
+**返回值:**
+
+| 类型 | 说明 |
+| -------- | -------- |
+| string | 蓝牙本地设备名称。 |
+
+**示例:**
+
+```
+let localName = bluetooth.getLocalName();
+```
+
+
+## bluetooth.getState
+
+getState(): BluetoothState
+
+获取蓝牙开关状态。
+
+**返回值:**
+
+| 类型 | 说明 |
+| -------- | -------- |
+| [BluetoothState](#bluetoothstate) | 表示蓝牙开关状态。 |
+
+**示例:**
+
+```
+let state = bluetooth.getState();
+```
+
+
+## bluetooth.getBtConnectionState
+
+getBtConnectionState(): ProfileConnectionState
+
+获取蓝牙设备的Profile连接状态。
+
+**返回值:**
+
+| 类型 | 说明 |
+| -------- | -------- |
+| [ProfileConnectionState](#profileconnectionstate) | 表示蓝牙设备的Profile连接状态。 |
+
+**示例:**
+
+```
+let connectionState = bluetooth.getBtConnectionState();
+```
+
+
+## bluetooth.setLocalName
+
+setLocalName(name: string): boolean
+
+设置蓝牙本地设备名称。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| name | string | 是 | 要设置的蓝牙名称,最大长度为128。 |
+
+**返回值:**
+
+| | |
+| -------- | -------- |
+| 类型 | 说明 |
+| boolean | 设置蓝牙本地设备名称,成功返回true,否则返回false。 |
+
+**示例:**
+
+```
+let ret = bluetooth.setLocalName('device_name');
+```
+
+
+## bluetooth.pairDevice
+
+pairDevice(deviceId: string): boolean
+
+发起蓝牙配对。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| deviceId | string | 是 | 表示配对的远端设备地址,例如:"8F:8F:8E:8E:6D:6D"。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| -------- | -------- |
+| boolean | 发起蓝牙配对,成功返回true,否则返回false。 |
+
+**示例:**
+
+```
+// 实际的地址可由扫描流程获取
+let result = bluetooth.pairDevice("8F:8F:8E:8E:6D:6D");
+```
+
+
+## bluetooth.getPairedDevices
+
+getPairedDevices(): Array<string>
+
+获取蓝牙配对列表。
+
+**返回值:**
+
+| 类型 | 说明 |
+| -------- | -------- |
+| Array<string> | 已配对蓝牙设备的地址列表。 |
+
+**示例:**
+
+```
+let devices = bluetooth.getPairedDevices();
+```
+
+
+## bluetooth.setBluetoothScanMode
+
+setBluetoothScanMode(mode: ScanMode, duration: number): boolean
+
+设置蓝牙扫描模式,可以被远端设备发现。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| mode | [ScanMode](#scanmode) | 是 | 蓝牙扫描模式。 |
+| duration | number | 是 | 设备可被发现的持续时间,单位为秒;设置为0则持续可发现。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| -------- | -------- |
+| boolean | 设置蓝牙扫描,成功返回true,否则返回false。 |
+
+**示例:**
+
+```
+// 设置为可连接可发现才可被远端设备扫描到,可以连接。
+let result = bluetooth.setBluetoothScanMode(ScanMode.SCAN_MODE_CONNECTABLE_GENERAL_DISCOVERABLE, 100);
+```
+
+
+## bluetooth.getBluetoothScanMode
+
+getBluetoothScanMode(): ScanMode
+
+获取蓝牙扫描模式。
+
+**返回值:**
+
+| 类型 | 说明 |
+| -------- | -------- |
+| [ScanMode](#scanmode) | 蓝牙扫描模式。 |
+
+**示例:**
+
+```
+let scanMode = bluetooth.getBluetoothScanMode();
+```
+
+
+## bluetooth.startBluetoothDiscovery
+
+startBluetoothDiscovery(): boolean
+
+开启蓝牙扫描,可以发现远端设备。
+
+**返回值:**
+
+| 类型 | 说明 |
+| -------- | -------- |
+| boolean | 开启蓝牙扫描,成功返回true,否则返回false。 |
+
+**示例:**
+
+```
+let deviceId;
+function onReceiveEvent(data) {
+ deviceId = data;
+}
+bluetooth.on('bluetoothDeviceFind', onReceiveEvent);
+let result = bluetooth.startBluetoothDiscovery();
+```
+
+
+## bluetooth.stopBluetoothDiscovery
+
+stopBluetoothDiscovery(): boolean
+
+关闭蓝牙扫描。
+
+**返回值:**
+
+| 类型 | 说明 |
+| -------- | -------- |
+| boolean | 关闭蓝牙扫描,成功返回true,否则返回false。 |
+
+**示例:**
+
+```
+let result = bluetooth.stopBluetoothDiscovery();
+```
+
+
+## bluetooth.setDevicePairingConfirmation
+
+setDevicePairingConfirmation(device: string, accept: boolean): boolean
+
+设置设备配对请求确认。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| device | string | 是 | 表示远端设备地址,例如:"8F:8F:8E:8E:6D:6D"。 |
+| accept | boolean | 是 | 接受配对请求设置为true,否则设置为false。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| -------- | -------- |
+| boolean | 设置设备配对确认,成功返回true,否则返回false。 |
+
+**示例:**
+
+```
+// 订阅“pinRequired”配对请求事件,收到远端配对请求后设置配对确认
+function onReceivePinRequiredEvent(data) { // data为配对请求的入参,配对请求参数
+ console.info('pin required = '+ JSON.stringify(data));
+ bluetooth.setDevicePairingConfirmation(data.deviceId, true);
+}
+bluetooth.on("pinRequired", onReceivePinRequiredEvent);
+```
+
+
+## bluetooth.on('bluetoothDeviceFind')
+
+on(type: "bluetoothDeviceFind", callback: Callback<Array<string>>): void
+
+订阅蓝牙设备发现上报事件。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| type | string | 是 | 填写"bluetoothDeviceFind"字符串,表示蓝牙设备发现事件。 |
+| callback | Callback<Array<string>> | 是 | 表示回调函数的入参,发现的设备集合。回调函数由用户创建通过该接口注册。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+function onReceiveEvent(data) { // data为蓝牙设备地址集合
+ console.info('bluetooth device find = '+ JSON.stringify(data));
+}
+bluetooth.on('bluetoothDeviceFind', onReceiveEvent);
+```
+
+
+## bluetooth.off('bluetoothDeviceFind')
+
+off(type: "bluetoothDeviceFind", callback?: Callback<Array<string>>): void
+
+取消订阅蓝牙设备发现上报事件。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| type | string | 是 | 填写"bluetoothDeviceFind"字符串,表示蓝牙设备发现事件。 |
+| callback | Callback<Array<string>> | 否 | 表示取消订阅蓝牙设备发现事件上报。不填该参数则取消订阅该type对应的所有回调。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+function onReceiveEvent(data) {
+ console.info('bluetooth device find = '+ JSON.stringify(data));
+}
+bluetooth.on('bluetoothDeviceFind', onReceiveEvent);
+bluetooth.off('bluetoothDeviceFind', onReceiveEvent);
+```
+
+
+## bluetooth.on('pinRequired')
+
+on(type: "pinRequired", callback: Callback<PinRequiredParam>): void
+
+订阅远端蓝牙设备的配对请求事件。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| type | string | 是 | 填写"pinRequired"字符串,表示配对请求事件。 |
+| callback | Callback<[PinRequiredParam](#pinrequiredparam)> | 是 | 表示回调函数的入参,配对请求。回调函数由用户创建通过该接口注册。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+function onReceiveEvent(data) { // data为配对请求参数
+ console.info('pin required = '+ JSON.stringify(data));
+}
+bluetooth.on('pinRequired', onReceiveEvent);
+```
+
+
+## bluetooth.off('pinRequired')
+
+off(type: "pinRequired", callback?: Callback<PinRequiredParam>): void
+
+取消订阅远端蓝牙设备的配对请求事件。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| type | string | 是 | 填写"pinRequired"字符串,表示配对请求事件。 |
+| callback | Callback<[PinRequiredParam](#pinrequiredparam)> | 否 | 表示取消订阅蓝牙配对请求事件上报,入参为配对请求参数。不填该参数则取消订阅该type对应的所有回调。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+function onReceiveEvent(data) {
+ console.info('pin required = '+ JSON.stringify(data));
+}
+bluetooth.on('pinRequired', onReceiveEvent);
+bluetooth.off('pinRequired', onReceiveEvent);
+```
+
+
+## bluetooth.on('bondStateChange')
+
+on(type: "bondStateChange", callback: Callback<BondState>): void
+
+订阅蓝牙配对状态改变事件。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| type | string | 是 | 填写"bondStateChange"字符串,表示蓝牙配对状态改变事件。 |
+| callback | Callback<[BondState](#bondstate)> | 是 | 表示回调函数的入参,配对的状态。回调函数由用户创建通过该接口注册。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+function onReceiveEvent(data) { // data为回调函数入参,表示配对的状态
+ console.info('pair state = '+ JSON.stringify(data));
+}
+bluetooth.on('bondStateChange', onReceiveEvent);
+```
+
+
+## bluetooth.off('bondStateChange')
+
+off(type: "bondStateChange", callback?: Callback<BondState>): void
+
+取消订阅蓝牙配对状态改变事件。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| type | string | 是 | 填写"bondStateChange"字符串,表示蓝牙配对状态改变事件。 |
+| callback | Callback<[BondState](#bondstate)> | 否 | 表示取消订阅蓝牙配对状态改变事件上报。不填该参数则取消订阅该type对应的所有回调。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+function onReceiveEvent(data) {
+ console.info('bond state = '+ JSON.stringify(data));
+}
+bluetooth.on('bondStateChange', onReceiveEvent);
+bluetooth.off('bondStateChange', onReceiveEvent);
+```
+
+
+## bluetooth.on('stateChange')
+
+on(type: "stateChange", callback: Callback<BluetoothState>): void
+
+订阅蓝牙连接状态改变事件。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| type | string | 是 | 填写"stateChange"字符串,表示蓝牙状态改变事件。 |
+| callback | Callback<[BluetoothState](#bluetoothstate)> | 是 | 表示回调函数的入参,蓝牙状态。回调函数由用户创建通过该接口注册。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+function onReceiveEvent(data) {
+ console.info('bluetooth state = '+ JSON.stringify(data));
+}
+bluetooth.on('stateChange', onReceiveEvent);
+```
+
+
+## bluetooth.off('stateChange')
+
+off(type: "stateChange", callback?: Callback<BluetoothState>): void
+
+取消订阅蓝牙连接状态改变事件。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| type | string | 是 | 填写"stateChange"字符串,表示蓝牙状态改变事件。 |
+| callback | Callback<[BluetoothState](#bluetoothstate)> | 否 | 表示取消订阅蓝牙状态改变事件上报。不填该参数则取消订阅该type对应的所有回调。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+function onReceiveEvent(data) {
+ console.info('bluetooth state = '+ JSON.stringify(data));
+}
+bluetooth.on('stateChange', onReceiveEvent);
+bluetooth.off('stateChange', onReceiveEvent);
+```
+
+
+## bluetooth.sppListen
+
+sppListen(name: string, option: SppOption, callback: AsyncCallback<number>): void
+
+创建一个服务端监听Socket。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| name | string | 是 | 服务的名称。 |
+| option | [SppOption](#sppoption) | 是 | spp监听配置参数。 |
+| callback | AsyncCallback<number> | 是 | 表示回调函数的入参,服务端Socket的id。 |
+
+**示例:**
+
+```
+let serverNumber = -1;
+function serverSocket(code, number) {
+ console.log('bluetooth error code: ' + code.code);
+ if (code.code == 0) {
+ console.log('bluetooth serverSocket Number: ' + number);
+ serverNumber = number;
+ }
+}
+
+let sppOption = {uuid: '00001810-0000-1000-8000-00805F9B34FB', secure: false, type: 0};
+bluetooth.sppListen('server1', sppOption, serverSocket);
+```
+
+
+## bluetooth.sppAccept
+
+sppAccept(serverSocket: number, callback: AsyncCallback<number>): void
+
+服务端监听socket等待客户端连接。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| serverSocket | number | 是 | 服务端socket的id。 |
+| callback | AsyncCallback<number> | 是 | 表示回调函数的入参,客户端socket的id。 |
+
+**示例:**
+
+```
+let clientNumber = -1;
+function acceptClientSocket(code, number) {
+ console.log('bluetooth error code: ' + code.code);
+ if (code.code == 0) {
+ console.log('bluetooth clientSocket Number: ' + number);
+ // 获取的clientNumber用作服务端后续读/写操作socket的id。
+ clientNumber = number;
+ }
+}
+bluetooth.sppAccept(serverNumber, acceptClientSocket);
+```
+
+
+## bluetooth.sppConnect
+
+sppConnect(device: string, option: SppOption, callback: AsyncCallback<number>): void
+
+客户端向远端设备发起spp连接。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| device | string | 是 | 对端设备地址,例如:"8F:8F:8E:8E:6D:6D"。 |
+| option | [SppOption](#sppoption) | 是 | spp客户端连接配置参数。 |
+| callback | AsyncCallback<number> | 是 | 表示回调函数的入参,客户端socket的id。 |
+
+**示例:**
+
+```
+let clientNumber = -1;
+function clientSocket(code, number) {
+ if (code.code != 0) {
+ return;
+ }
+ console.log('bluetooth serverSocket Number: ' + number);
+ // 获取的clientNumber用作客户端后续读/写操作socket的id。
+ clientNumber = number;
+}
+let sppOption = {uuid: '00001810-0000-1000-8000-00805F9B34FB', secure: false, type: 0};
+bluetooth.sppConnect('8F:8F:8E:8E:6D:6D', sppOption, clientSocket);
+```
+
+
+## bluetooth.sppCloseServerSocket
+
+sppCloseServerSocket(socket: number): void
+
+关闭服务端监听Socket,入参socket由sppListen接口返回。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| socket | number | 是 | 服务端监听socket的id。 |
+
+**示例:**
+
+```
+bluetooth.sppCloseServerSocket(serverNumber);
+```
+
+
+## bluetooth.sppCloseClientSocket
+
+sppCloseClientSocket(socket: number): void
+
+关闭客户端socket,入参socket由sppAccept或sppConnect接口获取。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| 参数名 | 类型 | 必填 | 说明 |
+| socket | number | 是 | 客户端socket的id。 |
+
+**示例:**
+
+```
+bluetooth.sppCloseClientSocket(clientNumber);
+```
+
+
+## bluetooth.sppWrite
+
+sppWrite(clientSocket: number, data: ArrayBuffer): boolean
+
+通过socket向远端发送数据,入参clientSocket由sppAccept或sppConnect接口获取 。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| clientSocket | number | 是 | 客户端socket的id。 |
+| data | ArrayBuffer | 是 | 写入的数据。 |
+
+**返回值:**
+
+| | |
+| -------- | -------- |
+| 类型 | 说明 |
+| boolean | 写数据操作,成功返回true,否则返回false。 |
+
+**示例:**
+
+```
+let arrayBuffer = new ArrayBuffer(8);
+let data = new Uint8Array(arrayBuffer);
+data[0] = 123;
+let ret = bluetooth.sppWrite(clientNumber, arrayBuffer);
+if (ret) {
+ console.log('spp write successfully');
+} else {
+ console.log('spp write failed');
+}
+```
+
+
+## bluetooth.on('sppRead')
+
+on(type: "sppRead", clientSocket: number, callback: Callback<ArrayBuffer>): void
+
+订阅spp读请求事件,入参clientSocket由sppAccept或sppConnect接口获取。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| type | string | 是 | 填写"sppRead"字符串,表示spp读请求事件。 |
+| clientSocket | number | 是 | 客户端socket的id。 |
+| callback | Callback<ArrayBuffer> | 是 | 表示回调函数的入参,读取到的数据。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+function dataRead(dataBuffer) {
+ let data = new Uint8Array(dataBuffer);
+ console.log('bluetooth data is: ' + data[0]);
+}
+bluetooth.on('sppRead', clientNumber, dataRead);
+```
+
+
+## bluetooth.off('sppRead')
+
+off(type: "sppRead", clientSocket: number, callback?: Callback<ArrayBuffer>): void
+
+取消订阅spp读请求事件,入参clientSocket由sppAccept或sppConnect接口获取。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| type | string | 是 | 填写"sppRead"字符串,表示spp读请求事件。 |
+| clientSocket | number | 是 | 客户端Socket的id。 |
+| callback | Callback<ArrayBuffer> | 否 | 表示取消订阅spp读请求事件上报。不填该参数则取消订阅该type对应的所有回调。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+bluetooth.off('sppRead', clientNumber);
+```
+
+
+## bluetooth.BLE
+
+### bluetooth.BLE.createGattServer
+
+createGattServer(): GattServer
+
+创建一个可使用的GattServer实例。
+
+**返回值:**
+
+| 类型 | 说明 |
+| -------- | -------- |
+| [GattServer](#gattserver) | server端类,使用server端方法之前需要创建该类的实例进行操作。 |
+
+**示例:**
+
+```
+let gattServer = bluetooth.BLE.createGattServer();
+```
+
+
+### bluetooth.BLE.createGattClientDevice
+
+createGattClientDevice(deviceId: string): GattClientDevice
+
+创建一个可使用的GattClientDevice实例。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| deviceId | string | 是 | 对端设备地址, 例如:"8F:8F:8E:8E:6D:6D"。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| -------- | -------- |
+| [GattClientDevice](#gattclientdevice) | client端类,使用client端方法之前需要创建该类的实例进行操作。 |
+
+**示例:**
+
+```
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+```
+
+
+### bluetooth.BLE.getConnectedBLEDevices
+
+getConnectedBLEDevices(): Array<string>
+
+获取和当前设备连接的BLE设备。
+
+**返回值:**
+
+| 类型 | 说明 |
+| -------- | -------- |
+| Array<string> | 返回和当前设备连接BLE设备地址集合。 |
+
+**示例:**
+
+```
+let result = bluetooth.BLE.getConnectedBLEDevices();
+```
+
+
+### bluetooth.BLE.startBLEScan
+
+startBLEScan(filters: Array<ScanFilter>, options?: ScanOptions): void
+
+发起BLE扫描流程。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| filters | Array<[ScanFilter](#scanfilter)> | 是 | 表示扫描结果过滤策略集合,如果不使用过滤的方式,该参数设置为null。 |
+| options | [ScanOptions](#scanoptions) | 否 | 表示扫描的参数配置,可选参数。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+function onReceiveEvent(data) {
+ console.info('BLE scan device find result = '+ JSON.stringify(data));
+}
+bluetooth.BLE.on("BLEDeviceFind", onReceiveEvent);
+bluetooth.BLE.startBLEScan(
+ [{
+ deviceId:"8F:8F:8E:8E:6D:6D",
+ name:"test",
+ serviceUuid:"00001888-0000-1000-8000-00805f9b34fb"
+ }],
+ {
+ interval: 500,
+ dutyMode: bluetooth.ScanDuty.SCAN_MODE_LOW_POWER,
+ matchMode: bluetooth.MatchMode.MATCH_MODE_AGGRESSIVE,
+ }
+);
+```
+
+
+### bluetooth.BLE.stopBLEScan
+
+stopBLEScan(): void
+
+停止BLE扫描流程。
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+bluetooth.BLE.stopBLEScan();
+```
+
+
+### bluetooth.BLE.on('BLEDeviceFind')
+
+on(type: "BLEDeviceFind", callback: Callback<Array<ScanResult>>): void
+
+订阅BLE设备发现上报事件。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| type | string | 是 | 填写"BLEDeviceFind"字符串,表示BLE设备发现事件。 |
+| callback | Callback<Array<[ScanResult](#scanresult)>> | 是 | 表示回调函数的入参,发现的设备集合。回调函数由用户创建通过该接口注册。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+function onReceiveEvent(data) {
+ console.info('bluetooth device find = '+ JSON.stringify(data));
+}
+bluetooth.BLE.on('BLEDeviceFind', onReceiveEvent);
+```
+
+
+### bluetooth.BLE.off('BLEDeviceFind')
+
+off(type: "BLEDeviceFind", callback?: Callback<Array<ScanResult>>): void
+
+取消订阅BLE设备发现上报事件。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| type | string | 是 | 填写"BLEDeviceFind"字符串,表示BLE设备发现事件。 |
+| callback | Callback<Array<[ScanResult](#scanresult)>> | 否 | 表示取消订阅BLE设备发现事件上报。不填该参数则取消订阅该type对应的所有回调。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+function onReceiveEvent(data) {
+ console.info('bluetooth device find = '+ JSON.stringify(data));
+}
+bluetooth.BLE.on('BLEDeviceFind', onReceiveEvent);
+bluetooth.BLE.off('BLEDeviceFind', onReceiveEvent);
+```
+
+
+## GattServer
+
+server端类,使用server端方法之前需要创建该类的实例进行操作,通过createGattServer()方法构造此实例。
+
+
+### startAdvertising
+
+startAdvertising(setting: AdvertiseSetting, advData: AdvertiseData, advResponse?: AdvertiseData): void
+
+开始发送BLE广播。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| setting | [AdvertiseSetting](#advertisesetting) | 是 | BLE广播的相关参数。 |
+| advData | [AdvertiseData](#advertisedata) | 是 | BLE广播包内容。 |
+| advResponse | [AdvertiseData](#advertisedata) | 否 | BLE回复扫描请求回复响应。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+let manufactureValueBuffer = new Uint8Array(4);
+manufactureValueBuffer[0] = 1;
+manufactureValueBuffer[1] = 2;
+manufactureValueBuffer[2] = 3;
+manufactureValueBuffer[3] = 4;
+
+let serviceValueBuffer = new Uint8Array(4);
+serviceValueBuffer[0] = 4;
+serviceValueBuffer[1] = 6;
+serviceValueBuffer[2] = 7;
+serviceValueBuffer[3] = 8;
+console.info('manufactureValueBuffer = '+ JSON.stringify(manufactureValueBuffer));
+console.info('serviceValueBuffer = '+ JSON.stringify(serviceValueBuffer));
+let gattServer = bluetooth.BLE.createGattServer();
+gattServer.startAdvertising({
+ interval:150,
+ txPower:60,
+ connectable:true,
+ },{
+ serviceUuids:["00001888-0000-1000-8000-00805f9b34fb"],
+ manufactureData:[{
+ manufactureId:4567,
+ manufactureValue:manufactureValueBuffer.buffer
+ }],
+ serviceData:[{
+ serviceUuid:"00001888-0000-1000-8000-00805f9b34fb",
+ serviceValue:serviceValueBuffer.buffer
+ }],
+ },{
+ serviceUuids:["00001889-0000-1000-8000-00805f9b34fb"],
+ manufactureData:[{
+ manufactureId:1789,
+ manufactureValue:manufactureValueBuffer.buffer
+ }],
+ serviceData:[{
+ serviceUuid:"00001889-0000-1000-8000-00805f9b34fb",
+ serviceValue:serviceValueBuffer.buffer
+ }],
+});
+```
+
+
+### stopAdvertising
+
+stopAdvertising(): void
+
+停止发送BLE广播。
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+let server = bluetooth.BLE.createGattServer();
+server.stopAdvertising();
+```
+
+
+### addService
+
+addService(service: GattService): boolean
+
+server端添加服务。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| service | [GattService](#gattservice) | 是 | 服务端的service数据。BLE广播的相关参数 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| -------- | -------- |
+| boolean | 添加服务操作,成功返回true,否则返回false。 |
+
+**示例:**
+
+```
+// 创建descriptors
+let descriptors = [];
+let arrayBuffer = new ArrayBuffer(8);
+let descV = new Uint8Array(arrayBuffer);
+descV[0] = 11;
+let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
+ characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
+ descriptorUuid: '00001830-0000-1000-8000-00805F9B34FB', descriptorValue: arrayBuffer};
+descriptors[0] = descriptor;
+
+// 创建characteristics
+let characteristics = [];
+let arrayBufferC = new ArrayBuffer(8);
+let cccV = new Uint8Array(arrayBufferC);
+cccV[0] = 1;
+let characteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
+ characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB', characteristicValue: arrayBufferC, descriptors:descriptors};
+let characteristicN = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
+ characteristicUuid: '00001821-0000-1000-8000-00805F9B34FB', characteristicValue: arrayBufferC, descriptors:descriptorsN};
+characteristics[0] = characteristic;
+
+// 创建gattService
+let gattService = {serviceUuid:'00001810-0000-1000-8000-00805F9B34FB', isPrimary: true, characteristics:characteristics, includeServices:[]};
+
+let gattServer = bluetooth.BLE.createGattServer();
+let ret = gattServer.addService(gattService);
+if (ret) {
+ console.log("add service successfully");
+} else {
+ console.log("add service failed");
+}
+```
+
+
+### removeService
+
+removeService(serviceUuid: string): boolean
+
+删除已添加的服务。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| serviceUuid | string | 是 | service的UUID,例如“00001810-0000-1000-8000-00805F9B34FB”。 |
+
+**返回值:**
+
+| | |
+| -------- | -------- |
+| 类型 | 说明 |
+| boolean | 删除服务操作,成功返回true,否则返回false。 |
+
+**示例:**
+
+```
+let server = bluetooth.BLE.createGattServer();
+server.removeService('00001810-0000-1000-8000-00805F9B34FB');
+```
+
+
+### close
+
+close(): void
+
+关闭服务端功能,去注册server在协议栈的注册,调用该接口后[GattServer](#gattserver)实例将不能再使用。
+
+**示例:**
+
+```
+let server = bluetooth.BLE.createGattServer();
+server.close();
+```
+
+
+### notifyCharacteristicChanged
+
+notifyCharacteristicChanged(deviceId: string, notifyCharacteristic: NotifyCharacteristic): boolean
+
+server端特征值发生变化时,主动通知已连接的client设备。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| deviceId | string | 是 | 接收通知的client端设备地址,例如“8F:8F:8E:8E:6D:6D”。 |
+| notifyCharacteristic | [NotifyCharacteristic](#notifycharacteristic) | 是 | 通知的特征值数据。 |
+
+**返回值:**
+
+| | |
+| -------- | -------- |
+| 类型 | 说明 |
+| boolean | 通知操作,成功返回true,否则返回false。 |
+
+**示例:**
+
+```
+let notifyCharacteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
+ characteristicUuid: '00001821-0000-1000-8000-00805F9B34FB', characteristicValue: notifyCcc.characteristicValue, confirm: false};
+let server = bluetooth.BLE.createGattServer();
+server.notifyCharacteristicChanged('8F:8F:8E:8E:6D:6D', notifyCharacteristic);
+```
+
+
+### sendResponse
+
+sendResponse(serverResponse: ServerResponse): boolean
+
+server端回复client端的读写请求。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| serverResponse | [ServerResponse](#serverresponse) | 是 | server端回复的响应数据。 |
+
+**返回值:**
+
+| | |
+| -------- | -------- |
+| 类型 | 说明 |
+| boolean | 回复响应操作,成功返回true,否则返回false。 |
+
+**示例:**
+
+```
+/* send response */
+let arrayBufferCCC = new ArrayBuffer(8);
+let cccValue = new Uint8Array(arrayBufferCCC);
+cccValue[0] = 1123;
+let serverResponse = {
+ "deviceId": "8F:8F:8E:8E:6D:6D",
+ "transId": 0,
+ "status": 0,
+ "offset": 0,
+ "value": arrayBufferCCC,
+};
+
+let gattServer = bluetooth.BLE.createGattServer();
+let ret = gattServer.sendResponse(serverResponse);
+if (ret) {
+ console.log('bluetooth sendResponse successfully');
+} else {
+ console.log('bluetooth sendResponse failed');
+}
+```
+
+
+### on('characteristicRead')
+
+on(type: "characteristicRead", callback: Callback<CharacteristicReadReq>): void
+
+server端订阅特征值读请求事件。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| type | string | 是 | 填写"characteristicRead"字符串,表示特征值读请求事件。 |
+| callback | Callback<[CharacteristicReadReq](#characteristicreadreq)> | 是 | 表示回调函数的入参,client端发送的读请求数据。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+let arrayBufferCCC = new ArrayBuffer(8);
+let cccValue = new Uint8Array(arrayBufferCCC);
+cccValue[0] = 1123;
+function ReadCharacteristicReq(CharacteristicReadReq) {
+ let deviceId = CharacteristicReadReq.deviceId;
+ let transId = CharacteristicReadReq.transId;
+ let offset = CharacteristicReadReq.offset;
+ let characteristicUuid = CharacteristicReadReq.characteristicUuid;
+
+ let serverResponse = {deviceId: deviceId, transId: transId, status: 0, offset: offset, value:arrayBufferCCC};
+
+ let ret = gattServer.sendResponse(serverResponse);
+ if (ret) {
+ console.log('bluetooth sendResponse successfully');
+ } else {
+ console.log('bluetooth sendResponse failed');
+ }
+}
+
+let gattServer = bluetooth.BLE.createGattServer();
+gattServer.on("characteristicRead", ReadCharacteristicReq);
+```
+
+
+### off('characteristicRead')
+
+off(type: "characteristicRead", callback?: Callback<CharacteristicReadReq>): void
+
+server端取消订阅特征值读请求事件。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| type | string | 是 | 填写"characteristicRead"字符串,表示特征值读请求事件。 |
+| callback | Callback<[CharacteristicReadReq](#characteristicreadreq)> | 否 | 表示取消订阅特征值读请求事件上报。不填该参数则取消订阅该type对应的所有回调。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+let gattServer = bluetooth.BLE.createGattServer();
+gattServer.off("characteristicRead");
+```
+
+
+### on('characteristicWrite')
+
+on(type: "characteristicWrite", callback: Callback<CharacteristicWriteReq>): void
+
+server端订阅特征值写请求事件。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| type | string | 是 | 填写"characteristicWrite"字符串,表示特征值写请求事件。 |
+| callback | Callback<[DescriptorWriteReq](#descriptorwritereq)> | 是 | 表示回调函数的入参,client端发送的写请求数据。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+let arrayBufferCCC = new ArrayBuffer(8);
+let cccValue = new Uint8Array(arrayBufferCCC);
+function WriteCharacteristicReq(CharacteristicWriteReq) {
+ let deviceId = CharacteristicWriteReq.deviceId;
+ let transId = CharacteristicWriteReq.transId;
+ let offset = CharacteristicWriteReq.offset;
+ let isPrep = CharacteristicWriteReq.isPrep;
+ let needRsp = CharacteristicWriteReq.needRsp;
+ let value = new Uint8Array(CharacteristicWriteReq.value);
+ let characteristicUuid = CharacteristicWriteReq.characteristicUuid;
+
+ cccValue[0] = value[0];
+ let serverResponse = {deviceId: deviceId, transId: transId, status: 0, offset: offset, value:arrayBufferCCC};
+
+ let ret = gattServer.sendResponse(serverResponse);
+ if (ret) {
+ console.log('bluetooth sendResponse successfully');
+ } else {
+ console.log('bluetooth sendResponse failed');
+ }
+}
+
+let gattServer = bluetooth.BLE.createGattServer();
+gattServer.on("characteristicWrite", WriteCharacteristicReq);
+```
+
+
+### off('characteristicWrite')
+
+off(type: "characteristicWrite", callback?: Callback<CharacteristicWriteReq>): void
+
+server端取消订阅特征值写请求事件。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| type | string | 是 | 填写"characteristicWrite"字符串,表示特征值写请求事件。 |
+| callback | Callback<[CharacteristicWriteReq](#characteristicwritereq)> | 否 | 表示取消订阅特征值写请求事件上报。不填该参数则取消订阅该type对应的所有回调。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+let gattServer = bluetooth.BLE.createGattServer();
+gattServer.off("characteristicWrite");
+```
+
+
+### on('descriptorRead')
+
+on(type: "descriptorRead", callback: Callback<DescriptorReadReq>): void
+
+server端订阅描述符读请求事件。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| type | string | 是 | 填写"descriptorRead"字符串,表示描述符读请求事件。 |
+| callback | Callback<[DescriptorReadReq](#descriptorreadreq)> | 是 | 表示回调函数的入参,client端发送的读请求数据。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+let arrayBufferDesc = new ArrayBuffer(8);
+let descValue = new Uint8Array(arrayBufferDesc);
+descValue[0] = 1101;
+function ReadDescriptorReq(DescriptorReadReq) {
+ let deviceId = DescriptorReadReq.deviceId;
+ let transId = DescriptorReadReq.transId;
+ let offset = DescriptorReadReq.offset;
+ let descriptorUuid = DescriptorReadReq.descriptorUuid;
+
+ let serverResponse = {deviceId: deviceId, transId: transId, status: 0, offset: offset, value:arrayBufferDesc};
+
+ let ret = gattServer.sendResponse(serverResponse);
+ if (ret) {
+ console.log('bluetooth sendResponse successfully');
+ } else {
+ console.log('bluetooth sendResponse failed');
+ }
+}
+
+let gattServer = bluetooth.BLE.createGattServer();
+gattServer.on("descriptorRead", ReadDescriptorReq);
+```
+
+
+### off('descriptorRead')
+
+off(type: "descriptorRead", callback?: Callback<DescriptorReadReq>): void
+
+server端取消订阅描述符读请求事件。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| type | string | 是 | 填写"descriptorRead"字符串,表示描述符读请求事件。 |
+| callback | Callback<[DescriptorReadReq](#descriptorreadreq)> | 否 | 表示取消订阅描述符读请求事件上报。不填该参数则取消订阅该type对应的所有回调。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+let gattServer = bluetooth.BLE.createGattServer();
+gattServer.off("descriptorRead");
+```
+
+
+### on('descriptorWrite')
+
+on(type: "descriptorWrite", callback: Callback<DescriptorWriteReq>): void
+
+server端订阅描述符写请求事件。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| type | string | 是 | 填写"descriptorWrite"字符串,表示描述符写请求事件。 |
+| callback | Callback<[DescriptorWriteReq](#descriptorwritereq)> | 是 | 表示回调函数的入参,client端发送的写请求数据。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+let arrayBufferDesc = new ArrayBuffer(8);
+let descValue = new Uint8Array(arrayBufferDesc);
+function WriteDescriptorReq(DescriptorWriteReq) {
+ let deviceId = DescriptorWriteReq.deviceId;
+ let transId = DescriptorWriteReq.transId;
+ let offset = DescriptorWriteReq.offset;
+ let isPrep = DescriptorWriteReq.isPrep;
+ let needRsp = DescriptorWriteReq.needRsp;
+ let value = new Uint8Array(DescriptorWriteReq.value);
+ let descriptorUuid = DescriptorWriteReq.descriptorUuid;
+
+ descValue[0] = value[0];
+ let serverResponse = {deviceId: deviceId, transId: transId, status: 0, offset: offset, value:arrayBufferDesc};
+
+ let ret = gattServer.sendResponse(serverResponse);
+ if (ret) {
+ console.log('bluetooth sendResponse successfully');
+ } else {
+ console.log('bluetooth sendResponse failed');
+ }
+}
+
+let gattServer = bluetooth.BLE.createGattServer();
+gattServer.on("descriptorRead", WriteDescriptorReq);
+```
+
+
+### off('descriptorWrite')
+
+off(type: "descriptorWrite", callback?: Callback<DescriptorWriteReq>): void
+
+server端取消订阅描述符写请求事件。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| type | string | 是 | 填写"descriptorWrite"字符串,表示描述符写请求事件。 |
+| callback | Callback<[DescriptorWriteReq](#descriptorwritereq)> | 否 | 表示取消订阅描述符读请求事件上报。不填该参数则取消订阅该type对应的所有回调。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+let gattServer = bluetooth.BLE.createGattServer();
+gattServer.off("descriptorWrite");
+```
+
+
+### on('connectStateChange')
+
+on(type: "connectStateChange", callback: Callback<BLEConnectChangedState>): void
+
+server端订阅BLE连接状态变化事件。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| type | string | 是 | 填写"connectStateChange"字符串,表示BLE连接状态变化事件。 |
+| callback | Callback<[BLEConnectChangedState](#bleconnectchangedstate)> | 是 | 表示回调函数的入参,连接状态。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+function Connected(BLEConnectChangedState) {
+ let deviceId = BLEConnectChangedState.deviceId;
+ let status = BLEConnectChangedState.state;
+}
+
+let gattServer = bluetooth.BLE.createGattServer();
+gattServer.on("connectStateChange", Connected);
+```
+
+
+### off('connectStateChange')
+
+off(type: "connectStateChange", callback?: Callback<BLEConnectChangedState>): void
+
+server端取消订阅BLE连接状态变化事件。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| type | string | 是 | 填写"connectStateChange"字符串,表示BLE连接状态变化事件。 |
+| callback | Callback<[BLEConnectChangedState](#bleconnectchangedstate)> | 否 | 表示取消订阅BLE连接状态变化事件。不填该参数则取消订阅该type对应的所有回调。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+let gattServer = bluetooth.BLE.createGattServer();
+gattServer.off("connectStateChange");
+```
+
+
+## GattClientDevice
+
+client端类,使用client端方法之前需要创建该类的实例进行操作,通过createGattClientDevice(deviceId: string)方法构造此实例。
+
+
+### connect
+
+connect(): boolean
+
+client端发起连接远端蓝牙低功耗设备。
+
+**返回值:**
+
+| 类型 | 说明 |
+| -------- | -------- |
+| boolean | 连接操作成功返回true,操作失败返回false。 |
+
+**示例:**
+
+```
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+let ret = device.connect();
+```
+
+
+### disconnect
+
+disconnect(): boolean
+
+client端断开与远端蓝牙低功耗设备的连接。
+
+**返回值:**
+
+| 类型 | 说明 |
+| -------- | -------- |
+| boolean | 连接操作,成功返回true,操作失败返回false。 |
+
+**示例:**
+
+```
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+let ret = device.disconnect();
+```
+
+
+### close
+
+close(): boolean
+
+关闭客户端功能,注销client在协议栈的注册,调用该接口后[GattClientDevice](#gattclientdevice)实例将不能再使用。
+
+**返回值:**
+
+| 类型 | 说明 |
+| -------- | -------- |
+| boolean | 关闭操作,成功返回true,操作失败返回false。 |
+
+**示例:**
+
+```
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+let ret = device.close();
+```
+
+
+
+
+### getServices
+
+getServices(callback: AsyncCallback<Array<GattService>>): void
+
+client端获取蓝牙低功耗设备的所有服务,即服务发现 。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| callback | AsyncCallback<Array<[GattService](#gattservice)>> | 是 | client进行服务发现,通过注册回调函数获取。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+// callkback 模式
+function getServices(code, gattServices) {
+ if (code.code == 0) {
+ let services = gattServices;
+ console.log('bluetooth code is ' + code.code);
+ console.log("bluetooth services size is ", services.length);
+
+ for (let i = 0; i < services.length; i++) {
+ console.log('bluetooth serviceUuid is ' + services[i].serviceUuid);
+ }
+ }
+}
+
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+device.connect();
+device.getServices(getServices);
+```
+
+
+### getServices
+
+getServices(): Promise<Array<GattService>>
+
+client端获取蓝牙低功耗设备的所有服务,即服务发现。
+
+**参数:**
+
+**返回值:**
+
+| 类型 | 说明 |
+| -------- | -------- |
+| Promise<Array<[GattService](#gattservice)>> | client进行服务发现,通过promise形式获取。 |
+
+**示例:**
+
+```
+// Promise 模式
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+device.connect();
+let services = device.getServices();
+console.log("bluetooth services size is ", services.length);
+
+for (let i = 0; i < services.length; i++) {
+ console.log('bluetooth serviceUuid is ' + services[i].serviceUuid);
+}
+```
+
+
+### readCharacteristicValue
+
+readCharacteristicValue(characteristic: BLECharacteristic, callback: AsyncCallback<BLECharacteristic>): void
+
+client端读取蓝牙低功耗设备特定服务的特征值。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| characteristic | [BLECharacteristic](#blecharacteristic) | 是 | 待读取的特征值。 |
+| callback | AsyncCallback<[BLECharacteristic](#blecharacteristic)> | 是 | client读取特征值,通过注册回调函数获取。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+function readCcc(code, BLECharacteristic) {
+ if (code.code != 0) {
+ return;
+ }
+ console.log('bluetooth characteristic uuid: ' + BLECharacteristic.characteristicUuid);
+ let value = new Uint8Array(BLECharacteristic.characteristicValue);
+ console.log('bluetooth characteristic value: ' + value[0] +','+ value[1]+','+ value[2]+','+ value[3]);
+}
+
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+let descriptors = [];
+let bufferDesc = new ArrayBuffer(8);
+let descV = new Uint8Array(bufferDesc);
+descV[0] = 11;
+let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
+characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
+descriptorUuid: '00002903-0000-1000-8000-00805F9B34FB', descriptorValue: bufferDesc};
+descriptors[0] = descriptor;
+
+let bufferCCC = new ArrayBuffer(8);
+let cccV = new Uint8Array(bufferCCC);
+cccV[0] = 1;
+let characteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
+characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
+characteristicValue: bufferCCC, descriptors:descriptors};
+
+device.readCharacteristicValue(characteristic, readCcc);
+```
+
+
+### readCharacteristicValue
+
+readCharacteristicValue(characteristic: BLECharacteristic): Promise<BLECharacteristic>
+
+client端读取蓝牙低功耗设备特定服务的特征值。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| characteristic | [BLECharacteristic](#blecharacteristic) | 是 | 待读取的特征值。 |
+
+**返回值:**
+
+| | |
+| -------- | -------- |
+| 类型 | 说明 |
+| Promise<[BLECharacteristic](#blecharacteristic)> | client读取特征值,通过promise形式获取。 |
+
+**示例:**
+
+```
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+let descriptors = [];
+let bufferDesc = new ArrayBuffer(8);
+let descV = new Uint8Array(bufferDesc);
+descV[0] = 11;
+let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
+characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
+descriptorUuid: '00002903-0000-1000-8000-00805F9B34FB', descriptorValue: bufferDesc};
+descriptors[0] = descriptor;
+
+let bufferCCC = new ArrayBuffer(8);
+let cccV = new Uint8Array(bufferCCC);
+cccV[0] = 1;
+let characteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
+characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
+characteristicValue: bufferCCC, descriptors:descriptors};
+
+device.readCharacteristicValue(characteristic);
+```
+
+
+### readDescriptorValue
+
+readDescriptorValue(descriptor: BLEDescriptor, callback: AsyncCallback<BLEDescriptor>): void
+
+client端读取蓝牙低功耗设备特定的特征包含的描述符。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| descriptor | [BLEDescriptor](#bledescriptor) | 是 | 待读取的描述符。 |
+| callback | AsyncCallback<[BLECharacteristic](#blecharacteristic)> | 是 | client读取描述符,通过注册回调函数获取。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+function readDesc(code, BLEDescriptor) {
+ if (code.code != 0) {
+ return;
+ }
+ console.log('bluetooth descriptor uuid: ' + BLEDescriptor.descriptorUuid);
+ let value = new Uint8Array(BLEDescriptor.descriptorValue);
+ console.log('bluetooth descriptor value: ' + value[0] +','+ value[1]+','+ value[2]+','+ value[3]);
+}
+
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+let bufferDesc = new ArrayBuffer(8);
+let descV = new Uint8Array(bufferDesc);
+descV[0] = 11;
+let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
+ characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
+ descriptorUuid: '00002903-0000-1000-8000-00805F9B34FB', descriptorValue: bufferDesc};
+device.readDescriptorValue(descriptor, readDesc);
+```
+
+
+### readDescriptorValue
+
+readDescriptorValue(descriptor: BLEDescriptor): Promise<BLEDescriptor>
+
+client端读取蓝牙低功耗设备特定的特征包含的描述符。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| descriptor | [BLEDescriptor](#bledescriptor) | 是 | 待读取的描述符。 |
+
+**返回值:**
+
+| | |
+| -------- | -------- |
+| 类型 | 说明 |
+| Promise<[BLEDescriptor](#bledescriptor)> | client读取描述符,通过promise形式获取。 |
+
+**示例:**
+
+```
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+let bufferDesc = new ArrayBuffer(8);
+let descV = new Uint8Array(bufferDesc);
+descV[0] = 11;
+let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
+ characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
+ descriptorUuid: '00002903-0000-1000-8000-00805F9B34FB', descriptorValue: bufferDesc};
+device.readDescriptorValue(descriptor);
+```
+
+
+### writeCharacteristicValue
+
+writeCharacteristicValue(characteristic: BLECharacteristic): boolean
+
+client端向低功耗蓝牙设备写入特定的特征值。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| characteristic | [BLECharacteristic](#blecharacteristic) | 是 | 蓝牙设备特征对应的二进制值及其它参数。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| -------- | -------- |
+| boolean | 写特征值操作成功返回true,操作失败返回false。 |
+
+**示例:**
+
+```
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+let descriptors = [];
+let bufferDesc = new ArrayBuffer(8);
+let descV = new Uint8Array(bufferDesc);
+descV[0] = 11;
+let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
+ characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
+ descriptorUuid: '00002903-0000-1000-8000-00805F9B34FB', descriptorValue: bufferDesc};
+descriptors[0] = descriptor;
+
+let bufferCCC = new ArrayBuffer(8);
+let cccV = new Uint8Array(bufferCCC);
+cccV[0] = 1;
+let characteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
+ characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
+ characteristicValue: bufferCCC, descriptors:descriptors};
+let retWriteCcc = device.writeCharacteristicValue(characteristic);
+if (retWriteCcc) {
+ console.log('write characteristic successfully');
+} else {
+ console.log('write characteristic failed');
+}
+```
+
+
+### writeDescriptorValue
+
+writeDescriptorValue(descriptor: BLEDescriptor): boolean
+
+client端向低功耗蓝牙设备特定的描述符写入二进制数据。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| descriptor | [BLEDescriptor](#bledescriptor) | 是 | 蓝牙设备描述符的二进制值及其它参数。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| -------- | -------- |
+| boolean | 写描述符操作成功返回true,操作失败返回false。 |
+
+**示例:**
+
+```
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+let bufferDesc = new ArrayBuffer(8);
+let descV = new Uint8Array(bufferDesc);
+descV[0] = 22;
+let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
+ characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
+ descriptorUuid: '00002903-0000-1000-8000-00805F9B34FB', descriptorValue: bufferDesc};
+let retWriteDesc = device.writeDescriptorValue(descriptor);
+if (retWriteDesc) {
+ console.log('bluetooth write descriptor successfully');
+} else {
+ console.log('bluetooth write descriptor failed');
+}
+```
+
+
+### setBLEMtuSize
+
+setBLEMtuSize(mtu: number): boolean
+
+client协商远端蓝牙低功耗设备的最大传输单元(Maximum Transmission Unit, MTU),调用connect接口连接成功后才能使用。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| mtu | number | 是 | 设置范围为22~512字节。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| -------- | -------- |
+| boolean | MTU协商操作成功返回true,操作失败返回false。 |
+
+**示例:**
+
+```
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+device.setBLEMtuSize(128);
+```
+
+
+### setNotifyCharacteristicChanged
+
+setNotifyCharacteristicChanged(characteristic: BLECharacteristic, enable: boolean): boolean
+
+向服务端发送设置通知此特征值请求。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| characteristic | [BLECharacteristic](#blecharacteristic) | 是 | 蓝牙低功耗特征。 |
+| enable | boolean | 是 | 启用接收notify设置为true,否则设置为false。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| -------- | -------- |
+| boolean | 设置操作成功返回true,操作失败返回false。 |
+
+**示例:**
+
+```
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+device.setNotifyCharacteristicChanged(notifyCcc, false);
+```
+
+
+### on('BLECharacteristicChange')
+
+on(type: "BLECharacteristicChange", callback: Callback<BLECharacteristic>): void
+
+订阅蓝牙低功耗设备的特征值变化事件。需要先调用setNotifyCharacteristicChanged接口才能接收server端的通知。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| type | string | 是 | 填写"BLECharacteristicChange"字符串,表示特征值变化事件。 |
+| callback | Callback<[BLECharacteristic](#blecharacteristic)> | 是 | 表示蓝牙低功耗设备的特征值变化事件的回调函数。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+function CharacteristicChange(CharacteristicChangeReq) {
+ let serviceUuid = CharacteristicChangeReq.serviceUuid;
+ let characteristicUuid = CharacteristicChangeReq.characteristicUuid;
+ let value = new Uint8Array(CharacteristicChangeReq.characteristicValue);
+}
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+device.on('BLECharacteristicChange', CharacteristicChange);
+```
+
+
+### off('BLECharacteristicChange')
+
+off(type: "BLECharacteristicChange", callback?: Callback<BLECharacteristic>): void
+
+取消订阅蓝牙低功耗设备的特征值变化事件。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| type | string | 是 | 填写"BLECharacteristicChange"字符串,表示特征值变化事件。 |
+| callback | Callback<[BLECharacteristic](#blecharacteristic)> | 否 | 表示取消订阅蓝牙低功耗设备的特征值变化事件。不填该参数则取消订阅该type对应的所有回调。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+device.off('BLECharacteristicChange');
+```
+
+
+### on('BLEConnectionStateChange')
+
+on(type: "BLEConnectionStateChange", callback: Callback<BLEConnectChangedState>): void
+
+client端订阅蓝牙低功耗设备的连接状态变化事件。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| type | string | 是 | 填写"BLEConnectionStateChange"字符串,表示连接状态变化事件。 |
+| callback | Callback<[BLEConnectChangedState](#bleconnectchangedstate)> | 是 | 表示连接状态,已连接或断开。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+function ConnectStateChanged(state) {
+ console.log('bluetooth connect state changed');
+ let connectState = state.state;
+}
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+device.on('BLEConnectionStateChange', ConnectStateChanged);
+```
+
+
+### off('BLEConnectionStateChange')
+
+off(type: "BLEConnectionStateChange", callback?: Callback<BLEConnectChangedState>): void
+
+取消订阅蓝牙低功耗设备的连接状态变化事件。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| type | string | 是 | 填写"BLEConnectionStateChange"字符串,表示连接状态变化事件。 |
+| callback | Callback<[BLEConnectChangedState](#bleconnectchangedstate)> | 否 | 表示取消订阅蓝牙低功耗设备的连接状态变化事件。不填该参数则取消订阅该type对应的所有回调。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+let device = bluetooth.BLE.createGattClientDevice('8F:8F:8E:8E:6D:6D');
+device.off('BLEConnectionStateChange');
+```
+
+
+### getDeviceName
+
+getDeviceName(callback: AsyncCallback<string>): void
+
+client获取远端蓝牙低功耗设备名。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| callback | AsyncCallback<string> | 是 | client获取对端server设备名,通过注册回调函数获取。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+// callback
+let gattClient = bluetooth.BLE.createGattClientDevice("8F:8F:8E:8E:6D:6D");
+let deviceName = gattClient.getDeviceName((err, data)=> {
+ console.info('device name err ' + JSON.stringify(err));
+ console.info('device name' + JSON.stringify(data));
+})
+```
+
+
+### getDeviceName
+
+getDeviceName(): Promise<string>
+
+client获取远端蓝牙低功耗设备名。
+
+**返回值:**
+
+| 类型 | 说明 |
+| -------- | -------- |
+| Promise<string> | client获取对端server设备名,通过promise形式获取。 |
+
+**示例:**
+
+```
+// promise
+let gattClient = bluetooth.BLE.createGattClientDevice("8F:8F:8E:8E:6D:6D");
+let ret = device.connect();
+let deviceName = gattClient.getDeviceName().then((data) => {
+ console.info('device name' + JSON.stringify(data));
+})
+```
+
+
+### getRssiValue
+
+getRssiValue(callback: AsyncCallback<number>): void
+
+client获取远端蓝牙低功耗设备的信号强度 (Received Signal Strength Indication, RSSI),调用[connect](#connect-boolean)接口连接成功后才能使用。
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | -------- | -------- |
+| callback | AsyncCallback<number> | 是 | 返回信号强度,单位 dBm,通过注册回调函数获取。 |
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+// callback
+let gattClient = bluetooth.BLE.createGattClientDevice("8F:8F:8E:8E:6D:6D");
+let ret = device.connect();
+let rssi = gattClient.getRssiValue((err, data)=> {
+ console.info('rssi err ' + JSON.stringify(err));
+ console.info('rssi value' + JSON.stringify(data));
+})
+```
+
+
+### getRssiValue
+
+getRssiValue(): Promise<number>
+
+client获取远端蓝牙低功耗设备的信号强度 (Received Signal Strength Indication, RSSI),调用[connect](#connect-boolean)接口连接成功后才能使用。
+
+**返回值:**
+
+| 类型 | 说明 |
+| -------- | -------- |
+| Promise<number> | 返回信号强度,单位 dBm,通过promise形式获取。 |
+
+**示例:**
+
+```
+// promise
+let gattClient = bluetooth.BLE.createGattClientDevice("8F:8F:8E:8E:6D:6D");
+let rssi = gattClient.getRssiValue().then((data) => {
+ console.info('rssi' + JSON.stringify(data));
+})
+```
+
+
+## ScanMode
+
+枚举,扫描模式。
+
+| 名称 | 默认值 | 说明 |
+| -------- | -------- | -------- |
+| SCAN_MODE_NONE | 0 | 没有扫描模式。 |
+| SCAN_MODE_CONNECTABLE | 1 | 可连接扫描模式。 |
+| SCAN_MODE_GENERAL_DISCOVERABLE | 2 | general发现模式。 |
+| SCAN_MODE_LIMITED_DISCOVERABLE | 3 | limited发现模式。 |
+| SCAN_MODE_CONNECTABLE_GENERAL_DISCOVERABLE | 4 | 可连接general发现模式。 |
+| SCAN_MODE_CONNECTABLE_LIMITED_DISCOVERABLE | 5 | 可连接limited发现模式。 |
+
+
+## BondState
+
+枚举,配对状态。
+
+| 名称 | 默认值 | 说明 |
+| -------- | -------- | -------- |
+| BOND_STATE_INVALID | 0 | 无效的配对。 |
+| BOND_STATE_BONDING | 1 | 正在配对。 |
+| BOND_STATE_BONDED | 2 | 已配对。 |
+
+
+## SppOption
+
+描述spp的配置参数。
+
+| 名称 | 参数类型 | 可读 | 可写 | 说明 |
+| -------- | -------- | -------- | -------- | -------- |
+| uuid | string | 是 | 是 | spp单据的uuid。 |
+| isPrimary | boolean | 是 | 是 | 是否是安全通道。 |
+| type | [ERROR:Invalid link:zh-cn_topic_0000001193344974.xml#xref2575mcpsimp,link:#SppType](#SppType) | 是 | 是 | Spp链路类型。 |
+
+
+## SppType
+
+枚举,Spp链路类型。
+
+| 名称 | 默认值 | 说明 |
+| -------- | -------- | -------- |
+| SPP_RFCOMM | 0 | 表示rfcomm链路类型。 |
+
+
+## GattService
+
+描述service的接口参数定义。
+
+| 名称 | 参数类型 | 可读 | 可写 | 说明 |
+| -------- | -------- | -------- | -------- | -------- |
+| serviceUuid | string | 是 | 是 | 特定服务(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 |
+| isPrimary | boolean | 是 | 是 | 如果是主服务设置为true,否则设置为false。 |
+| characteristics | Array<[ERROR:Invalid link:zh-cn_topic_0000001193344974.xml#xref2628mcpsimp,link:#BLECharacteristic](#BLECharacteristic)> | 是 | 是 | 当前服务包含的特征列表。 |
+| includeServices | Array<[ERROR:Invalid link:zh-cn_topic_0000001193344974.xml#xref2635mcpsimp,link:#GattService](#GattService)> | 是 | 是 | 当前服务依赖的其它服务。 |
+
+
+## BLECharacteristic
+
+描述characteristic的接口参数定义 。
+
+| 名称 | 参数类型 | 可读 | 可写 | 说明 |
+| -------- | -------- | -------- | -------- | -------- |
+| serviceUuid | string | 是 | 是 | 特定服务(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 |
+| characteristicUuid | string | 是 | 是 | 特定特征(characteristic)的UUID,例如:00002a11-0000-1000-8000-00805f9b34fb。 |
+| characteristicValue | ArrayBuffer | 是 | 是 | 特征对应的二进制值。 |
+| descriptors | Array<[ERROR:Invalid link:zh-cn_topic_0000001193344974.xml#xref2677mcpsimp,link:#BLEDescriptor](#BLEDescriptor)> | 是 | 是 | 特定特征的描述符列表。 |
+
+
+## BLEDescriptor
+
+描述descriptor的接口参数定义 。
+
+| 名称 | 参数类型 | 可读 | 可写 | 说明 |
+| -------- | -------- | -------- | -------- | -------- |
+| serviceUuid | string | 是 | 是 | 特定服务(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 |
+| characteristicUuid | string | 是 | 是 | 特定特征(characteristic)的UUID,例如:00002a11-0000-1000-8000-00805f9b34fb。 |
+| descriptorUuid | string | 是 | 是 | 描述符(descriptor)的UUID,例如:00002902-0000-1000-8000-00805f9b34fb。 |
+| descriptorValue | ArrayBuffer | 是 | 是 | 描述符对应的二进制值。 |
+
+
+## NotifyCharacteristic
+
+描述server端特征值变化时发送的特征通知参数定义。
+
+| 名称 | 参数类型 | 可读 | 可写 | 说明 |
+| -------- | -------- | -------- | -------- | -------- |
+| serviceUuid | string | 是 | 是 | 特定服务(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 |
+| characteristicUuid | string | 是 | 是 | 特定特征(characteristic)的UUID,例如:00002a11-0000-1000-8000-00805f9b34fb。 |
+| characteristicValue | ArrayBuffer | 是 | 是 | 特征对应的二进制值。 |
+| confirm | boolean | 是 | 是 | 如果是notification则对端回复确认设置为true,如果是indication则对端不需要回复确认设置为false。 |
+
+
+## CharacteristicReadReq
+
+描述server端订阅后收到的特征值读请求事件参数结构。
+
+| 名称 | 参数类型 | 可读 | 可写 | 说明 |
+| -------- | -------- | -------- | -------- | -------- |
+| deviceId | string | 是 | 否 | 表示发送特征值读请求的远端设备地址,例如:"8F:8F:8E:8E:6D:6D"。 |
+| transId | number | 是 | 否 | 表示读请求的传输ID,server端回复响应时需填写相同的传输ID。 |
+| offset | number | 是 | 否 | 表示读特征值数据的起始位置。例如:k表示从第k个字节开始读,server端回复响应时需填写相同的offset。 |
+| characteristicUuid | string | 是 | 否 | 特定特征(characteristic)的UUID,例如:00002a11-0000-1000-8000-00805f9b34fb。 |
+| serviceUuid | string | 是 | 否 | 特定服务(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 |
+
+
+## CharacteristicWriteReq
+
+描述server端订阅后收到的特征值写请求事件参数结构。
+
+| 名称 | 参数类型 | 可读 | 可写 | 说明 |
+| -------- | -------- | -------- | -------- | -------- |
+| deviceId | string | 是 | 否 | 表示发送特征值写请求的远端设备地址,例如:"8F:8F:8E:8E:6D:6D"。 |
+| transId | number | 是 | 否 | 表示写请求的传输ID,server端回复响应时需填写相同的传输ID。 |
+| offset | number | 是 | 否 | 表示写特征值数据的起始位置。例如:k表示从第k个字节开始写,server端回复响应时需填写相同的offset。 |
+| descriptorUuid | string | 是 | 否 | 表示描述符(descriptor)的UUID,例如:00002902-0000-1000-8000-00805f9b34fb。 |
+| characteristicUuid | string | 是 | 否 | 特定特征(characteristic)的UUID,例如:00002a11-0000-1000-8000-00805f9b34fb。 |
+| serviceUuid | string | 是 | 否 | 特定服务(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 |
+
+
+## DescriptorReadReq
+
+描述server端订阅后收到的描述符读请求事件参数结构。
+
+| 名称 | 参数类型 | 可读 | 可写 | 说明 |
+| -------- | -------- | -------- | -------- | -------- |
+| deviceId | string | 是 | 否 | 表示发送描述符读请求的远端设备地址,例如:"8F:8F:8E:8E:6D:6D"。 |
+| transId | number | 是 | 否 | 表示读请求的传输ID,server端回复响应时需填写相同的传输ID。 |
+| offset | number | 是 | 否 | 表示读描述符数据的起始位置。例如:k表示从第k个字节开始读,server端回复响应时需填写相同的offset。 |
+| descriptorUuid | string | 是 | 否 | 表示描述符(descriptor)的UUID,例如:00002902-0000-1000-8000-00805f9b34fb。 |
+| characteristicUuid | string | 是 | 否 | 特定特征(characteristic)的UUID,例如:00002a11-0000-1000-8000-00805f9b34fb。 |
+| serviceUuid | string | 是 | 否 | 特定服务(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 |
+
+
+## DescriptorWriteReq
+
+描述server端订阅后收到的描述符写请求事件参数结构。
+
+| 名称 | 参数类型 | 可读 | 可写 | 说明 |
+| -------- | -------- | -------- | -------- | -------- |
+| deviceId | string | 是 | 否 | 表示发送描述符写请求的远端设备地址,例如:"8F:8F:8E:8E:6D:6D"。 |
+| transId | number | 是 | 否 | 表示写请求的传输ID,server端回复响应时需填写相同的传输ID。 |
+| offset | number | 是 | 否 | 表示写描述符数据的起始位置。例如:k表示从第k个字节开始写,server端回复响应时需填写相同的offset。 |
+| isPrep | boolean | 是 | 否 | 表示写请求是否立即执行。 |
+| needRsp | boolean | 是 | 否 | 表示是否要给client端回复响应。 |
+| value | ArrayBuffer | 是 | 否 | 表示写入的描述符二进制数据。 |
+| descriptorUuid | string | 是 | 否 | 表示描述符(descriptor)的UUID,例如:00002902-0000-1000-8000-00805f9b34fb。 |
+| characteristicUuid | string | 是 | 否 | 特定特征(characteristic)的UUID,例如:00002a11-0000-1000-8000-00805f9b34fb。 |
+| serviceUuid | string | 是 | 否 | 特定服务(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 |
+
+
+## ServerResponse
+
+描述server端回复client端读/写请求的响应参数结构。
+
+| 名称 | 参数类型 | 可读 | 可写 | 说明 |
+| -------- | -------- | -------- | -------- | -------- |
+| deviceId | string | 是 | 否 | 表示远端设备地址,例如:"8F:8F:8E:8E:6D:6D"。 |
+| transId | number | 是 | 否 | 表示请求的传输ID,与订阅的读/写请求事件携带的ID保持一致。 |
+| status | number | 是 | 否 | 表示响应的状态,设置为0即可,表示正常。 |
+| offset | number | 是 | 否 | 表示请求的读/写起始位置,与订阅的读/写请求事件携带的offset保持一致。 |
+| value | ArrayBuffer | 是 | 否 | 表示回复响应的二进制数据。 |
+
+
+## BLEConnectChangedState
+
+描述Gatt profile连接状态 。
+
+| 名称 | 参数类型 | 可读 | 可写 | 说明 |
+| -------- | -------- | -------- | -------- | -------- |
+| deviceId | string | 是 | 否 | 表示远端设备地址,例如:"8F:8F:8E:8E:6D:6D"。 |
+| state | [ERROR:Invalid link:zh-cn_topic_0000001193344974.xml#xref3060mcpsimp,link:#ProfileConnectionState](#ProfileConnectionState) | 是 | 是 | 表示BLE连接状态的枚举。 |
+
+
+## ProfileConnectionState
+
+枚举,蓝牙设备的profile连接状态。
+
+| 名称 | 默认值 | 说明 |
+| -------- | -------- | -------- |
+| STATE_DISCONNECTED | 0 | 表示profile已断连。 |
+| STATE_CONNECTING | 1 | 表示profile正在连接。 |
+| STATE_CONNECTED | 2 | 表示profile已连接。 |
+| STATE_DISCONNECTING | 3 | 表示profile正在断连。 |
+
+
+## ScanFilter
+
+扫描过滤参数。
+
+| 名称 | 参数类型 | 可读 | 可写 | 说明 |
+| -------- | -------- | -------- | -------- | -------- |
+| deviceId | string | 是 | 是 | 表示过滤的BLE设备地址,例如:"8F:8F:8E:8E:6D:6D"。 |
+| name | string | 是 | 是 | 表示过滤的BLE设备名。 |
+| serviceUuid | string | 是 | 是 | 表示过滤包含该UUID服务的设备,例如:00001888-0000-1000-8000-00805f9b34fb。 |
+
+
+## ScanOptions
+
+扫描的配置参数。
+
+| 名称 | 参数类型 | 可读 | 可写 | 说明 |
+| -------- | -------- | -------- | -------- | -------- |
+| interval | number | 是 | 是 | 表示扫描结果上报延迟时间,默认值为0。 |
+| dutyMode | [ERROR:Invalid link:zh-cn_topic_0000001193344974.xml#xref3154mcpsimp,link:#ScanDuty](#ScanDuty) | 是 | 是 | 表示扫描模式,默认值为SCAN_MODE_LOW_POWER。 |
+| matchMode | [ERROR:Invalid link:zh-cn_topic_0000001193344974.xml#xref3161mcpsimp,link:#MatchMode](#MatchMode) | 是 | 是 | 表示硬件的过滤匹配模式,默认值为MATCH_MODE_AGGRESSIVE。 |
+
+
+## ScanDuty
+
+枚举,扫描模式。
+
+| 名称 | 默认值 | 说明 |
+| -------- | -------- | -------- |
+| SCAN_MODE_LOW_POWER | 0 | 表示低功耗模式,默认值。 |
+| SCAN_MODE_BALANCED | 1 | 表示均衡模式。 |
+| SCAN_MODE_LOW_LATENCY | 2 | 表示低延迟模式。 |
+
+
+## MatchMode
+
+枚举,硬件过滤匹配模式。
+
+| 名称 | 默认值 | 说明 |
+| -------- | -------- | -------- |
+| MATCH_MODE_AGGRESSIVE | 1 | 表示硬件上报扫描结果门限较低,比如扫描到的功率较低或者一段时间扫描到的次数较少也触发上报,默认值。 |
+| SCAN_MODE_LOW_LATENCY | 2 | 表示硬件上报扫描结果门限较高,更高的功率门限以及扫描到多次才会上报。 |
+
+
+## ScanResult
+
+扫描结果上报数据。
+
+| 名称 | 参数类型 | 可读 | 可写 | 说明 |
+| -------- | -------- | -------- | -------- | -------- |
+| deviceId | string | 是 | 否 | 表示扫描到的设备地址,例如:"8F:8F:8E:8E:6D:6D"。 |
+| rssi | number | 是 | 否 | 表示扫描到的设备的rssi值。 |
+| data | ArrayBuffer | 是 | 否 | 表示扫描到的设备发送的广播包。 |
+
+
+## BluetoothState
+
+枚举,蓝牙开关状态。
+
+| 名称 | 默认值 | 说明 |
+| -------- | -------- | -------- |
+| STATE_OFF | 0 | 表示蓝牙已关闭。 |
+| STATE_TURNING_ON | 1 | 表示蓝牙正在打开。 |
+| STATE_ON | 2 | 表示蓝牙已打开。 |
+| STATE_TURNING_OFF | 3 | 表示蓝牙正在关闭。 |
+| STATE_BLE_TURNING_ON | 4 | 表示蓝牙正在打开LE-only模式。 |
+| STATE_BLE_ON | 5 | 表示蓝牙正处于LE-only模式。 |
+| STATE_BLE_TURNING_OFF | 6 | 表示蓝牙正在关闭LE-only模式。 |
+
+
+## AdvertiseSetting
+
+描述蓝牙低功耗设备发送广播的参数。
+
+| 名称 | 参数类型 | 可读 | 可写 | 说明 |
+| -------- | -------- | -------- | -------- | -------- |
+| interval | number | 是 | 是 | 表示广播间隔,最小值设置32个slot表示20ms,最大值设置16777215个slot,默认值设置为1600个slot表示1s。 |
+| txPower | number | 是 | 是 | 表示发送功率,最小值设置-127,最大值设置1,默认值设置-7,单位dbm。 |
+| connectable | boolean | 是 | 是 | 表示是否是可连接广播,默认值设置为true。 |
+
+
+## AdvertiseData
+
+描述BLE广播数据包的内容。
+
+| 名称 | 参数类型 | 可读 | 可写 | 说明 |
+| -------- | -------- | -------- | -------- | -------- |
+| serviceUuids | Array<string> | 是 | 是 | 表示要广播的服务 UUID 列表。 |
+| manufactureData | Array<[ERROR:Invalid link:zh-cn_topic_0000001193344974.xml#xref3348mcpsimp,link:#ManufactureData](#ManufactureData)> | 是 | 是 | 表示要广播的广播的制造商信息列表。 |
+| serviceData | Array<[ERROR:Invalid link:zh-cn_topic_0000001193344974.xml#xref3355mcpsimp,link:#ServiceData](#ServiceData)> | 是 | 是 | 表示要广播的服务数据列表。 |
+
+
+## ManufactureData
+
+描述BLE广播数据包的内容。
+
+| 名称 | 参数类型 | 可读 | 可写 | 说明 |
+| -------- | -------- | -------- | -------- | -------- |
+| manufactureId | Array<string> | 是 | 是 | 表示制造商的ID,由蓝牙SIG分配。 |
+| manufactureValue | ArrayBuffer | 是 | 是 | 表示制造商发送的制造商数据。 |
+
+
+## ServiceData
+
+描述广播包中服务数据内容。
+
+| 名称 | 参数类型 | 可读 | 可写 | 说明 |
+| -------- | -------- | -------- | -------- | -------- |
+| serviceUuid | string | 是 | 是 | 表示服务的UUID。 |
+| serviceValue | ArrayBuffer | 是 | 是 | 表示服务数据。 |
+
+
+## PinRequiredParam
+
+描述配对请求参数。
+
+| 名称 | 参数类型 | 可读 | 可写 | 说明 |
+| -------- | -------- | -------- | -------- | -------- |
+| deviceId | string | 是 | 否 | 表示要配对的设备ID。 |
+| pinCode | string | 是 | 否 | 表示要配对的密钥。 |
diff --git a/zh-cn/application-dev/reference/arkui-ts/Readme-CN.md b/zh-cn/application-dev/reference/arkui-ts/Readme-CN.md
index ef5825ceb1eedf1962c146f5eaeaff37a2f314b1..64ccb8f1167d0577388bcbd9d6f7fa95ebd178bb 100644
--- a/zh-cn/application-dev/reference/arkui-ts/Readme-CN.md
+++ b/zh-cn/application-dev/reference/arkui-ts/Readme-CN.md
@@ -1,133 +1,133 @@
-# 基于TS扩展的声明式开发范式
-
-- [组件](ts-components.md)
- - [通用](ts-universal-components.md)
- - [通用事件](ts-universal-events.md)
- - [点击事件](ts-universal-events-click.md)
- - [触摸事件](ts-universal-events-touch.md)
- - [挂载卸载事件](ts-universal-events-show-hide.md)
- - [按键事件](ts-universal-events-key.md)
- - [组件区域变化事件](ts-universal-events-component-area-change.md)
-
- - [通用属性](ts-universal-attributes.md)
- - [尺寸设置](ts-universal-attributes-size.md)
- - [位置设置](ts-universal-attributes-location.md)
- - [布局约束](ts-universal-attributes-layout-constraints.md)
- - [Flex布局](ts-universal-attributes-flex-layout.md)
- - [边框设置](ts-universal-attributes-border.md)
- - [背景设置](ts-universal-attributes-background.md)
- - [透明度设置](ts-universal-attributes-opacity.md)
- - [显隐控制](ts-universal-attributes-visibility.md)
- - [禁用控制](ts-universal-attributes-enable.md)
- - [浮层](ts-universal-attributes-overlay.md)
- - [Z序控制](ts-universal-attributes-z-order.md)
- - [图形变换](ts-universal-attributes-transformation.md)
- - [图像效果](ts-universal-attributes-image-effect.md)
- - [形状裁剪](ts-universal-attributes-sharp-clipping.md)
- - [文本样式设置](ts-universal-attributes-text-style.md)
- - [栅格设置](ts-universal-attributes-grid.md)
- - [颜色渐变](ts-universal-attributes-gradient-color.md)
- - [Popup控制](ts-universal-attributes-popup.md)
- - [Menu控制](ts-universal-attributes-menu.md)
- - [点击控制](ts-universal-attributes-touchable.md)
- - [触摸热区设置](ts-universal-attributes-response-region.md)
-
- - [手势处理](ts-gesture-processing.md)
- - [绑定手势方法](ts-gesture-settings.md)
- - [基础手势](ts-basic-gestures.md)
- - [TapGesture](ts-basic-gestures-tapgesture.md)
- - [LongPressGesture](ts-basic-gestures-longpressgesture.md)
- - [PanGesture](ts-basic-gestures-pangesture.md)
- - [PinchGesture](ts-basic-gestures-pinchgesture.md)
- - [RotationGesture](ts-basic-gestures-rotationgesture.md)
- - [SwipeGesture](ts-basic-gestures-swipegesture.md)
-
- - [组合手势](ts-combined-gestures.md)
-
- - [基础组件](ts-basic-components.md)
- - [Blank](ts-basic-components-blank.md)
- - [Button](ts-basic-components-button.md)
- - [DataPanel](ts-basic-components-datapanel.md)
- - [Divider](ts-basic-components-divider.md)
- - [Gauge](ts-basic-components-gauge.md)
- - [Image](ts-basic-components-image.md)
- - [ImageAnimator](ts-basic-components-imageanimator.md)
- - [Marquee](ts-basic-components-marquee.md)
- - [Progress](ts-basic-components-progress.md)
- - [QRCode](ts-basic-components-qrcode.md)
- - [Rating](ts-basic-components-rating.md)
- - [Span](ts-basic-components-span.md)
- - [Slider](ts-basic-components-slider.md)
- - [Text](ts-basic-components-text.md)
- - [TextArea](ts-basic-components-textarea.md)
- - [TextInput](ts-basic-components-textinput.md)
- - [Toggle](ts-basic-components-toggle.md)
-
- - [容器组件](ts-components-container.md)
- - [AlphabetIndexer](ts-container-alphabet-indexer.md)
- - [Badge](ts-container-badge.md)
- - [Column](ts-container-column.md)
- - [ColumnSplit](ts-container-columnsplit.md)
- - [Counter](ts-container-counter.md)
- - [Flex](ts-container-flex.md)
- - [GridContainer](ts-container-gridcontainer.md)
- - [Grid](ts-container-grid.md)
- - [GridItem](ts-container-griditem.md)
- - [List](ts-container-list.md)
- - [ListItem](ts-container-listitem.md)
- - [Navigator](ts-container-navigator.md)
- - [Navigation](ts-container-navigation.md)
- - [Panel](ts-container-panel.md)
- - [Row](ts-container-row.md)
- - [RowSplit](ts-container-rowsplit.md)
- - [Scroll](ts-container-scroll.md)
- - [ScrollBar](ts-container-scrollbar.md)
- - [Stack](ts-container-stack.md)
- - [Swiper](ts-container-swiper.md)
- - [Tabs](ts-container-tabs.md)
- - [TabContent](ts-container-tabcontent.md)
- - [Stepper](ts-container-stepper.md)
- - [StepperItem](ts-container-stepperitem.md)
-
- - [绘制组件](ts-drawing-components.md)
- - [Circle](ts-drawing-components-circle.md)
- - [Ellipse](ts-drawing-components-ellipse.md)
- - [Line](ts-drawing-components-line.md)
- - [Polyline](ts-drawing-components-polyline.md)
- - [Polygon](ts-drawing-components-polygon.md)
- - [Path](ts-drawing-components-path.md)
- - [Rect](ts-drawing-components-rect.md)
- - [Shape](ts-drawing-components-shape.md)
-
- - [画布组件](ts-components-canvas.md)
- - [Canvas](ts-components-canvas-canvas.md)
- - [CanvasRenderingContext2D对象](ts-canvasrenderingcontext2d.md)
- - [OffscreenCanvasRenderingConxt2D对象](ts-offscreencanvasrenderingcontext2d.md)
- - [Lottie](ts-components-canvas-lottie.md)
- - [Path2D对象](ts-components-canvas-path2d.md)
- - [CanvasGradient对象](ts-components-canvas-canvasgradient.md)
- - [ImageBitmap对象](ts-components-canvas-imagebitmap.md)
- - [ImageData对象](ts-components-canvas-imagedata.md)
-
-- [动画](ts-animation.md)
- - [属性动画](ts-animatorproperty.md)
- - [显式动画](ts-explicit-animation.md)
- - [转场动画](ts-transition-animation.md)
- - [页面间转场](ts-page-transition-animation.md)
- - [组件内转场](ts-transition-animation-component.md)
- - [共享元素转场](ts-transition-animation-shared-elements.md)
-
- - [路径动画](ts-motion-path-animation.md)
- - [矩阵变换](ts-matrix-transformation.md)
- - [插值计算](ts-interpolation-calculation.md)
-
-- [全局UI方法](ts-global-ui-methods.md)
- - [警告弹窗](ts-methods-alert-dialog-box.md)
- - [自定义弹窗](ts-methods-custom-dialog-box.md)
- - [图片缓存](ts-methods-image-cache.md)
- - [媒体查询](ts-methods-media-query.md)
- - [列表选择弹窗](ts-methods-custom-actionsheet.md)
-
-- [附录](ts-appendix.md)
- - [文档中涉及到的内置枚举值](ts-appendix-enums.md)
+# reference/arkui-ts
+- 组件
+ - 通用
+ - 通用事件
+ - [点击事件](ts-universal-events-click.md)
+ - [触摸事件](ts-universal-events-touch.md)
+ - [挂载卸载事件](ts-universal-events-show-hide.md)
+ - [拖拽事件](ts-universal-events-drag-drop.md)
+ - [按键事件](ts-universal-events-key.md)
+ - [焦点事件](ts-universal-focus-event.md)
+ - [鼠标事件](ts-universal-mouse-key.md)
+ - [组件区域变化事件](ts-universal-component-area-change-event.md)
+ - 通用属性
+ - [尺寸设置](ts-universal-attributes-size.md)
+ - [位置设置](ts-universal-attributes-location.md)
+ - [布局约束](ts-universal-attributes-layout-constraints.md)
+ - [Flex布局](ts-universal-attributes-flex-layout.md)
+ - [边框设置](ts-universal-attributes-border.md)
+ - [背景设置](ts-universal-attributes-background.md)
+ - [透明度设置](ts-universal-attributes-opacity.md)
+ - [显隐控制](ts-universal-attributes-visibility.md)
+ - [禁用控制](ts-universal-attributes-enable.md)
+ - [浮层](ts-universal-attributes-overlay.md)
+ - [Z序控制](ts-universal-attributes-z-order.md)
+ - [图形变换](ts-universal-attributes-transformation.md)
+ - [图像效果](ts-universal-attributes-image-effect.md)
+ - [形状裁剪](ts-universal-attributes-sharp-clipping.md)
+ - [文本样式设置](ts-universal-attributes-text-style.md)
+ - [栅格设置](ts-universal-attributes-grid.md)
+ - [颜色渐变](ts-universal-attributes-gradient-color.md)
+ - [Popup控制](ts-universal-attributes-popup.md)
+ - [Menu控制](ts-universal-attributes-menu.md)
+ - [点击控制](ts-universal-attributes-click.md)
+ - [焦点控制](ts-universal-attributes-focus.md)
+ - [悬浮态效果](ts-universal-attributes-hover-effect.md)
+ - [组件标识](ts-universal-attributes-component-id.md)
+ - [触摸热区设置](ts-universal-attributes-touch-target.md)
+ - [多态样式](ts-universal-attributes-polymorphic-style.md)
+ - 手势处理
+ - [绑定手势方法](ts-gesture-settings.md)
+ - 基础手势
+ - [TapGesture](ts-basic-gestures-tapgesture.md)
+ - [LongPressGesture](ts-basic-gestures-longpressgesture.md)
+ - [PanGesture](ts-basic-gestures-pangesture.md)
+ - [PinchGesture](ts-basic-gestures-pinchgesture.md)
+ - [RotationGesture](ts-basic-gestures-rotationgesture.md)
+ - [SwipeGesture](ts-basic-gestures-swipegesture.md)
+ - [组合手势](ts-combined-gestures.md)
+ - 基础组件
+ - [Blank](ts-basic-components-blank.md)
+ - [Button](ts-basic-components-button.md)
+ - [DataPanel](ts-basic-components-datapanel.md)
+ - [DatePicker](ts-basic-components-datepicker.md)
+ - [Divider](ts-basic-components-divider.md)
+ - [Image](ts-basic-components-image.md)
+ - [ImageAnimator](ts-basic-components-imageanimator.md)
+ - [Progress](ts-basic-components-progress.md)
+ - [QRCode](ts-basic-components-qrcode.md)
+ - [Rating](ts-basic-components-rating.md)
+ - [Span](ts-basic-components-span.md)
+ - [Slider](ts-basic-components-slider.md)
+ - [Text](ts-basic-components-text.md)
+ - [TextArea](ts-basic-components-textarea.md)
+ - [TextInput](ts-basic-components-textinput.md)
+ - [TextPicker](ts-basic-components-textpicker.md)
+ - [TextTimer](ts-basic-components-texttimer.md)
+ - [Toggle](ts-basic-components-toggle.md)
+ - [Select](ts-basic-components-select.md)
+ - [TextClock](ts-basic-components-textClock.md)
+ - 容器组件
+ - [AlphabetIndexer](ts-container-alphabet-indexer.md)
+ - [Badge](ts-container-badge.md)
+ - [Column](ts-container-column.md)
+ - [ColumnSplit](ts-container-columnsplit.md)
+ - [Counter](ts-container-counter.md)
+ - [Flex](ts-container-flex.md)
+ - [GridContainer](ts-container-gridcontainer.md)
+ - [Grid](ts-container-grid.md)
+ - [GridItem](ts-container-griditem.md)
+ - [List](ts-container-list.md)
+ - [ListItem](ts-container-listitem.md)
+ - [Navigator](ts-container-navigator.md)
+ - [Navigation](ts-basic-components-navigation.md)
+ - [Panel](ts-container-panel.md)
+ - [Row](ts-container-row.md)
+ - [RowSplit](ts-container-rowsplit.md)
+ - [Scroll](ts-container-scroll.md)
+ - [ScrollBar](ts-basic-components-scrollbar.md)
+ - [Stack](ts-container-stack.md)
+ - [Swiper](ts-container-swiper.md)
+ - [Tabs](ts-container-tabs.md)
+ - [TabContent](ts-container-tabcontent.md)
+ - 媒体组件
+ - [Video](ts-media-components-video.md)
+ - [Web](ts-media-components-web.md)
+ - 绘制组件
+ - [Circle](ts-drawing-components-circle.md)
+ - [Ellipse](ts-drawing-components-ellipse.md)
+ - [Line](ts-drawing-components-line.md)
+ - [Polyline](ts-drawing-components-polyline.md)
+ - [Polygon](ts-drawing-components-polygon.md)
+ - [Path](ts-drawing-components-path.md)
+ - [Rect](ts-drawing-components-rect.md)
+ - [Shape](ts-drawing-components-shape.md)
+ - 画布组件
+ - [Canvas](ts-components-canvas-canvas.md)
+ - [CanvasRenderingContext2D对象](ts-canvasrenderingcontext2d.md)
+ - [OffscreenCanvasRenderingConxt2D对象](ts-offscreencanvasrenderingcontext2d.md)
+ - [Lottie](ts-components-canvas-lottie.md)
+ - [Path2D对象](ts-components-canvas-path2d.md)
+ - [CanvasGradient对象](ts-components-canvas-canvasgradient.md)
+ - [ImageBitmap对象](ts-components-canvas-imagebitmap.md)
+ - [ImageData对象](ts-components-canvas-imagedata.md)
+- 动画
+ - [属性动画](ts-animatorproperty.md)
+ - [显式动画](ts-explicit-animation.md)
+ - 转场动画
+ - [页面间转场](ts-page-transition-animation.md)
+ - [组件内转场](ts-transition-animation-component.md)
+ - [共享元素转场](ts-transition-animation-shared-elements.md)
+ - [路径动画](ts-motion-path-animation.md)
+ - [矩阵变换](ts-matrix-transformation.md)
+ - [插值计算](ts-interpolation-calculation.md)
+- 全局UI方法
+ - [图片缓存](ts-methods-image-cache.md)
+ - [媒体查询](ts-methods-media-query.md)
+ - 弹窗
+ - [警告弹窗](ts-methods-alert-dialog-box.md)
+ - [列表选择弹窗](ts-methods-action-sheet.md)
+ - [自定义弹窗](ts-methods-custom-dialog-box.md)
+- 附录
+ - [文档中涉及到的内置枚举值](ts-appendix-enums.md)
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/GIF-1.gif b/zh-cn/application-dev/reference/arkui-ts/figures/GIF-1.gif
deleted file mode 100644
index 52fed39eeae057043dbd00abce9ff29d2c35a56a..0000000000000000000000000000000000000000
Binary files a/zh-cn/application-dev/reference/arkui-ts/figures/GIF-1.gif and /dev/null differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/Image1.gif b/zh-cn/application-dev/reference/arkui-ts/figures/Image1.gif
deleted file mode 100644
index 21391680f6080b39cced050c88087a0d241952d9..0000000000000000000000000000000000000000
Binary files a/zh-cn/application-dev/reference/arkui-ts/figures/Image1.gif and /dev/null differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/divider.png b/zh-cn/application-dev/reference/arkui-ts/figures/divider.png
deleted file mode 100644
index 857e773f72d0cd7cd9ae13f50aa843a11aae4f97..0000000000000000000000000000000000000000
Binary files a/zh-cn/application-dev/reference/arkui-ts/figures/divider.png and /dev/null differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/gauge.png b/zh-cn/application-dev/reference/arkui-ts/figures/gauge.png
deleted file mode 100644
index 2eb96b00f11e597fcc3e3d5ef32701e0a4ef5f5b..0000000000000000000000000000000000000000
Binary files a/zh-cn/application-dev/reference/arkui-ts/figures/gauge.png and /dev/null differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/progress.png b/zh-cn/application-dev/reference/arkui-ts/figures/progress.png
deleted file mode 100644
index 0ff7595bc619e62c05376cd7b57a473dde3e9386..0000000000000000000000000000000000000000
Binary files a/zh-cn/application-dev/reference/arkui-ts/figures/progress.png and /dev/null differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/stepper.gif b/zh-cn/application-dev/reference/arkui-ts/figures/stepper.gif
deleted file mode 100644
index 6b44b6a2adc2528e13e95bc10d2a67874226a63b..0000000000000000000000000000000000000000
Binary files a/zh-cn/application-dev/reference/arkui-ts/figures/stepper.gif and /dev/null differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/GestureGroup.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174104384.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/GestureGroup.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174104384.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/scroll.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174104386.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/scroll.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174104386.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/Blank2.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174104388.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/Blank2.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174104388.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/visibility.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174104390.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/visibility.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174104390.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/position2.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174104392.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/position2.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174104392.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/ellipse.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174104394.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/ellipse.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174104394.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/AnimateTo.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174104398.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/AnimateTo.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174104398.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/motion.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174104400.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/motion.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174104400.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/toggle.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174104402.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/toggle.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174104402.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/5.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174104410.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/5.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174104410.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/AttrAnimation.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174264358.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/AttrAnimation.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174264358.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/Tabs.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174264360.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/Tabs.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174264360.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/KeyEvent.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174264364.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/KeyEvent.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174264364.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/flex02.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174264366.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/flex02.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174264366.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/position.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174264368.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/position.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174264368.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/clip.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174264370.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/clip.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174264370.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/RotationGesture.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174264372.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/RotationGesture.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174264372.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/PanGesture.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174264374.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/PanGesture.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174264374.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/list.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174264378.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/list.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174264378.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/LongPressGesture.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174264380.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/LongPressGesture.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174264380.gif
diff --git "a/zh-cn/application-dev/reference/arkui-ts/figures/\346\250\252\345\261\217\346\230\276\347\244\272.gif" b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174264382.gif
similarity index 100%
rename from "zh-cn/application-dev/reference/arkui-ts/figures/\346\250\252\345\261\217\346\230\276\347\244\272.gif"
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174264382.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/size.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174264384.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/size.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174264384.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/rect.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174264386.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/rect.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174264386.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/Panel.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174422896.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/Panel.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174422896.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/1.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174422898.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/1.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174422898.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/TapGesture.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174422900.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/TapGesture.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174422900.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/PageTransition1.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174422902.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/PageTransition1.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174422902.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/Flex04.jpg b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174422904.jpg
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/Flex04.jpg
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174422904.jpg
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/Flex05.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174422906.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/Flex05.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174422906.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/Text2.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174422918.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/Text2.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174422918.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/MediaQuery.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174422920.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/MediaQuery.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174422920.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/alphabetindexer.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174422922.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/alphabetindexer.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174422922.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174422926.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174422926.png
new file mode 100644
index 0000000000000000000000000000000000000000..f2deeb8445fe0f3b66d2b0facbf9e0f0ed9911ca
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174422926.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/AlertDialog.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174582844.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/AlertDialog.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174582844.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/q1.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174582846.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/q1.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174582846.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/PinchGesture.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174582848.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/PinchGesture.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174582848.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/Transition.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174582850.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/Transition.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174582850.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/Flex03.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174582854.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/Flex03.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174582854.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/polygon.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174582856.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/polygon.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174582856.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zIndex.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174582860.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zIndex.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174582860.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/menu.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174582862.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/menu.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174582862.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/griditem.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174582870.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/griditem.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174582870.gif
diff --git "a/zh-cn/application-dev/reference/arkui-ts/figures/\350\256\276\345\244\207\345\256\275\345\272\246\344\270\272SM.png" b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174582872.png
similarity index 100%
rename from "zh-cn/application-dev/reference/arkui-ts/figures/\350\256\276\345\244\207\345\256\275\345\272\246\344\270\272SM.png"
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001174582872.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/slider.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001179613854.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/slider.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001179613854.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/GIF1.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001184400598.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/GIF1.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001184400598.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/2-01.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001184628104.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/2-01.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001184628104.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193075122.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001186585726.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193075122.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001186585726.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/GIF.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001186807708.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/GIF.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001186807708.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/popup.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001187055946.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/popup.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001187055946.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001188742468.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001188742468.gif
new file mode 100644
index 0000000000000000000000000000000000000000..18bc8e9fbfba12c94b617b372b9c85d92c00088a
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001188742468.gif differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/GIF2.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001189624550.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/GIF2.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001189624550.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/GIF4.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001189634870.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/GIF4.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001189634870.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192595194.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192595194.png
deleted file mode 100644
index 348499bc3787a833ab3da5f87500b11c9c93773e..0000000000000000000000000000000000000000
Binary files a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192595194.png and /dev/null differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/duande.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192655288.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/duande.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192655288.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192915178.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192915178.gif
deleted file mode 100644
index b1808e80a0e4d055d54b886ecca3ddc8efa64b9a..0000000000000000000000000000000000000000
Binary files a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192915178.gif and /dev/null differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/GIF-4.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193657126.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/GIF-4.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193657126.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193322850.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872400.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193322850.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872400.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193075180.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872402.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193075180.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872402.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193322910.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872404.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193322910.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872404.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238556395.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872410.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238556395.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872410.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237555167.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872420.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237555167.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872420.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237715159.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872422.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237715159.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872422.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193075164.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872488.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193075164.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872488.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193075168.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872490.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193075168.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872490.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193075172.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872492.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193075172.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872492.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193641084.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872494.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193641084.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872494.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192755178.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872498.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192755178.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872498.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237555173.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872516.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237555173.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872516.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193322872.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872518.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193322872.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872518.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237355121.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872520.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237355121.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872520.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237555163.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872522.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237555163.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872522.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238521019.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872524.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238521019.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872524.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238521021.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872526.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238521021.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872526.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/unnaming-(4).png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872542.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/unnaming-(4).png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872542.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192755174.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872544.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192755174.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193872544.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192755194.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032360.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192755194.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032360.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237715165.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032362.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237715165.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032362.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193737314.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032364.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193737314.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032364.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192595228.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032368.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192595228.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032368.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193481096.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032378.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193481096.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032378.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193481098.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032380.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193481098.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032380.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193802788.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032454.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193802788.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032454.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193802836.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032456.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193802836.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032456.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237555165.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032458.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237555165.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032458.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238401029.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032460.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238401029.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032460.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192595238.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032462.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192595238.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032462.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192915130.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032466.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192915130.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032466.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193482814.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032476.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193482814.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032476.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193482866.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032478.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193482866.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032478.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238476361.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032480.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238476361.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032480.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192915184.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032482.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192915184.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032482.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193641086.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032484.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193641086.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032484.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237475113.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032502.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237475113.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032502.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192915162.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032516.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192915162.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194032516.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193075178.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192346.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193075178.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192346.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238522783.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192348.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238522783.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192348.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193756416.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192354.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193756416.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192354.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237715153.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192356.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237715153.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192356.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237355133.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192366.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237355133.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192366.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192755188.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192368.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192755188.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192368.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238402745.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192432.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238402745.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192432.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238402777.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192434.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238402777.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192434.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237475123.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192436.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237475123.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192436.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193481094.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192438.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193481094.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192438.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237355131.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192440.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237355131.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192440.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237475137.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192446.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237475137.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192446.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192595232.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192454.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192595232.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192454.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193642848.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192456.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193642848.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192456.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/11111-5.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192458.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/11111-5.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192458.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192595224.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192460.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192595224.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192460.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193075166.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192462.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193075166.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192462.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193075134.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192464.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193075134.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192464.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192595214.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192488.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192595214.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194192488.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352336.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352336.png
new file mode 100644
index 0000000000000000000000000000000000000000..45be809bdb14e8badfaac2dc8e2486864d29f763
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352336.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352338.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352338.png
new file mode 100644
index 0000000000000000000000000000000000000000..5eecca641660f12e3ad2ba7b97b97eca253a4acf
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352338.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352352.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352352.png
new file mode 100644
index 0000000000000000000000000000000000000000..5d649492978121a484c2a7a55d4548384c919149
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352352.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352354.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352354.png
new file mode 100644
index 0000000000000000000000000000000000000000..563ce2878d24a7fa46044f201433d759c3fa9001
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352354.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352364.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352364.png
new file mode 100644
index 0000000000000000000000000000000000000000..801bf97495213f41c2b196b2f170af85b156dd5b
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352364.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237355135.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352432.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237355135.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352432.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237555181.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352434.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237555181.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352434.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192755180.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352436.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192755180.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352436.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237715151.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352438.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237715151.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352438.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237715155.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352440.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237715155.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352440.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192915154.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352442.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192915154.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352442.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237715141.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352450.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237715141.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352450.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192755182.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352452.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192755182.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352452.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238537297.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352454.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238537297.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352454.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237475133.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352456.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237475133.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352456.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238401031.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352458.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238401031.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352458.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237555149.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352460.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237555149.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352460.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/lottie-ark-2-0-canvas-ui-animate.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352468.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/lottie-ark-2-0-canvas-ui-animate.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352468.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192755172.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352486.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192755172.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001194352486.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001198839004.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001198839004.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b0667769e77a2a2d1b131736bdce96489b7e064e
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001198839004.gif differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/overlay.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001205769446.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/overlay.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001205769446.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/Image2.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001205812616.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/Image2.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001205812616.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/Image3.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001205972610.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/Image3.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001205972610.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001208256092.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001208256092.png
new file mode 100644
index 0000000000000000000000000000000000000000..b15b9d83968672a6771322069b47394cfb3b8c1f
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001208256092.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001209874754.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001209874754.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f0962619f5df0fec543cd693195045c9203378d9
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001209874754.gif differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001210195016.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001210195016.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7b839683df88c833812ce75bd656abd22dae950f
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001210195016.gif differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001210353788.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001210353788.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b8a7961adce1b592b8fdbce98966c70cf1da68e8
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001210353788.gif differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/ImageAnimator.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219662643.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/ImageAnimator.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219662643.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/s3.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219662645.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/s3.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219662645.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/opacity.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219662647.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/opacity.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219662647.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/Blank1.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219662649.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/Blank1.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219662649.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/Flex04-2.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219662653.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/Flex04-2.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219662653.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219662657.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219662657.png
new file mode 100644
index 0000000000000000000000000000000000000000..999ad44c80a018d45353044e13923a8566bf3cf0
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219662657.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/Rating.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219662659.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/Rating.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219662659.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/DisplayPriorityExample.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219662667.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/DisplayPriorityExample.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219662667.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/qrcode.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219662669.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/qrcode.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219662669.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/textstyle.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219662673.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/textstyle.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219662673.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/s1.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219744181.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/s1.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219744181.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/grid-3.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219744183.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/grid-3.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219744183.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/polyline.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219744185.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/polyline.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219744185.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/grid.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219744187.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/grid.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219744187.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/Flex01.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219744189.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/Flex01.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219744189.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/circle.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219744191.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/circle.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219744191.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/path.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219744193.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/path.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219744193.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/SharedTransition.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219744195.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/SharedTransition.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219744195.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/flex.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219744197.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/flex.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219744197.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/customdialog.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219744203.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/customdialog.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219744203.gif
diff --git "a/zh-cn/application-dev/reference/arkui-ts/figures/\347\253\226\345\261\217\346\230\276\347\244\272.gif" b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219744205.gif
similarity index 100%
rename from "zh-cn/application-dev/reference/arkui-ts/figures/\347\253\226\345\261\217\346\230\276\347\244\272.gif"
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219744205.gif
diff --git "a/zh-cn/application-dev/reference/arkui-ts/figures/\350\256\276\345\244\207\345\256\275\345\272\246\344\270\272MD.png" b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219744207.png
similarity index 100%
rename from "zh-cn/application-dev/reference/arkui-ts/figures/\350\256\276\345\244\207\345\256\275\345\272\246\344\270\272MD.png"
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219744207.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/s4-(1).png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219864131.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/s4-(1).png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219864131.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/222.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219864133.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/222.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219864133.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/1111.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219864137.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/1111.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219864137.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/PageTransition2.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219864139.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/PageTransition2.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219864139.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/Button.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219864141.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/Button.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219864141.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/Navigator.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219864145.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/Navigator.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219864145.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/badge.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219864147.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/badge.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219864147.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/colorGradient.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219864149.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/colorGradient.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219864149.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/appear.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219864151.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/appear.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219864151.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/Text1.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219864155.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/Text1.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219864155.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/2222.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219864157.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/2222.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219864157.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/ListItem.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219864159.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/ListItem.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219864159.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/stack.jpg b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219982699.jpg
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/stack.jpg
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219982699.jpg
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/back.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219982703.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/back.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219982703.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/border.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219982705.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/border.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219982705.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/ColumnSplit.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219982707.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/ColumnSplit.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219982707.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/Span.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219982709.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/Span.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219982709.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/Counter.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219982711.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/Counter.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219982711.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/enabled.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219982713.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/enabled.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219982713.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/line.jpg b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219982725.jpg
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/line.jpg
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219982725.jpg
diff --git "a/zh-cn/application-dev/reference/arkui-ts/figures/\350\256\276\345\244\207\345\256\275\345\272\246\344\270\272LG.png" b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219982727.png
similarity index 100%
rename from "zh-cn/application-dev/reference/arkui-ts/figures/\350\256\276\345\244\207\345\256\275\345\272\246\344\270\272LG.png"
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219982727.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/RowSplit.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219982729.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/RowSplit.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001219982729.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/swiper.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001224621917.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/swiper.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001224621917.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/GIF-0.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001231374559.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/GIF-0.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001231374559.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/F.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001232775585.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/F.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001232775585.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001234375607.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001234375607.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bbaa383d7fcd489934fe740d7f9852a81fcca9ff
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001234375607.gif differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/datapanel.jpg b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001236876377.jpg
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/datapanel.jpg
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001236876377.jpg
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237355087.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237355087.gif
deleted file mode 100644
index 38502c83c52aa9229da69d638e4b9b1f5a35009b..0000000000000000000000000000000000000000
Binary files a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237355087.gif and /dev/null differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237475107.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237475107.gif
deleted file mode 100644
index b3966d0abb39044241ee174a126fcf919f402d98..0000000000000000000000000000000000000000
Binary files a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237475107.gif and /dev/null differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/66666.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237616085.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/66666.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237616085.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192595234.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712325.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192595234.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712325.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237475139.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712331.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237475139.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712331.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192595220.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712335.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192595220.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712335.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192595226.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712345.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192595226.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712345.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192595230.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712347.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192595230.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712347.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712411.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712411.png
new file mode 100644
index 0000000000000000000000000000000000000000..657eee10e270eb448fc7f7f4b24b18134a42d5dc
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712411.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712413.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712413.png
new file mode 100644
index 0000000000000000000000000000000000000000..7cbe07731306eff949ff7ced4dd7eb4a374c8310
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712413.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712415.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712415.png
new file mode 100644
index 0000000000000000000000000000000000000000..e764c43599592d821c403aac0d3fa40d9edd22e5
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712415.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712417.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712417.png
new file mode 100644
index 0000000000000000000000000000000000000000..294b32cf04462b04243afb828199be9b95e6dd17
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712417.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712419.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712419.png
new file mode 100644
index 0000000000000000000000000000000000000000..af02181de0d07d5311b09c8d05c2a018e6e5b4cf
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712419.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712421.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712421.png
new file mode 100644
index 0000000000000000000000000000000000000000..3e7218eb57566d86457a9fbd4a8ed0f0dd490c3f
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712421.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238282783.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712437.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238282783.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712437.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238282827.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712439.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238282827.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712439.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238457271.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712441.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238457271.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712441.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238601051.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712443.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238601051.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712443.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238601053.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712445.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238601053.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712445.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192915180.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712447.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192915180.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712447.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192595216.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712467.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192595216.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712467.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193075154.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712471.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193075154.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238712471.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832295.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832295.png
new file mode 100644
index 0000000000000000000000000000000000000000..10059591af349daced4bf7abeb009209a3e90f1d
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832295.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832297.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832297.png
new file mode 100644
index 0000000000000000000000000000000000000000..b2728fd1b4e050edddf499398b44a7e3aa634109
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832297.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832305.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832305.png
new file mode 100644
index 0000000000000000000000000000000000000000..4fb651372a67eca9de3848baa6b66cac0ee9f173
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832305.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832309.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832309.png
new file mode 100644
index 0000000000000000000000000000000000000000..1f4208ebcf5ffeeda0d1f5c452327c8fd8dcf7ac
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832309.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832317.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832317.png
new file mode 100644
index 0000000000000000000000000000000000000000..945862898489d8e008e94abbcd691aa307b18d06
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832317.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832319.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832319.png
new file mode 100644
index 0000000000000000000000000000000000000000..f36078d6d832fa757378b72fa0739f66fe781c64
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832319.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238602771.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832385.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238602771.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832385.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238602821.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832387.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238602821.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832387.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193436448.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832389.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193436448.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832389.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193801070.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832391.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193801070.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832391.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193801072.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832395.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193801072.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832395.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832403.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832403.png
new file mode 100644
index 0000000000000000000000000000000000000000..4608132f8e4292a3fe0174a65a9a3f2fc428c0e7
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832403.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832405.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832405.png
new file mode 100644
index 0000000000000000000000000000000000000000..f5cd637e5bf9db13e3334ca00413e3a91412c813
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832405.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832407.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832407.png
new file mode 100644
index 0000000000000000000000000000000000000000..e3b4b42aecaef72ed4a08b3566a895b3f9b12343
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832407.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832409.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832409.png
new file mode 100644
index 0000000000000000000000000000000000000000..1f4208ebcf5ffeeda0d1f5c452327c8fd8dcf7ac
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832409.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832411.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832411.png
new file mode 100644
index 0000000000000000000000000000000000000000..138e011909c2d4738f3cd9671a79ea0c37cb5b87
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832411.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832413.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832413.png
new file mode 100644
index 0000000000000000000000000000000000000000..defc3c9eb037c06b894ee2e30563facb8c8375ab
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832413.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/unnaming-(3).png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832437.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/unnaming-(3).png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238832437.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952277.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952277.png
new file mode 100644
index 0000000000000000000000000000000000000000..c1803b711d45a86552a2be4099424206a1561534
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952277.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952279.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952279.png
new file mode 100644
index 0000000000000000000000000000000000000000..ad8582f58ed05f9ac3b8962f82d8565d1f580f6c
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952279.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952291.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952291.png
new file mode 100644
index 0000000000000000000000000000000000000000..50726d3e461d7a5dbfec674899fee603aaf41bee
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952291.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952293.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952293.png
new file mode 100644
index 0000000000000000000000000000000000000000..d0e446b213816e4db8d67a9898da1afa7b8226ad
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952293.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952301.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952301.png
new file mode 100644
index 0000000000000000000000000000000000000000..d3db21e0e3da6d8663f59b2ddabd9e50d6eb1e6a
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952301.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952303.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952303.png
new file mode 100644
index 0000000000000000000000000000000000000000..1ba89fa119f9a64c74b9353c20ec3d741aaad9be
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952303.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193642802.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952373.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193642802.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952373.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237355137.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952375.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237355137.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952375.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/11111.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952377.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/11111.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952377.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193321136.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952379.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193321136.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952379.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193321138.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952381.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193321138.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952381.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193075170.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952387.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001193075170.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952387.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238522733.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952397.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238522733.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952397.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237555155.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952399.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237555155.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952399.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237715149.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952401.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237715149.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952401.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238281067.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952403.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238281067.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952403.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238281069.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952405.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238281069.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952405.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237555179.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952407.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237555179.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952407.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237555151.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952419.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001237555151.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001238952419.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032317.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032317.png
new file mode 100644
index 0000000000000000000000000000000000000000..160278c82fcdf310c796609d5ee29a2a4869af9e
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032317.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032319.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032319.png
new file mode 100644
index 0000000000000000000000000000000000000000..83b7a51accdda21d21a39e5e9d917d75811cb496
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032319.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032327.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032327.png
new file mode 100644
index 0000000000000000000000000000000000000000..5da42e3e14d601745274cb62d914c6600620bb25
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032327.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032329.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032329.png
new file mode 100644
index 0000000000000000000000000000000000000000..72a515c8b425037a4307ef1b16def3e528aab4a0
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032329.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032337.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032337.png
new file mode 100644
index 0000000000000000000000000000000000000000..fb7fc25c17990998ba263a8525e6a110794c0d87
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032337.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032339.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032339.png
new file mode 100644
index 0000000000000000000000000000000000000000..241fe8546ea2acfdb7baf2c5e66a8af2f0d7b593
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032339.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032409.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032409.png
new file mode 100644
index 0000000000000000000000000000000000000000..4f115a17e671fa21da2d44cd82bf7b0f3c70c0a6
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032409.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032411.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032411.png
new file mode 100644
index 0000000000000000000000000000000000000000..bc093379e122dcac29c4c8d04560d26bfc23d472
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032411.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032413.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032413.png
new file mode 100644
index 0000000000000000000000000000000000000000..b0b8bdc7fc7cd417340bbcda6845fd7de0098930
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032413.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032415.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032415.png
new file mode 100644
index 0000000000000000000000000000000000000000..22e84d1b8951b163748a079b6d1d302148d3b6bb
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032415.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032417.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032417.png
new file mode 100644
index 0000000000000000000000000000000000000000..088d5a479cc188332bb7295b31aea277897faca8
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032417.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032419.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032419.png
new file mode 100644
index 0000000000000000000000000000000000000000..cb250dfc130cc329ae9dc74ddb861e8753d419c3
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032419.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032423.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032423.png
new file mode 100644
index 0000000000000000000000000000000000000000..ec9ddc678b5a74f1e5ae78ba6a9c35618f31a589
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032423.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032425.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032425.png
new file mode 100644
index 0000000000000000000000000000000000000000..9cb1361bd9aded6d58d51ae771558989977a0608
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032425.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032427.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032427.png
new file mode 100644
index 0000000000000000000000000000000000000000..2eed5759714b99dc039faab67acdfe6d67bfc6ac
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032427.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032429.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032429.png
new file mode 100644
index 0000000000000000000000000000000000000000..92a309337be0e2f4c49d0484dab0ffd19584b534
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032429.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032431.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032431.png
new file mode 100644
index 0000000000000000000000000000000000000000..b4fd4aff2fb6b7a32fcb8af41a84fbf57c26d035
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032431.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192915158.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032455.png
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001192915158.png
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001239032455.png
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/actionsheet.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001241668363.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/actionsheet.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001241668363.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001250492613.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001250492613.gif
new file mode 100644
index 0000000000000000000000000000000000000000..05ad0a8aa0ae63ae9193aa1c9b3f943f060220da
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001250492613.gif differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001251007721.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001251007721.gif
new file mode 100644
index 0000000000000000000000000000000000000000..32d2334360f9fd90afd1709f50a39add4e2196c1
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001251007721.gif differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/textarea1.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001251087311.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/textarea1.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001251087311.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001251092975.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001251092975.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c269eab06d9dd52463481510edc7089be19cb2b6
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001251092975.gif differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001251279761.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001251279761.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ccfd08401bceb09625add910f66bea401bcaf173
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001251279761.gif differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001251292933.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001251292933.gif
new file mode 100644
index 0000000000000000000000000000000000000000..587325d41b6320ff8e25afd9d2b19e3d1b5a11d5
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001251292933.gif differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001252653499.png b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001252653499.png
new file mode 100644
index 0000000000000000000000000000000000000000..77113dac339f335dc44b3fb4a271e92f7c8cbb00
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001252653499.png differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001252667389.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001252667389.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a5092180309ecb061248cc205e4bd667eb290085
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001252667389.gif differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/textinput1.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001252769643.gif
similarity index 100%
rename from zh-cn/application-dev/reference/arkui-ts/figures/textinput1.gif
rename to zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001252769643.gif
diff --git a/zh-cn/application-dev/reference/arkui-ts/public_sys-resources/icon-caution.gif b/zh-cn/application-dev/reference/arkui-ts/public_sys-resources/icon-caution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/public_sys-resources/icon-caution.gif differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/public_sys-resources/icon-danger.gif b/zh-cn/application-dev/reference/arkui-ts/public_sys-resources/icon-danger.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/public_sys-resources/icon-danger.gif differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/public_sys-resources/icon-note.gif b/zh-cn/application-dev/reference/arkui-ts/public_sys-resources/icon-note.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6314297e45c1de184204098efd4814d6dc8b1cda
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/public_sys-resources/icon-note.gif differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/public_sys-resources/icon-notice.gif b/zh-cn/application-dev/reference/arkui-ts/public_sys-resources/icon-notice.gif
new file mode 100644
index 0000000000000000000000000000000000000000..86024f61b691400bea99e5b1f506d9d9aef36e27
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/public_sys-resources/icon-notice.gif differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/public_sys-resources/icon-tip.gif b/zh-cn/application-dev/reference/arkui-ts/public_sys-resources/icon-tip.gif
new file mode 100644
index 0000000000000000000000000000000000000000..93aa72053b510e456b149f36a0972703ea9999b7
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/public_sys-resources/icon-tip.gif differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/public_sys-resources/icon-warning.gif b/zh-cn/application-dev/reference/arkui-ts/public_sys-resources/icon-warning.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571
Binary files /dev/null and b/zh-cn/application-dev/reference/arkui-ts/public_sys-resources/icon-warning.gif differ
diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-animation.md b/zh-cn/application-dev/reference/arkui-ts/ts-animation.md
index afb4e3bad98d780e7bc4cf7affcc5dd086967b14..bf1021189ad456a896e297ecd0fb4db7a475dfff 100644
--- a/zh-cn/application-dev/reference/arkui-ts/ts-animation.md
+++ b/zh-cn/application-dev/reference/arkui-ts/ts-animation.md
@@ -1,15 +1,13 @@
-# 动画
+# 动画
-- **[属性动画](ts-animatorproperty.md)**
+- **[属性动画](ts-animatorproperty.md)**
-- **[显式动画](ts-explicit-animation.md)**
+- **[显式动画](ts-explicit-animation.md)**
-- **[转场动画](ts-transition-animation.md)**
+- **[转场动画](ts-transition-animation.md)**
-- **[路径动画](ts-motion-path-animation.md)**
-
-- **[矩阵变换](ts-matrix-transformation.md)**
-
-- **[插值计算](ts-interpolation-calculation.md)**
+- **[路径动画](ts-motion-path-animation.md)**
+- **[矩阵变换](ts-matrix-transformation.md)**
+- **[插值计算](ts-interpolation-calculation.md)**
\ No newline at end of file
diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-animatorproperty.md b/zh-cn/application-dev/reference/arkui-ts/ts-animatorproperty.md
index e7df635a2e955169f52723f9ea7f09116b77cf1a..2d4e1ad5f0fe45b8108b69a306d96e666f9414b7 100644
--- a/zh-cn/application-dev/reference/arkui-ts/ts-animatorproperty.md
+++ b/zh-cn/application-dev/reference/arkui-ts/ts-animatorproperty.md
@@ -1,147 +1,40 @@
-# 属性动画
+# 属性动画
+
+>  **说明:**
+> 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
-> **说明:**
->从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
组件的通用属性发生变化时,可以创建属性动画进行渐变,提升用户体验。
-
名称
- |
-参数类型
- |
-默认值
- |
-描述
- |
-
-
-duration
- |
-number
- |
-1000
- |
-单位为毫秒,默认动画时长为1000毫秒。
- |
-
-curve
- |
-Curve
- |
-Linear
- |
-默认曲线为线性,有效值参见Curve说明。
- |
-
-delay
- |
-number
- |
-0
- |
-单位为毫秒,默认不延时播放。
- |
-
-iterations
- |
-number
- |
-1
- |
-默认播放一次,设置为-1时表示无限次播放。
- |
-
-playMode
- |
-PlayMode
- |
-Normal
- |
-设置动画播放模式,默认播放完成后重头开始播放。
- |
-
-
-
-- Curve枚举说明
+| 名称 | 参数类型 | 默认值 | 描述 |
+| -------- | -------- | -------- | -------- |
+| duration | number | 1000 | 单位为毫秒,默认动画时长为1000毫秒。 |
+| curve | Curve | Curve.Linear | 默认曲线为线性。 |
+| delay | number | 0 | 单位为毫秒,默认不延时播放。 |
+| iterations | number | 1 | 默认播放一次,设置为-1时表示无限次播放。 |
+| playMode | [PlayMode](ts-appendix-enums.md#playmode枚举值说明) | PlayMode.Normal | 设置动画播放模式,默认播放完成后重头开始播放。 |
+
-
- 名称
- |
- 描述
- |
-
-
- Linear
- |
- 表示动画从头到尾的速度都是相同的。
- |
-
- Ease
- |
- 表示动画以低速开始,然后加快,在结束前变慢,CubicBezier(0.25, 0.1, 0.25, 1.0)。
- |
-
- EaseIn
- |
- 表示动画以低速开始,CubicBezier(0.42, 0.0, 1.0, 1.0)。
- |
-
- EaseOut
- |
- 表示动画以低速结束,CubicBezier(0.0, 0.0, 0.58, 1.0)。
- |
-
- EaseInOut
- |
- 表示动画以低速开始和结束,CubicBezier(0.42, 0.0, 0.58, 1.0)。
- |
-
- FastOutSlowIn
- |
- 标准曲线,cubic-bezier(0.4, 0.0, 0.2, 1.0)。
- |
-
- LinearOutSlowIn
- |
- 减速曲线,cubic-bezier(0.0, 0.0, 0.2, 1.0)。
- |
-
- FastOutLinearIn
- |
- 加速曲线,cubic-bezier(0.4, 0.0, 1.0, 1.0)。
- |
-
- ExtremeDeceleration
- |
- 急缓曲线,cubic-bezier(0.0, 0.0, 0.0, 1.0)。
- |
-
- Sharp
- |
- 锐利曲线,cubic-bezier(0.33, 0.0, 0.67, 1.0)。
- |
-
- Rhythm
- |
- 节奏曲线,cubic-bezier(0.7, 0.0, 0.2, 1.0)。
- |
-
- Smooth
- |
- 平滑曲线,cubic-bezier(0.4, 0.0, 0.4, 1.0)。
- |
-
- Friction
- |
- 阻尼曲线,CubicBezier(0.2, 0.0, 0.2, 1.0)。
- |
-
-
-
+- Curve枚举说明
+ | 名称 | 描述 |
+ | -------- | -------- |
+ | Linear | 表示动画从头到尾的速度都是相同的。 |
+ | Ease | 表示动画以低速开始,然后加快,在结束前变慢,CubicBezier(0.25, 0.1, 0.25, 1.0)。 |
+ | EaseIn | 表示动画以低速开始,CubicBezier(0.42, 0.0, 1.0, 1.0)。 |
+ | EaseOut | 表示动画以低速结束,CubicBezier(0.0, 0.0, 0.58, 1.0)。 |
+ | EaseInOut | 表示动画以低速开始和结束,CubicBezier(0.42, 0.0, 0.58, 1.0)。 |
+ | FastOutSlowIn | 标准曲线,cubic-bezier(0.4, 0.0, 0.2, 1.0)。 |
+ | LinearOutSlowIn | 减速曲线,cubic-bezier(0.0, 0.0, 0.2, 1.0)。 |
+ | FastOutLinearIn | 加速曲线,cubic-bezier(0.4, 0.0, 1.0, 1.0)。 |
+ | ExtremeDeceleration | 急缓曲线,cubic-bezier(0.0, 0.0, 0.0, 1.0)。 |
+ | Sharp | 锐利曲线,cubic-bezier(0.33, 0.0, 0.67, 1.0)。 |
+ | Rhythm | 节奏曲线,cubic-bezier(0.7, 0.0, 0.2, 1.0)。 |
+ | Smooth | 平滑曲线,cubic-bezier(0.4, 0.0, 0.4, 1.0)。 |
+ | Friction | 阻尼曲线,CubicBezier(0.2, 0.0, 0.2, 1.0)。 |
-## 示例
+## 示例
```
@Entry
@@ -177,5 +70,4 @@ struct AttrAnimationExample {
}
```
-
-
+
diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-appendix-enums.md b/zh-cn/application-dev/reference/arkui-ts/ts-appendix-enums.md
index 4ee8d2499f2bcccb58b1a9d4761536058a3a14b4..a63bdad32971f333d3669a6bab490f0cc05f9da2 100644
--- a/zh-cn/application-dev/reference/arkui-ts/ts-appendix-enums.md
+++ b/zh-cn/application-dev/reference/arkui-ts/ts-appendix-enums.md
@@ -1,291 +1,92 @@
-# 文档中涉及到的内置枚举值
+# 文档中涉及到的内置枚举值
-## Alignment枚举说明
+## Alignment枚举说明
-名称
- |
-描述
- |
-
-
-TopStart
- |
-顶部起始端。
- |
-
-Top
- |
-顶部横向居中。
- |
-
-TopEnd
- |
-顶部尾端。
- |
-
-Start
- |
-起始端纵向居中。
- |
-
-Center
- |
-横向和纵向居中。
- |
-
-End
- |
-尾端纵向居中。
- |
-
-BottomStart
- |
-底部起始端。
- |
-
-Bottom
- |
-底部横向居中。
- |
-
-BottomEnd
- |
-底部尾端。
- |
-
-
-
+| 名称 | 描述 |
+| -------- | -------- |
+| TopStart | 顶部起始端。 |
+| Top | 顶部横向居中。 |
+| TopEnd | 顶部尾端。 |
+| Start | 起始端纵向居中。 |
+| Center | 横向和纵向居中。 |
+| End | 尾端纵向居中。 |
+| BottomStart | 底部起始端。 |
+| Bottom | 底部横向居中。 |
+| BottomEnd | 底部尾端。 |
-## Axis枚举说明
-名称
- |
-描述
- |
-
-
-Vertical
- |
-方向为纵向。
- |
-
-Horizontal
- |
-方向为横向。
- |
-
-
-
+## Axis枚举说明
-## ItemAlign枚举说明
+| 名称 | 描述 |
+| -------- | -------- |
+| Vertical | 方向为纵向。 |
+| Horizontal | 方向为横向。 |
-名称
- |
-描述
- |
-
-
-Auto
- |
-使用Flex容器中默认配置。
- |
-
-Start
- |
-元素在Flex容器中,交叉轴方向首部对齐。
- |
-
-Center
- |
-元素在Flex容器中,交叉轴方向居中对齐。
- |
-
-End
- |
-元素在Flex容器中,交叉轴方向底部对齐。
- |
-
-Stretch
- |
-元素在Flex容器中,交叉轴方向拉伸填充,在未设置尺寸时,拉伸到容器尺寸。
- |
-
-Baseline
- |
-元素在Flex容器中,交叉轴方向文本基线对齐。
- |
-
-
-
-## LineCapStyle枚举说明
+## ItemAlign枚举说明
-名称
- |
-描述
- |
-
-
-Butt
- |
-分割线两端为平行线。
- |
-
-Round
- |
-分割线两端为半圆。
- |
-
-Square
- |
-分割线两端为平行线。
- |
-
-
-
+| 名称 | 描述 |
+| -------- | -------- |
+| Auto | 使用Flex容器中默认配置。 |
+| Start | 元素在Flex容器中,交叉轴方向首部对齐。 |
+| Center | 元素在Flex容器中,交叉轴方向居中对齐。 |
+| End | 元素在Flex容器中,交叉轴方向底部对齐。 |
+| Stretch | 元素在Flex容器中,交叉轴方向拉伸填充,在未设置尺寸时,拉伸到容器尺寸。 |
+| Baseline | 元素在Flex容器中,交叉轴方向文本基线对齐。 |
-## PlayMode枚举值说明
-名称
- |
-描述
- |
-
-
-Normal
- |
-动画按正常播放。
- |
-
-Reverse
- |
-动画反向播放。
- |
-
-Alternate
- |
-动画在奇数次(1、3、5...)正向播放,在偶数次(2、4、6...)反向播放。
- |
-
-AlternateReverse
- |
-动画在奇数次(1、3、5...)反向播放,在偶数次(2、4、6...)正向播放。
- |
-
-
-
+## LineCapStyle枚举说明
-## ImageRepeat枚举说明
+| 名称 | 描述 |
+| -------- | -------- |
+| Butt | 分割线两端为平行线。 |
+| Round | 分割线两端为半圆。 |
+| Square | 分割线两端为平行线。 |
-名称
- |
-描述
- |
-
-
-X
- |
-只在水平轴上重复绘制图片。
- |
-
-Y
- |
-只在竖直轴上重复绘制图片。
- |
-
-XY
- |
-在两个轴上重复绘制图片。
- |
-
-NoRepeat
- |
-不重复绘制图片。
- |
-
-
-
-## TextDecorationType枚举说明
+## PlayMode枚举值说明
-名称
- |
-描述
- |
-
-
-Underline
- |
-文字下划线修饰。
- |
-
-LineThrough
- |
-穿过文本的修饰线。
- |
-
-Overline
- |
-文字上划线修饰。
- |
-
-None
- |
-不使用文本装饰线。
- |
-
-
-
+| 名称 | 描述 |
+| -------- | -------- |
+| Normal | 动画按正常播放。 |
+| Reverse | 动画反向播放。 |
+| Alternate | 动画在奇数次(1、3、5...)正向播放,在偶数次(2、4、6...)反向播放。 |
+| AlternateReverse | 动画在奇数次(1、3、5...)反向播放,在偶数次(2、4、6...)正向播放。 |
-## TextCase枚举说明
-名称
- |
-描述
- |
-
-
-Normal
- |
-保持文本原有大小写。
- |
-
-LowerCase
- |
-文本采用全小写。
- |
-
-UpperCase
- |
-文本采用全大写。
- |
-
-
-
+## ImageRepeat枚举说明
-## BarState枚举说明
+| 名称 | 描述 |
+| -------- | -------- |
+| X | 只在水平轴上重复绘制图片。 |
+| Y | 只在竖直轴上重复绘制图片。 |
+| XY | 在两个轴上重复绘制图片。 |
+| NoRepeat | 不重复绘制图片。 |
-名称
- |
-描述
- |
-
-
-Off
- |
-不显示。
- |
-
-On
- |
-常驻显示。
- |
-
-Auto
- |
-按需显示(触摸时显示,2s后消失)。
- |
-
-
-
+## TextDecorationType枚举说明
+
+| 名称 | 描述 |
+| -------- | -------- |
+| Underline | 文字下划线修饰。 |
+| LineThrough | 穿过文本的修饰线。 |
+| Overline | 文字上划线修饰。 |
+| None | 不使用文本装饰线。 |
+
+
+## TextCase枚举说明
+
+| 名称 | 描述 |
+| -------- | -------- |
+| Normal | 保持文本原有大小写。 |
+| LowerCase | 文本采用全小写。 |
+| UpperCase | 文本采用全大写。 |
+
+
+## BarState枚举说明
+
+| 名称 | 描述 |
+| -------- | -------- |
+| Off | 不显示。 |
+| On | 常驻显示。 |
+| Auto | 按需显示(触摸时显示,2s后消失)。 |
diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-appendix.md b/zh-cn/application-dev/reference/arkui-ts/ts-appendix.md
index 5eaa9c8adf1ed664d8a880c5a298cb039b0565e3..beb10bf5a791ed0247bdd78dcbe855a1a12c6f34 100644
--- a/zh-cn/application-dev/reference/arkui-ts/ts-appendix.md
+++ b/zh-cn/application-dev/reference/arkui-ts/ts-appendix.md
@@ -1,5 +1,3 @@
-# 附录
-
-- **[文档中涉及到的内置枚举值](ts-appendix-enums.md)**
-
+# 附录
+- **[文档中涉及到的内置枚举值](ts-appendix-enums.md)**
\ No newline at end of file
diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-blank.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-blank.md
index 99be5453d987f2edac260c69435ff7f7edd71b3e..bb429a7b1797e981bb4b83b0afe0afcc18635bfb 100644
--- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-blank.md
+++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-blank.md
@@ -1,79 +1,43 @@
-# Blank
+# Blank
+
+>  **说明:**
+> 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
-> **说明:**
->该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
空白填充组件,在容器主轴方向上,空白填充组件具有自动填充容器空余部分的能力。仅当父组件为Row/Column时生效。
-## 权限列表
+
+## 权限列表
无
-## 子组件
+
+## 子组件
无
-## 接口
-
-Blank\(min?: Length\)
-
-- 参数
-
- 参数名
- |
- 参数类型
- |
- 必填
- |
- 默认值
- |
- 参数描述
- |
-
-
- min
- |
- Length
- |
- 否
- |
- 0
- |
- 空白填充组件在容器主轴上的最小大小。
- |
-
-
-
-
-
-## 属性
-
-名称
- |
-参数类型
- |
-默认值
- |
-描述
- |
-
-
-color
- |
-Color
- |
-0x00000000
- |
-设置空白填充的填充颜色。
- |
-
-
-
-
-> **说明:**
->- 不支持通用属性方法。
-
-## 示例
+
+## 接口
+
+Blank(min?: Length)
+
+- 参数
+ | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
+ | -------- | -------- | -------- | -------- | -------- |
+ | min | Length | 否 | 0 | 空白填充组件在容器主轴上的最小大小。 |
+
+
+## 属性
+
+| 名称 | 参数类型 | 默认值 | 描述 |
+| -------- | -------- | -------- | -------- |
+| color | Color | 0x00000000 | 设置空白填充的填充颜色。 |
+
+>  **说明:**
+> - 不支持通用属性方法。
+
+
+## 示例
```
@Entry
@@ -93,9 +57,8 @@ struct BlankExample {
竖屏状态
-
+
横屏状态
-
-
+
diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-button.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-button.md
index 7d01e7c45afcbbdd538dc24ebed63ab7471c89a1..f77635b380f69bc5cf28bf7cc9b9ecb104009bc0 100644
--- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-button.md
+++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-button.md
@@ -1,172 +1,65 @@
-# Button
+# Button
+
+>  **说明:**
+> 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
-> **说明:**
->该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
提供按钮组件。
-## 权限列表
+
+## 权限列表
无
-## 子组件
+
+## 子组件
可以包含子组件。
-## 接口
-
-- Button\(options?: \{type?: ButtonType, stateEffect?: boolean\}\)
-
- **表 1** options参数说明
-
-
- 参数名
- |
- 参数类型
- |
- 必填
- |
- 默认值
- |
- 参数描述
- |
-
-
- type
- |
- ButtonType
- |
- 否
- |
- Capsule
- |
- 描述按钮风格。
- |
-
- stateEffect
- |
- boolean
- |
- 否
- |
- true
- |
- 按钮按下时是否开启切换效果,当状态置为false时,点击效果关闭。
- |
-
-
-
-
-
-- Button\(label?: string, options?: \{ type?: ButtonType, stateEffect?: boolean \}\)
-
- 使用文本内容创建相应的按钮组件,此时Button无法包含子组件。
-
- **表 2** value参数说明
-
- 参数名
- |
- 参数类型
- |
- 必填
- |
- 默认值
- |
- 参数描述
- |
-
-
- label
- |
- string
- |
- 否
- |
- -
- |
- 按钮文本内容。
- |
-
- options
- |
- Object
- |
- 否
- |
- -
- |
- 见options参数说明。
- |
-
-
-
-
-
-## 属性
-
-名称
- |
-参数类型
- |
-默认值
- |
-描述
- |
-
-
-type
- |
-ButtonType
- |
-Capsule
- |
-设置Button样式。
- |
-
-stateEffect
- |
-boolean
- |
-true
- |
-状态切换时是否开启切换效果,当状态置为false时,点击效果关闭。
- |
-
-
-
-
-- ButtonType枚举说明
-
- 名称
- |
- 描述
- |
-
-
- Capsule
- |
- 胶囊型按钮(圆角默认为高度的一半)。
- |
-
- Circle
- |
- 圆形按钮。
- |
-
- Normal
- |
- 普通按钮(默认不带圆角)。
- |
-
-
-
-
-
-> **说明:**
->- 按钮圆角通过[通用属性borderRadius设置](ts-universal-attributes-border.md)(不支持通过border接口设置圆角)。
->- 按钮文本通过[通用文本样式](ts-universal-attributes-text-style.md)进行设置。
-
-## 示例
+
+## 接口
+
+- Button(options?: {type?: ButtonType, stateEffect?: boolean})
+ **表1** options参数说明
+
+ | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
+ | -------- | -------- | -------- | -------- | -------- |
+ | type | ButtonType | 否 | Capsule | 描述按钮风格。 |
+ | stateEffect | boolean | 否 | true | 按钮按下时是否开启切换效果,当状态置为false时,点击效果关闭。 |
+
+
+- Button(label?: string, options?: { type?: ButtonType, stateEffect?: boolean })
+ 使用文本内容创建相应的按钮组件,此时Button无法包含子组件。
+
+ **表2** value参数说明
+
+ | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
+ | -------- | -------- | -------- | -------- | -------- |
+ | label | string | 否 | - | 按钮文本内容。 |
+ | options | Object | 否 | - | 见options参数说明。 |
+
+
+## 属性
+
+| 名称 | 参数类型 | 默认值 | 描述 |
+| -------- | -------- | -------- | -------- |
+| type | ButtonType | Capsule | 设置Button样式。 |
+| stateEffect | boolean | true | 状态切换时是否开启切换效果,当状态置为false时,点击效果关闭。 |
+
+- ButtonType枚举说明
+ | 名称 | 描述 |
+ | -------- | -------- |
+ | Capsule | 胶囊型按钮(圆角默认为高度的一半)。 |
+ | Circle | 圆形按钮。 |
+ | Normal | 普通按钮(默认不带圆角)。 |
+
+>  **说明:**
+> - 按钮圆角通过[通用属性borderRadius设置](ts-universal-attributes-border.md)(不支持通过border接口设置圆角)。
+>
+> - 按钮文本通过[通用文本样式](ts-universal-attributes-text-style.md)进行设置。
+
+
+## 示例
```
@Entry
@@ -217,5 +110,4 @@ struct ButtonExample {
}
```
-
-
+
diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-datapanel.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-datapanel.md
index 8bd9ccfebf5b90019d43a4adfc46a6a696419d24..4493797aed695da02300d185ed71aded7b337b95 100644
--- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-datapanel.md
+++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-datapanel.md
@@ -1,94 +1,38 @@
-# DataPanel
+# DataPanel
数据面板组件,用于将多个数据占比情况使用占比图进行展示。
-## 权限列表
+
+## 权限列表
无
-## 子组件
+
+## 子组件
无
-## 接口
-
-DataPanel\(value:\{values: number\[\], max?: number, type?: DataPanelType\}\)
-
-- 参数
-
- 参数名
- |
- 参数类型
- |
- 必填
- |
- 默认值
- |
- 参数描述
- |
-
-
- values
- |
- number[]
- |
- 是
- |
- -
- |
- 数据值列表,最大支持9个数据。
- |
-
- max
- |
- number
- |
- 否
- |
- 100
- |
- 1.max大于0,表示数据的最大值。
- 2.max小于等于0,max等于value数组各项的和,按比例显示。
- |
-
- type8+
- |
- DataPanelType
- |
- 否
- |
- DataPanelType.Circle
- |
- 数据面板的类型。
- |
-
-
-
-
-
-- DataPanelType枚举说明
-
- 名称
- |
- 描述
- |
-
-
- Line
- |
- 线型数据面板。
- |
-
- Circle
- |
- 环形数据面板。
- |
-
-
-
-
-
-## 示例
+
+## 接口
+
+DataPanel(value:{values: number[], max?: number, type?: DataPanelType})
+
+- 参数
+ | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
+ | -------- | -------- | -------- | -------- | -------- |
+ | values | number[] | 是 | - | 数据值列表,最大支持9个数据。 |
+ | max | number | 否 | 100 | - max大于0,表示数据的最大值。
- max小于等于0,max等于value数组各项的和,按比例显示。 |
+ | type8+ | DataPanelType | 否 | DataPanelType.Circle | 数据面板的类型。 |
+
+
+- DataPanelType枚举说明
+ | 名称 | 描述 |
+ | -------- | -------- |
+ | Line | 线型数据面板。 |
+ | Circle | 环形数据面板。 |
+
+
+## 示例
```
@Entry
@@ -108,5 +52,4 @@ struct DataPanelExample {
}
```
-
-
+
diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-datepicker.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-datepicker.md
new file mode 100644
index 0000000000000000000000000000000000000000..68b89fa6cbdc77f2ff39baa9836a38880a0d5b1f
--- /dev/null
+++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-datepicker.md
@@ -0,0 +1,149 @@
+# DatePicker
+
+>  **说明:**
+> 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
+
+
+选择日期和时间的滑动选择器组件。
+
+
+## 权限列表
+
+无
+
+
+## 子组件
+
+无
+
+
+## 接口
+
+DatePicker(value:{start?: Date, end?: Date, selected?: Date, type?: DatePickerType})
+
+根据指定范围的Date创建可以选择时间或者日期的滑动选择器。
+
+- 参数
+ | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
+ | -------- | -------- | -------- | -------- | -------- |
+ | start | Date | 否 | Date('1970-1-1') | 指定选择器的起始日期。 |
+ | end | Date | 否 | Date('2100-12-31') | 指定选择器的结束日期。 |
+ | selected | Date | 否 | 当前系统日期或时间 | 当type为DatePickerType.Date时,设置选中项的日期,当type为DatePickerType.Time时,设置选中项的时间。 |
+ | type | DatePickerType | 否 | DatePickerType.Date | 指定选择器的类型,包括日期选择器和时间选择器,缺省使用日期选择器。 |
+
+- DatePickerType枚举说明
+ | 名称 | 描述 |
+ | -------- | -------- |
+ | Date | 日期选择器。 |
+ | Time | 时间选择器。 |
+
+
+## 属性
+
+| 名称 | 参数类型 | 默认值 | 描述 |
+| -------- | -------- | -------- | -------- |
+| lunar | boolean | false | 日期是否显示农历。
- true:展示农历。
- false:不展示农历。 |
+| useMilitaryTime | boolean | false | 展示时间是否为24小时制。 |
+
+
+## 事件
+
+| 名称 | 功能描述 |
+| -------- | -------- | -------- |
+| onChange(callback: (value: DatePickerResult) => void) | 选择日期或时间时触发该事件。 |
+
+- DatePickerResult对象说明
+ | 名称 | 参数类型 | 描述 |
+ | -------- | -------- | -------- |
+ | year | number | 选中日期的年(type为DatePickerType.Date)。 |
+ | month | number | 选中日期的月(type为DatePickerType.Date)。 |
+ | day | number | 选中日期的日(type为DatePickerType.Date)。 |
+ | hour | number | 选中时间的时(type为DatePickerType.Time)。 |
+ | minute | number | 选中时间的分(type为DatePickerType.Time)。 |
+
+
+## 示例
+
+
+### 日期选择器(显示农历)
+
+```
+@Entry
+@Component
+struct DatePickerExample01 {
+ private selectedDate: Date = new Date('2021-08-08')
+
+ build() {
+ Column() {
+ DatePicker({
+ start: new Date('1970-1-1'),
+ end: new Date('2200-1-1'),
+ selected: this.selectedDate,
+ type: DatePickerType.Date
+ })
+ .lunar(true)
+ .onChange((date: DatePickerResult) => {
+ console.info('select current date is: ' + JSON.stringify(date))
+ })
+ }.width('100%')
+ }
+}
+```
+
+
+
+
+### 日期选择器(不显示农历)
+
+```
+@Entry
+@Component
+struct DatePickerExample02 {
+ private selectedDate: Date = new Date('2021-08-08')
+
+ build() {
+ Column() {
+ DatePicker({
+ start: new Date('1970-1-1'),
+ end: new Date('2200-1-1'),
+ selected: this.selectedDate,
+ type: DatePickerType.Date
+ })
+ .lunar(false)
+ .onChange((date: DatePickerResult) => {
+ console.info('select current date is: ' + JSON.stringify(date))
+ })
+ }.width('100%')
+ }
+}
+```
+
+
+
+
+### 时间选择器
+
+```
+@Entry
+@Component
+struct DatePickerExample03 {
+ private selectedTime: Date = new Date('2021-9-29 08:00:00')
+
+ build() {
+ Column() {
+ DatePicker({
+ start: new Date('00:00:00'),
+ end: new Date('23:59:59'),
+ selected: this.selectedTime,
+ type: DatePickerType.Time
+ })
+ .useMilitaryTime(true)
+ .onChange((date: DatePickerResult) => {
+ console.info('select current date is: ' + JSON.stringify(date))
+ })
+ }.width('100%')
+ }
+}
+```
+
+
diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-divider.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-divider.md
index 38aba99c0bc5c8552375bd11bc05376f1b1cf4d7..6dd00b38d01bb96374e23c3767fda593735e54ee 100644
--- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-divider.md
+++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-divider.md
@@ -1,78 +1,43 @@
-# Divider
+# Divider
+
+>  **说明:**
+> 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
-> **说明:**
->该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
提供分隔器组件,分隔不同内容块/内容元素。
-## 权限列表
+
+## 权限列表
无
-## 子组件
+
+## 子组件
无
-## 接口
-
-Divider\(\)
-
-## 属性
-
-名称
- |
-参数类型
- |
-默认值
- |
-描述
- |
-
-
-vertical
- |
-boolean
- |
-false
- |
-使用水平分割线还是垂直分割线,false: 水平分割线, true:垂直分割线。
- |
-
-color
- |
-Color
- |
--
- |
-设置分割线颜色。
- |
-
-strokeWidth
- |
-Length
- |
-1
- |
-设置分割线宽度。
- |
-
-lineCap
- |
-LineCapStyle
- |
-Butt
- |
-设置分割线条的端点样式,默认为Butt。
- |
-
-
-
-
-## 事件
+
+## 接口
+
+Divider()
+
+
+## 属性
+
+| 名称 | 参数类型 | 默认值 | 描述 |
+| -------- | -------- | -------- | -------- |
+| vertical | boolean | false | 使用水平分割线还是垂直分割线,false: 水平分割线, true:垂直分割线。 |
+| color | Color | - | 设置分割线颜色。 |
+| strokeWidth | Length | 1 | 设置分割线宽度。 |
+| lineCap | [LineCapStyle](ts-appendix-enums.md#linecapstyle枚举说明) | LineCapStyle.Butt | 设置分割线条的端点样式。 |
+
+
+## 事件
不支持通用事件。
-## 示例
+
+## 示例
```
@Entry
@@ -103,5 +68,4 @@ struct DividerExample {
}
```
-
-
+
diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-gauge.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-gauge.md
deleted file mode 100644
index 87c23afdb1dc9515ac702b0ea0cbbeda59ec51e7..0000000000000000000000000000000000000000
--- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-gauge.md
+++ /dev/null
@@ -1,150 +0,0 @@
-# Gauge
-
-> **说明:**
->该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
-
-数据量规图表组件,用于将数据展示为环形图表。
-
-## 权限列表
-
-无
-
-## 子组件
-
-无
-
-## 接口
-
-Gauge\(value:\{value: number, min?: number, max?: number\}\)
-
-- 参数
-
- 参数名
- |
- 参数类型
- |
- 必填
- |
- 默认值
- |
- 参数描述
- |
-
-
- value
- |
- number
- |
- 是
- |
- -
- |
- 当前数据值。
- |
-
- min
- |
- number
- |
- 否
- |
- 0
- |
- 当前数据段最小值。
- |
-
- max
- |
- number
- |
- 否
- |
- 100
- |
- 当前数据段最大值。
- |
-
-
-
-
-
-## 属性
-
-名称
- |
-参数类型
- |
-默认值
- |
-描述
- |
-
-
-value
- |
-number
- |
-0
- |
-设置当前数据图表的值。
- |
-
-startAngle
- |
-Angle
- |
--150
- |
-设置起始角度位置,时钟0点为0度,顺时针方向为正角度。
- |
-
-endAngle
- |
-Angle
- |
-150
- |
-设置终止角度位置,时钟0点为0度,顺时针方向为正角度。
- |
-
-colors
- |
-Color | Array<ColorStop>
- |
--
- |
-设置图表的颜色,支持纯色和分段渐变色设置。
- |
-
-strokeWidth
- |
-Length
- |
--
- |
-设置环形图表的环形厚度。
- |
-
-
-
-
-## 示例
-
-```
-@Entry
-@Component
-struct GaugeExample {
- build() {
- Column() {
- Gauge({ value: 50, min: 0, max: 100 })
- .startAngle(210).endAngle(150)
- .colors([[0x317AF7, 1], [0x5BA854, 1], [0xE08C3A, 1], [0x9C554B, 1], [0xD94838, 1]])
- .strokeWidth(20)
- .width(200).height(200)
- }.width('100%').margin({ top: 5 })
- }
-}
-```
-
-
-
diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-image.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-image.md
index 7df158ada40dbe6ce2229f0900ac69a7163a8b6f..28429dd5c02886be2490756f42846ba7e0eb3605 100644
--- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-image.md
+++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-image.md
@@ -1,265 +1,85 @@
-# Image
+# Image
+
+>  **说明:**
+> 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
-> **说明:**
->该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
图片组件,用来渲染展示图片。
-## 权限列表
+
+## 权限列表
ohos.permission.INTERNET(使用网络图片)
-## 子组件
+
+## 子组件
无
-## 接口
-
-Image\(value: \{uri: string | PixelMap\}\)
-
-- 参数
-
- 参数名
- |
- 参数类型
- |
- 必填
- |
- 默认值
- |
- 参数描述
- |
-
-
- uri
- |
- string
- |
- 是
- |
- -
- |
- 图片的uri,支持本地图片和网络路径。
- |
-
-
-
-
-
-## 属性
-
-名称
- |
-参数类型
- |
-默认值
- |
-描述
- |
-
-
-alt
- |
-string
- |
--
- |
-加载时显示的占位图。支持本地图片和网络路径。
- |
-
-objectFit
- |
-ImageFit
- |
-Cover
- |
-设置图片的缩放类型。
- |
-
-objectRepeat
- |
-ImageRepeat
- |
-NoRepeat
- |
-设置图片的重复样式。
-
- |
-
-interpolation
- |
-ImageInterpolation
- |
-None
- |
-设置图片的插值效果,仅针对图片放大插值。
- 说明: - SVG类型图源不支持该属性。
- PixelMap资源不支持该属性。
-
- |
-
-renderMode
- |
-ImageRenderMode
- |
-Original
- |
-设置图片渲染的模式。
-
- |
-
-sourceSize
- |
-{
-width: number,
-height: number
-}
- |
--
- |
-设置图片解码尺寸,将原始图片解码成指定尺寸的图片,number类型单位为px。
-
- |
-
-syncLoad8+
- |
-boolean
- |
-false
- |
-设置是否同步加载图片,默认是异步加载。同步加载时阻塞UI线程,不会显示占位图。
- |
-
-
-
-
-- ImageFit枚举说明
-
- 名称
- |
- 描述
- |
-
-
- Cover
- |
- 保持宽高比进行缩小或者放大,使得图片两边都大于或等于显示边界。
- |
-
- Contain
- |
- 保持宽高比进行缩小或者放大,使得图片完全显示在显示边界内。
- |
-
- Fill
- |
- 不保持宽高比进行放大缩小,使得图片填充满显示边界。
- |
-
- None
- |
- 保持原有尺寸显示。通常配合objectRepeat属性一起使用。
- |
-
- ScaleDown
- |
- 保持宽高比显示,图片缩小或者保持不变。
- |
-
-
-
-
-
-- ImageInterpolation枚举说明
-
- 名称
- |
- 描述
- |
-
-
- None
- |
- 不使用插值图片数据。
- |
-
- High
- |
- 高度使用插值图片数据,可能会影响图片渲染的速度。
- |
-
- Medium
- |
- 中度使用插值图片数据。
- |
-
- Low
- |
- 低度使用插值图片数据。
- |
-
-
-
-
-
-- ImageRenderMode枚举说明
-
- 名称
- |
- 描述
- |
-
-
- Original
- |
- 按照原图进行渲染,包括颜色。
- |
-
- Template
- |
- 将图像渲染为模板图像,忽略图片的颜色信息。
- |
-
-
-
-
-
-## 事件
-
-名称
- |
-功能描述
- |
-
-
-onComplete(callback: (event?: { width: number, height: number, componentWidth: number, componentHeight: number, loadingStatus: number }) => void)
- |
-图片成功加载时触发该回调,返回成功加载的图源尺寸。
- |
-
-onError(callback: (event?: { componentWidth: number, componentHeight: number }) => void)
- |
-图片加载出现异常时触发该回调。
- |
-
-onFinish(callback: () => void)
- |
-当加载的源文件为带动效的svg图片时,当svg动效播放完成时会触发这个回调,如果动效为无限循环动效,则不会触发这个回调。
- |
-
-
-
-
-## 示例
+
+## 接口
+
+Image(value: {uri: string | PixelMap})
+
+- 参数
+ | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
+ | -------- | -------- | -------- | -------- | -------- |
+ | uri | string | 是 | - | 图片的uri,支持本地图片和网络路径。 |
+
+
+## 属性
+
+| 名称 | 参数类型 | 默认值 | 描述 |
+| -------- | -------- | -------- | -------- |
+| alt | string | - | 加载时显示的占位图。支持本地图片和网络路径。 |
+| objectFit | ImageFit | Cover | 设置图片的缩放类型。 |
+| objectRepeat | [ImageRepeat](ts-appendix-enums.md#imagerepeat枚举说明) | NoRepeat | 设置图片的重复样式。
>  **说明:**
> - SVG类型图源不支持该属性。 |
+| interpolation | ImageInterpolation | None | 设置图片的插值效果,仅针对图片放大插值。
>  **说明:**
> - SVG类型图源不支持该属性。
>
> - PixelMap资源不支持该属性。 |
+| renderMode | ImageRenderMode | Original | 设置图片渲染的模式。
>  **说明:**
> - SVG类型图源不支持该属性。 |
+| sourceSize | {
width: number,
height: number
} | - | 设置图片解码尺寸,将原始图片解码成指定尺寸的图片,number类型单位为px。
>  **说明:**
> PixelMap资源不支持该属性。 |
+| syncLoad8+ | boolean | false | 设置是否同步加载图片,默认是异步加载。同步加载时阻塞UI线程,不会显示占位图。 |
+
+- ImageFit枚举说明
+ | 名称 | 描述 |
+ | -------- | -------- |
+ | Cover | 保持宽高比进行缩小或者放大,使得图片两边都大于或等于显示边界。 |
+ | Contain | 保持宽高比进行缩小或者放大,使得图片完全显示在显示边界内。 |
+ | Fill | 不保持宽高比进行放大缩小,使得图片填充满显示边界。 |
+ | None | 保持原有尺寸显示。通常配合objectRepeat属性一起使用。 |
+ | ScaleDown | 保持宽高比显示,图片缩小或者保持不变。 |
+
+- ImageInterpolation枚举说明
+ | 名称 | 描述 |
+ | -------- | -------- |
+ | None | 不使用插值图片数据。 |
+ | High | 高度使用插值图片数据,可能会影响图片渲染的速度。 |
+ | Medium | 中度使用插值图片数据。 |
+ | Low | 低度使用插值图片数据。 |
+
+- ImageRenderMode枚举说明
+ | 名称 | 描述 |
+ | -------- | -------- |
+ | Original | 按照原图进行渲染,包括颜色。 |
+ | Template | 将图像渲染为模板图像,忽略图片的颜色信息。 |
+
+
+## 事件
+
+| 名称 | 功能描述 |
+| -------- | -------- | -------- |
+| onComplete(callback: (event?: { width: number, height: number, componentWidth: number, componentHeight: number, loadingStatus: number }) => void) | 图片成功加载时触发该回调,返回成功加载的图源尺寸。 |
+| onError(callback: (event?: { componentWidth: number, componentHeight: number }) => void) | 图片加载出现异常时触发该回调。 |
+| onFinish(callback: () => void) | 当加载的源文件为带动效的svg图片时,当svg动效播放完成时会触发这个回调,如果动效为无限循环动效,则不会触发这个回调。 |
+
+
+## 示例
```
// Image1
@Entry
@Component
struct ImageExample1 {
- private on: string = 'http://uxd.rnd.huawei.com/uxIcon/file/2021-08/d2d6e6c6-043f-471e-80e3-57199142201e.svg'
+ private on: string = 'www.example.com'
@State src: string = this.on
build() {
@@ -319,7 +139,7 @@ struct ImageExample1 {
}
```
-
+
```
// Image2
@@ -388,7 +208,7 @@ struct ImageExample2 {
}
```
-
+
```
// Image3
@@ -450,4 +270,4 @@ struct ImageExample3 {
}
```
-
\ No newline at end of file
+
diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-imageanimator.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-imageanimator.md
index e99ba3230c1baaa67b29f49391c621a3009a1fe5..19087baf60dd31f2bf438d8f8d0c627996fbc77d 100644
--- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-imageanimator.md
+++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-imageanimator.md
@@ -1,241 +1,67 @@
-# ImageAnimator
+# ImageAnimator
+
+>  **说明:**
+> 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
-> **说明:**
->该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
提供帧动画组件来实现逐帧播放图片的能力,可以配置需要播放的图片列表,每张图片可以配置时长。
-## 权限列表
+
+## 权限列表
无
-## 子组件
+
+## 子组件
无
-## 接口
-ImageAnimator\(\)
+## 接口
-## 属性
+ImageAnimator()
-参数名称
- |
-参数类型
- |
-默认值
- |
-必填
- |
-参数描述
- |
-
-
-images
- |
-Array<{
-src:string,
-width?:Length,
-height?:Length,
-top?:Length,
-left?:Length,
-duration?:number
-}>
- |
-[]
- |
-是
- |
-设置图片帧信息集合。每一帧的帧信息包含图片路径、图片大小、图片位置和图片播放时长信息。详细说明如下:
-src:图片路径,图片格式为svg,png和jpg。
-width:图片宽度。
-height:图片高度。
-top:图片相对于组件左上角的纵向坐标。
-left:图片相对于组件左上角的横向坐标。
-duration:每一帧图片的播放时长,单位毫秒。
- |
-
-state
- |
-AnimationStatus
- |
-Initial
- |
-否
- |
-默认为初始状态,用于控制播放状态。
- |
-
-duration
- |
-number
- |
-1000
- |
-否
- |
-单位为毫秒,默认时长为1000ms;duration为0时,不播放图片;值的改变只会在下一次循环开始时生效;当images中设置了单独的duration后,该属性设置无效。
- |
-
-reverse
- |
-boolean
- |
-false
- |
-否
- |
-设置播放顺序。false表示从第1张图片播放到最后1张图片; true表示从最后1张图片播放到第1张图片。
- |
-
-fixedSize
- |
-boolean
- |
-true
- |
-否
- |
-设置图片大小是否固定为组件大小。 true表示图片大小与组件大小一致,此时设置图片的width 、height 、top 和left属性是无效的。false表示每一张图片的 width 、height 、top和left属性都要单独设置。
- |
-
-preDecode
- |
-number
- |
-0
- |
-否
- |
-是否启用预解码,默认值为0,即不启用预解码,如该值设为2,则播放当前页时会提前加载后面两张图片至缓存以提升性能。
- |
-
-fillMode
- |
-FillMode
- |
-Forwards
- |
-否
- |
-设置动画开始前和结束后的状态,可选值参见FillMode说明。
- |
-
-iterations
- |
-number
- |
-1
- |
-否
- |
-默认播放一次,设置为-1时表示无限次播放。
- |
-
-
-
-- AnimationStatus枚举说明
+## 属性
- 名称
- |
- 描述
- |
-
-
- Initial
- |
- 动画初始状态。
- |
-
- Running
- |
- 动画处于播放状态。
- |
-
- Paused
- |
- 动画处于暂停状态。
- |
-
- Stopped
- |
- 动画处于停止状态。
- |
-
-
-
+| 参数名称 | 参数类型 | 默认值 | 必填 | 参数描述 |
+| -------- | -------- | -------- | -------- | -------- |
+| images | Array<{
src:string,
width?:Length,
height?:Length,
top?:Length,
left?:Length,
duration?:number
}> | [] | 是 | 设置图片帧信息集合。每一帧的帧信息包含图片路径、图片大小、图片位置和图片播放时长信息。详细说明如下:
src:图片路径,图片格式为svg,png和jpg。
width:图片宽度。
height:图片高度。
top:图片相对于组件左上角的纵向坐标。
left:图片相对于组件左上角的横向坐标。
duration:每一帧图片的播放时长,单位毫秒。 |
+| state | AnimationStatus | Initial | 否 | 默认为初始状态,用于控制播放状态。 |
+| duration | number | 1000 | 否 | 单位为毫秒,默认时长为1000ms;duration为0时,不播放图片;值的改变只会在下一次循环开始时生效;当images中设置了单独的duration后,该属性设置无效。 |
+| reverse | boolean | false | 否 | 设置播放顺序。false表示从第1张图片播放到最后1张图片; true表示从最后1张图片播放到第1张图片。 |
+| fixedSize | boolean | true | 否 | 设置图片大小是否固定为组件大小。 true表示图片大小与组件大小一致,此时设置图片的width 、height 、top 和left属性是无效的。false表示每一张图片的 width 、height 、top和left属性都要单独设置。 |
+| preDecode | number | 0 | 否 | 是否启用预解码,默认值为0,即不启用预解码,如该值设为2,则播放当前页时会提前加载后面两张图片至缓存以提升性能。 |
+| fillMode | FillMode | Forwards | 否 | 设置动画开始前和结束后的状态,可选值参见FillMode说明。 |
+| iterations | number | 1 | 否 | 默认播放一次,设置为-1时表示无限次播放。 |
+- AnimationStatus枚举说明
+ | **名称** | **描述** |
+ | -------- | -------- |
+ | Initial | 动画初始状态**。** |
+ | Running | 动画处于播放状态。 |
+ | Paused | 动画处于暂停状态。 |
+ | Stopped | 动画处于停止状态。 |
-- FillMode枚举值说明
+- FillMode枚举值说明
+ | 名称 | 描述 |
+ | -------- | -------- |
+ | None | 播放完成后恢复初始状态。 |
+ | Forwards | 播放完成后保持动画结束时的状态。 |
- 名称
- |
- 描述
- |
-
-
- None
- |
- 播放完成后恢复初始状态。
- |
-
- Forwards
- |
- 播放完成后保持动画结束时的状态。
- |
-
- Backwards
- |
- 在animation-delay所指定的一段时间内,在动画显示之前,应用开始属性值。
- |
-
- Both
- |
- 向前和向后填充模式都被应用。
- |
-
-
-
+## 事件
-## 事件
+| 名称 | 功能描述 |
+| -------- | -------- | -------- |
+| onStart() => void | 状态回调,动画开始播放时触发。 |
+| onPause() => void | 状态回调,动画暂停播放时触发。 |
+| onRepeat() => void | 状态回调,动画重新播放时触发。 |
+| onCancel() => void | 状态回调,动画取消播放时触发。 |
+| onFinish() => void | 状态回调,动画播放完成时触发。 |
-名称
- |
-功能描述
- |
-
-
-onStart() => void
- |
-状态回调,动画开始播放时触发。
- |
-
-onPause() => void
- |
-状态回调,动画暂停播放时触发。
- |
-
-onRepeat() => void
- |
-状态回调,动画重新播放时触发。
- |
-
-onCancel() => void
- |
-状态回调,动画取消播放时触发。
- |
-
-onFinish() => void
- |
-状态回调,动画播放完成时触发。
- |
-
-
-
-## 示例
+## 示例
```
@Entry
@@ -327,5 +153,4 @@ struct ImageAnimatorExample {
}
```
-
-
+
diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-marquee.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-marquee.md
deleted file mode 100644
index e946c18503add3dfaacee6cd62b139532947ed6a..0000000000000000000000000000000000000000
--- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-marquee.md
+++ /dev/null
@@ -1,170 +0,0 @@
-# Marquee
-
-> **说明:**
->该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
-
-跑马灯组件,用于滚动展示一段单行文本。
-
-## 权限列表
-
-无
-
-## 子组件
-
-无
-
-## 接口
-
-Marquee\(value: \{ start: boolean, step?: number, loop?: number, fromStart?: boolean, src: string \}\)
-
-- 参数
-
- 参数名
- |
- 参数类型
- |
- 必填
- |
- 默认值
- |
- 参数描述
- |
-
-
- start
- |
- boolean
- |
- 是
- |
- -
- |
- 控制是否进入播放状态。
- |
-
- step
- |
- number
- |
- 否
- |
- 6
- |
- 滚动动画文本滚动步长。
- |
-
- loop
- |
- number
- |
- 否
- |
- -1
- |
- 设置重复滚动的次数,小于等于零时无限循环。
- |
-
- fromStart
- |
- boolean
- |
- 否
- |
- true
- |
- 设置文本从头开始滚动或反向滚动。
- |
-
- src
- |
- string
- |
- 是
- |
- -
- |
- 需要滚动的文本。
- |
-
-
-
-
-
-## 事件
-
-名称
- |
-功能描述
- |
-
-
-onStart(callback: () => void)
- |
-开始滚动时触发回调。
- |
-
-onBounce(callback: () => void)
- |
-滚动到底时触发回调。
- |
-
-onFinish(callback: () => void)
- |
-滚动完成时触发回调。
- |
-
-
-
-
-## 示例
-
-```
-@Entry
-@Component
-struct MarqueeExample {
- @State start: boolean = false
- @State fromStart: boolean = true
- @State step: number = 50
- @State loop: number = 3
- @State src: string = "Running Marquee starts rolling"
-
- build() {
- Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
- Marquee({
- start: this.start,
- step: this.step,
- loop: this.loop,
- fromStart: this.fromStart,
- src: this.src
- })
- .fontColor(Color.White)
- .fontSize(50)
- .allowScale(false)
- .fontWeight(FontWeight.Bold)
- .backgroundColor(Color.Black)
- .margin({bottom:40})
- .onStart(() => {
- console.log('Marquee animation complete onStart')
- })
- .onBounce(() => {
- console.log('Marquee animation complete onBounce')
- })
- .onFinish(() => {
- console.log('Marquee animation complete onFinish')
- })
- Button('start')
- .onClick(() => {
- this.start = true
- })
- .width(200)
- .height(60)
- .margin({bottom:20})
- }
- .width('100%')
- .height('100%')
- }
-}
-```
-
-
-
diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-navigation.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-navigation.md
new file mode 100644
index 0000000000000000000000000000000000000000..aaaffec88d0661ddd173b180dd9e9d7e76126816
--- /dev/null
+++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-navigation.md
@@ -0,0 +1,219 @@
+# Navigation
+
+>  **说明:**
+> 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
+
+
+Navigation组件一般作为Page页面的根容器,通过属性设置来展示页面的标题、工具栏、菜单。
+
+
+## 权限列表
+
+无
+
+
+## 子组件
+
+可以包含子组件。
+
+
+## 接口
+
+Navigation()
+
+创建可以根据属性设置,自动展示导航栏、标题、工具栏的组件。
+
+
+## 属性
+
+| 名称 | 参数类型 | 默认值 | 描述 |
+| -------- | -------- | -------- | -------- |
+| title | string \| [CustomBuilder](../../ui/ts-types.md#custombuilder类型8+)8+ | - | 页面标题。 |
+| subtitle | string | - | 页面副标题。 |
+| menus | Array8+ | - | 页面右上角菜单。 |
+| titleMode | NavigationTitleMode | NavigationTitleMode.Free | 页面标题栏显示模式。 |
+| toolBar | {
items:[
Object
] }
\| [CustomBuilder](../../ui/ts-types.md#custombuilder类型8+)8+ | - | 设置工具栏内容。
items: 工具栏所有项。 |
+| hideToolBar | boolean | false | 设置隐藏/显示工具栏:
true: 隐藏工具栏。
false: 显示工具栏。 |
+| hideTitleBar | boolean | false | 隐藏标题栏。 |
+| hideBackButton | boolean | false | 隐藏返回键。 |
+
+- NavigationMenuItem类型接口说明
+ | 名称 | 类型 | 必填 | 默认值 | 描述 |
+ | -------- | -------- | -------- | -------- | -------- |
+ | value | string | 是 | - | 菜单栏单个选项的显示文本。 |
+ | icon | string | 否 | - | 菜单栏单个选项的图标资源路径。 |
+ | action | () => void | 否 | - | 当前选项被选中的事件回调。 |
+
+- Object类型接口说明
+ | 名称 | 类型 | 必填 | 默认值 | 描述 |
+ | -------- | -------- | -------- | -------- | -------- |
+ | value | string | 是 | - | 工具栏单个选项的显示文本。 |
+ | icon | string | 否 | - | 工具栏单个选项的图标资源路径。 |
+ | action | () => void | 否 | - | 当前选项被选中的事件回调。 |
+
+- NavigationTitleMode枚举说明
+ | 名称 | 描述 |
+ | -------- | -------- |
+ | Free | 当内容为可滚动组件时,标题随着内容向上滚动而缩小(子标题的大小不变、淡出)。向下滚动内容到顶时则恢复原样。 |
+ | Mini | 固定为小标题模式(图标+主副标题)。 |
+ | Full | 固定为大标题模式(主副标题)。 |
+
+ >  **说明:**
+ > 目前可滚动组件只支持List。
+
+
+## 事件
+
+| 名称 | 功能描述 |
+| -------- | -------- |
+| onTitleModeChanged(callback: (titleMode: NavigationTitleMode) => void) | 当titleMode为NavigationTitleMode.Free时,随着可滚动组件的滑动标题栏模式发生变化时触发此回调。 |
+
+
+## 示例
+
+```
+// Example 01
+@Entry
+@Component
+struct NavigationExample {
+ private arr: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
+ @State hideBar: boolean = true
+
+ @Builder NavigationTitle() {
+ Column() {
+ Text('title')
+ .width(80)
+ .height(60)
+ .fontColor(Color.Blue)
+ .fontSize(30)
+ }
+ .onClick(() => {
+ console.log("title")
+ })
+ }
+
+ @Builder NavigationMenus() {
+ Row() {
+ Image('images/add.png')
+ .width(25)
+ .height(25)
+ Image('comment/more.png')
+ .width(25)
+ .height(25)
+ .margin({ left: 30 })
+ }.width(100)
+ }
+
+ build() {
+ Column() {
+ Navigation() {
+ Search({ value: '', placeholder: "" }).width('85%').margin(26)
+ List({ space: 5, initialIndex: 0 }) {
+ ForEach(this.arr, (item) => {
+ ListItem() {
+ Text('' + item)
+ .width('90%')
+ .height(80)
+ .backgroundColor('#3366CC')
+ .borderRadius(15)
+ .fontSize(16)
+ .textAlign(TextAlign.Center)
+ }.editable(true)
+ }, item => item)
+ }
+ .listDirection(Axis.Vertical)
+ .height(300)
+ .margin({ top: 10, left: 18 })
+ .width('100%')
+
+ Button(this.hideBar ? "tool bar" : "hide bar")
+ .onClick(() => {
+ this.hideBar = !this.hideBar
+ })
+ .margin({ left: 135, top: 60 })
+ }
+ .title(this.NavigationTitle)
+ .subTitle('subtitle')
+ .menus(this.NavigationMenus)
+ .titleMode(NavigationTitleMode.Free)
+ .hideTitleBar(false)
+ .hideBackButton(false)
+ .onTitleModeChanged((titleModel: NavigationTitleMode) => {
+ console.log('titleMode')
+ })
+ .toolBar({ items: [
+ { value: 'app', icon: 'images/grid.svg', action: () => {
+ console.log("app")
+ } },
+ { value: 'add', icon: 'images/add.svg', action: () => {
+ console.log("add")
+ } },
+ { value: 'collect', icon: 'images/collect.svg', action: () => {
+ console.log("collect")
+ } }] })
+ .hideToolBar(this.hideBar)
+ }
+ }
+}
+```
+
+
+
+```
+// Example 02
+@Entry
+@Component
+struct ToolbarBuilderExample {
+ @State currentIndex: number = 0
+ @State Build: Array