鸿蒙应用服务开发【钱包服务(ArkTS)】

news2024/9/20 16:57:36

介绍

基于Stage模型,提供钱包交通卡和Pass卡的开卡、预览卡、查询卡信息、更新卡片信息、删除卡片、初始化钱包环境等功能。

效果预览

1

具体实现

交通卡

在@hms.core.payment.walletTransitCard中定义了钱包交通卡接口API,示例接口如下:

  /**
     * Obtains an array of CardMetadataInDevice objects, each of which contains the device information and the metadata of every card supported by the device.
     * An empty array will be returned in the device without eSE or if the specified device does not support any transit card.
     *
     * @param { DeviceType } specifiedDeviceType - Type of the specified device.
     * @param { string } callerToken? - Authentication JWT token of the mini program in Wechat, Alipay, and the like.
     * @returns { Promise<CardMetadataInDevice[]> } - Returns the array of CardMetadataInDevice objects, each of which contains the device information and the metadata of every card.
     * @throws { BusinessError } 401 - Parameter error. Possible causes: Parameter verification failed.
     * @throws { BusinessError } 1010200001 - No permission to access the Wallet APIs.
     * @throws { BusinessError } 1010200002 - Wallet app not found.
     * @throws { BusinessError } 1010200003 - The environment of the wallet is not ready.
     * @throws { BusinessError } 1010200006 - The device's remote paired watch cannot be connected.
     * @throws { BusinessError } 1010200010 - Network connection error.
     * @throws { BusinessError } 1010200013 - Operation failed because of an internal error.
     * @throws { BusinessError } 1010200014 - The Wallet APIs can be called by the device owner only.
     * @syscap SystemCapability.Payment.Wallet
     * @atomicservice
     * @since 5.0.0(12)
     */
    getCardMetadataInDevice(specifiedDeviceType: DeviceType, callerToken?: string): Promise<CardMetadataInDevice[]>;

    /**
     * Obtains the information of a transit card.
     *
     * @param { string } logicalCardNumber - Serial number of the card.
     * @param { string } callerToken? - Authentication JWT token of the mini program in Wechat, Alipay, and the like.
     * @param { string } specifiedDeviceId - ID of the device where the card exists.
     * @returns { Promise<TransitCardInfo> } - Returns the transit card information.
     * @throws { BusinessError } 401 - Parameter error. Possible causes: Parameter verification failed.
     * @throws { BusinessError } 1010200001 - No permission to access the Wallet APIs.
     * @throws { BusinessError } 1010200002 - Wallet app not found.
     * @throws { BusinessError } 1010200003 - The environment of the wallet is not ready.
     * @throws { BusinessError } 1010200006 - The device's remote paired watch cannot be connected.
     * @throws { BusinessError } 1010200010 - Network connection error.
     * @throws { BusinessError } 1010210101 - The card status is not correct.
     * @throws { BusinessError } 1010210119 - Failed to read the card data.
     * @throws { BusinessError } 1010200013 - Operation failed because of an internal error.
     * @throws { BusinessError } 1010200014 - The Wallet APIs can be called by the device owner only.
     * @syscap SystemCapability.Payment.Wallet
     * @atomicservice
     * @since 5.0.0(12)
     */
    getTransitCardInfo(logicalCardNumber: string, specifiedDeviceId: string,
      callerToken?: string): Promise<TransitCardInfo>;

    /**
     * Checks whether a transit card can be added in Wallet in the specified device.
     *
     * @param { string } issuerId - ID of the issuer of the card. The value is from CardMetadata in CardMetadataInDevice.
     * @param { string } specifiedDeviceId - ID of the device where the card will be added. The value is from CardMetadataInDevice.
     * @returns { Promise<string> } - Returns a token for adding the card.
     * @throws { BusinessError } 401 - Parameter error. Possible causes: Parameter verification failed.
     * @throws { BusinessError } 1010200001 - No permission to access the Wallet APIs.
     * @throws { BusinessError } 1010200002 - Wallet app not found.
     * @throws { BusinessError } 1010200003 - The environment of the wallet is not ready.
     * @throws { BusinessError } 1010200006 - The device's remote paired watch cannot be connected.
     * @throws { BusinessError } 1010200007 - The OS version is too old. Please upgrade the OS version.
     * @throws { BusinessError } 1010200008 - The wallet version is too old.
     * @throws { BusinessError } 1010200009 - The chip space is full, and no more cards can be added.
     * @throws { BusinessError } 1010200010 - Network connection error.
     * @throws { BusinessError } 1010200013 - Operation failed because of an internal error.
     * @throws { BusinessError } 1010200014 - The Wallet APIs can be called by the device owner only.
     * @throws { BusinessError } 1010200016 - This card is not available for the current country or region.
     * @throws { BusinessError } 1010210201 - The device does not support adding the card specified by issuerId.
     * @throws { BusinessError } 1010210202 - A card conflicting with the specified card already exists in the device.
     * @throws { BusinessError } 1010210203 - The specified card already exists.
     * @throws { BusinessError } 1010210204 - The card addition service is temporarily offline.
     * @syscap SystemCapability.Payment.Wallet
     * @atomicservice
     * @since 5.0.0(12)
     */
    canAddTransitCard(issuerId: string, specifiedDeviceId: string): Promise<string>;

    /**
     * Sets up the Wallet app's environment.
     * You should call this API to setup the Wallet app when you get the error code below from another API:
     * Error code: 1010200002 - Wallet app not found. A dialog box will be displayed to guide the user to install the app.
     * Error code: 1010200003 - The environment of the wallet is not ready. The Wallet app will be opened. The user needs to accept the
     * privacy agreement of Wallet and log in with a Huawei ID.
     *
     * @returns { Promise<void> } - Promise that returns no value.
     * @throws { BusinessError } 401 - Parameter error. Possible causes: Parameter verification failed.
     * @throws { BusinessError } 1010200014 - The Wallet APIs can be called by the device owner only.
     * @throws { BusinessError } 1010200002 - Wallet app not found.
     * @throws { BusinessError } 1010200011 - Failed to initialize the environment.
     * @throws { BusinessError } 1010200013 - Operation failed because of an internal error.
     * @throws { BusinessError } 1010200017 - The Wallet app was closed by the user.
     * @syscap SystemCapability.Payment.Wallet
     * @atomicservice
     * @since 5.0.0(12)
     */
    setupWalletEnvironment(): Promise<void>;

    /**
     * Adds a transit card into the wallet and returns the card metadata.
     *
     * @param { string } addCardOpaqueData - Result of the function canAddTransitCard.
     * @param { string } serverOrderId - Order ID generated in the service provider's backend server for the card addition business.
     * @returns { Promise<CardMetadata> } - Returns the card metadata.
     * @throws { BusinessError } 401 - Parameter error. Possible causes: Parameter verification failed.
     * @throws { BusinessError } 1010200001 - No permission to access the Wallet APIs.
     * @throws { BusinessError } 1010200010 - Network connection error.
     * @throws { BusinessError } 1010200013 - Operation failed because of an internal error.
     * @throws { BusinessError } 1010200014 - The Wallet APIs can be called by the device owner only.
     * @throws { BusinessError } 1010200016 - This card is not available for the current country or region.
     * @throws { BusinessError } 1010200017 - The Wallet app was closed by the user.
     * @throws { BusinessError } 1010210301 - The card adding conditions are not met. The order can be refunded to end the card addition process.
     * @throws { BusinessError } 1010210319 - Failed to add the card.
     * @syscap SystemCapability.Payment.Wallet
     * @atomicservice
     * @since 5.0.0(12)
     */
    addTransitCard(addCardOpaqueData: string, serverOrderId: string): Promise<CardMetadata>;

    /**
     * Recharges a transit card according to the service specified by serverOrderId and returns the new balance.
     *
     * @param { string } logicalCardNumber - Serial number of the card.
     * @param { string } specifiedDeviceId - ID of the device where the card exists.
     * @param { string } serverOrderId - Order ID generated in the service provider's backend server for the balance recharging service.
     * @returns { Promise<number> } - Returns the new balance.
     * @throws { BusinessError } 401 - Parameter error. Possible causes: Parameter verification failed.
     * @throws { BusinessError } 1010200001 - No permission to access the Wallet APIs.
     * @throws { BusinessError } 1010200002 - Wallet app not found.
     * @throws { BusinessError } 1010200003 - The environment of the wallet is not ready.
     * @throws { BusinessError } 1010200006 - The device's remote paired watch cannot be connected.
     * @throws { BusinessError } 1010200010 - Network connection error.
     * @throws { BusinessError } 1010200013 - Operation failed because of an internal error.
     * @throws { BusinessError } 1010200014 - The Wallet APIs can be called by the device owner only.
     * @throws { BusinessError } 1010210401 - The specified card does not exist.
     * @throws { BusinessError } 1010210402 - The status of the specified card is incorrect.
     * @throws { BusinessError } 1010210419 - Failed to recharge the card.
     * @syscap SystemCapability.Payment.Wallet
     * @atomicservice
     * @since 5.0.0(12)
     */
    rechargeTransitCard(logicalCardNumber: string, specifiedDeviceId: string, serverOrderId: string): Promise<number>;

    /**
     * Updates the data of a transit card according to the service specified by serverOrderId.
     *
     * @param { string } logicalCardNumber - Serial number of the card.
     * @param { string } specifiedDeviceId - ID of the device where the card exists.
     * @param { string } serverOrderId - Order ID generated in the service provider's backend server for the card data update service.
     * @returns { Promise<void> } - Promise that returns no value.
     * @throws { BusinessError } 401 - Parameter error. Possible causes: Parameter verification failed.
     * @throws { BusinessError } 1010200001 - No permission to access the Wallet APIs.
     * @throws { BusinessError } 1010200002 - Wallet app not found.
     * @throws { BusinessError } 1010200003 - The environment of the wallet is not ready.
     * @throws { BusinessError } 1010200006 - The device's remote paired watch cannot be connected.
     * @throws { BusinessError } 1010200010 - Network connection error.
     * @throws { BusinessError } 1010200013 - Operation failed because of an internal error.
     * @throws { BusinessError } 1010200014 - The Wallet APIs can be called by the device owner only.
     * @throws { BusinessError } 1010210501 - The specified card does not exist.
     * @throws { BusinessError } 1010210502 - The status of the specified card is incorrect.
     * @throws { BusinessError } 1010210519 - Failed to update the card data.
     * @syscap SystemCapability.Payment.Wallet
     * @atomicservice
     * @since 5.0.0(12)
     */
    updateTransitCard(logicalCardNumber: string, specifiedDeviceId: string, serverOrderId: string): Promise<void>;

    /**
     * Deletes a transit card according to the service specified by serverOrderId.
     *
     * @param { string } logicalCardNumber - Serial number of the card.
     * @param { string } specifiedDeviceId - ID of the device where the card exists.
     * @param { string } serverOrderId - Order ID generated in the service provider's backend server for the card deletion service.
     * @returns { Promise<void> } - Promise that returns no value.
     * @throws { BusinessError } 401 - Parameter error. Possible causes: Parameter verification failed.
     * @throws { BusinessError } 1010200001 - No permission to access the Wallet APIs.
     * @throws { BusinessError } 1010200002 - Wallet app not found.
     * @throws { BusinessError } 1010200003 - The environment of the wallet is not ready.
     * @throws { BusinessError } 1010200006 - The device's remote paired watch cannot be connected.
     * @throws { BusinessError } 1010200010 - Network connection error.
     * @throws { BusinessError } 1010200013 - Operation failed because of an internal error.
     * @throws { BusinessError } 1010200014 - The Wallet APIs can be called by the device owner only.
     * @throws { BusinessError } 1010210619 - Failed to delete the card.
     * @syscap SystemCapability.Payment.Wallet
     * @atomicservice
     * @since 5.0.0(12)
     */
    deleteTransitCard(logicalCardNumber: string, specifiedDeviceId: string, serverOrderId: string): Promise<void>;

Pass卡

在@hms.core.payment.walletPass中定义了钱包Pass卡接口API,示例接口如下:

  /**
     * Obtains the device information of a pass card.
     *
     * @param { string } passStr - Pass card information.
     * @returns { Promise<string> } - Returns a string in JSON format, which contains the device information.
     * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
     * @throws { BusinessError } 1010200001 - No permission to access the Wallet APIs.
     * @throws { BusinessError } 1010200002 - Wallet app not found.
     * @throws { BusinessError } 1010200003 - The environment of the wallet is not ready.
     * @throws { BusinessError } 1010200006 - The device's remote paired watch cannot be connected.
     * @throws { BusinessError } 1010200010 - Network connection error.
     * @throws { BusinessError } 1010200013 - Operation failed because of an internal error.
     * @throws { BusinessError } 1010200014 - The Wallet APIs can be called by the device owner only.
     * @throws { BusinessError } 1010220003 - Pass service is temporarily unavailable.
     * @syscap SystemCapability.Payment.Wallet
     * @atomicservice
     * @since 5.0.0(12)
     */
    queryPassDeviceInfo(passStr: string): Promise<string>;

    /**
     * Checks whether a pass card can be added to this device or the remote paired watch.
     *
     * @param { string } passStr - Pass card information.
     * @returns { Promise<string> } - Returns a string indicating the check result.
     * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
     * @throws { BusinessError } 1010200001 - No permission to access the Wallet APIs.
     * @throws { BusinessError } 1010200002 - Wallet app not found.
     * @throws { BusinessError } 1010200003 - The environment of the wallet is not ready.
     * @throws { BusinessError } 1010200004 - The device does not support this card.
     * @throws { BusinessError } 1010200006 - The device's remote paired watch cannot be connected.
     * @throws { BusinessError } 1010200009 - The chip space is full, and no more cards can be added.
     * @throws { BusinessError } 1010200010 - Network connection error.
     * @throws { BusinessError } 1010200013 - Operation failed because of an internal error.
     * @throws { BusinessError } 1010200014 - The Wallet APIs can be called by the device owner only.
     * @throws { BusinessError } 1010200015 - This card is not available for a child account.
     * @throws { BusinessError } 1010200016 - This card is not available for the current country or region.
     * @throws { BusinessError } 1010220002 - The card already exists in the specified device.
     * @throws { BusinessError } 1010220003 - Pass service is temporarily unavailable.
     * @throws { BusinessError } 1010220005 - The number of cards has reached the upper limit.
     * @syscap SystemCapability.Payment.Wallet
     * @atomicservice
     * @since 5.0.0(12)
     */
    canAddPass(passStr: string): Promise<string>;

    /**
     * Initializes the Wallet app's environment.
     *
     * @param { string } passStr - Pass card information.
     * @returns { Promise<void> } - Promise that returns no value.
     * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
     * @throws { BusinessError } 1010200002 - Wallet app not found.
     * @throws { BusinessError } 1010200005 - The operation was canceled by the user.
     * @throws { BusinessError } 1010200011 - Failed to initialize the environment.
     * @throws { BusinessError } 1010200013 - Operation failed because of an internal error.
     * @throws { BusinessError } 1010200014 - The Wallet APIs can be called by the device owner only.
     * @throws { BusinessError } 1010200017 - The Wallet app was closed by the user.
     * @syscap SystemCapability.Payment.Wallet
     * @atomicservice
     * @since 5.0.0(12)
     */
    initWalletEnvironment(passStr: string): Promise<void>;

    /**
     * Adds a pass card into Wallet.
     *
     * @param { string } passStr - Pass card information.
     * @returns { Promise<string> } - Returns a string indicating whether the pass card has been added.
     * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
     * @throws { BusinessError } 1010200002 - Wallet app not found.
     * @throws { BusinessError } 1010200004 - The device does not support this card.
     * @throws { BusinessError } 1010200005 - The operation was canceled by the user.
     * @throws { BusinessError } 1010200006 - The device's remote paired watch cannot be connected.
     * @throws { BusinessError } 1010200009 - The chip space is full, and no more cards can be added.
     * @throws { BusinessError } 1010200012 - Duplicate request.
     * @throws { BusinessError } 1010200013 - Operation failed because of an internal error.
     * @throws { BusinessError } 1010200014 - The Wallet APIs can be called by the device owner only.
     * @throws { BusinessError } 1010200015 - This card is not available for a child account.
     * @throws { BusinessError } 1010200016 - This card is not available for the current country or region.
     * @throws { BusinessError } 1010200017 - The Wallet app was closed by the user.
     * @throws { BusinessError } 1010220002 - The card already exists in the specified device.
     * @throws { BusinessError } 1010220003 - Pass service is temporarily unavailable.
     * @throws { BusinessError } 1010220005 - The number of cards has reached the upper limit.
     * @throws { BusinessError } 1010220401 - Failed to add the card because the signature verification failed.
     * @throws { BusinessError } 1010220402 - Failed to add the card because the data decryption failed.
     * @throws { BusinessError } 1010220403 - Failed to add the card because the instance ID does not exist.
     * @throws { BusinessError } 1010220404 - Failed to add the card because the instance ID has been used.
     * @syscap SystemCapability.Payment.Wallet
     * @atomicservice
     * @since 5.0.0(12)
     */
    addPass(passStr: string): Promise<string>;

    /**
     * Obtains the pass cards in the specified device.
     *
     * @param { string } passStr - Pass card information.
     * @returns { Promise<string> } - Returns the pass cards in the specified device.
     * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
     * @throws { BusinessError } 1010200001 - No permission to access the Wallet APIs.
     * @throws { BusinessError } 1010200002 - Wallet app not found.
     * @throws { BusinessError } 1010200003 - The environment of the wallet is not ready.
     * @throws { BusinessError } 1010200006 - The device's remote paired watch cannot be connected.
     * @throws { BusinessError } 1010200013 - Operation failed because of an internal error.
     * @throws { BusinessError } 1010200014 - The Wallet APIs can be called by the device owner only.
     * @throws { BusinessError } 1010220501 - No card that meets the search criteria is found.
     * @syscap SystemCapability.Payment.Wallet
     * @atomicservice
     * @since 5.0.0(12)
     */
    queryPass(passStr: string): Promise<string>;

    /**
     * Views the enabled pass cards.
     *
     * @param { string } passStr - Pass card information.
     * @returns { Promise<void> } - Promise that returns no value.
     * @throws { BusinessError } 1010200002 - Wallet app not found.
     * @throws { BusinessError } 1010200013 - Operation failed because of an internal error.
     * @syscap SystemCapability.Payment.Wallet
     * @atomicservice
     * @since 5.0.0(12)
     */
    viewPass(passStr: string): Promise<void>;

    /**
     * Updates the data of a pass card.
     *
     * @param { string } passStr - Pass card information.
     * @returns { Promise<string> } - Returns a string indicating whether the pass card has been updated.
     * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
     * @throws { BusinessError } 1010200001 - No permission to access the Wallet APIs.
     * @throws { BusinessError } 1010200002 - Wallet app not found.
     * @throws { BusinessError } 1010200005 - The operation was canceled by the user.
     * @throws { BusinessError } 1010200006 - The device's remote paired watch cannot be connected.
     * @throws { BusinessError } 1010200010 - Network connection error.
     * @throws { BusinessError } 1010200013 - Operation failed because of an internal error.
     * @throws { BusinessError } 1010200014 - The Wallet APIs can be called by the device owner only.
     * @throws { BusinessError } 1010220003 - Pass service is temporarily unavailable.
     * @throws { BusinessError } 1010220004 - The card does not exist in the specified device.
     * @throws { BusinessError } 1010220701 - Failed to update the card because no update is detected.
     * @syscap SystemCapability.Payment.Wallet
     * @atomicservice
     * @since 5.0.0(12)
     */
    updatePass(passStr: string): Promise<string>;

    /**
     * Deletes a pass card.
     *
     * @param { string } passStr - Pass card information.
     * @returns { Promise<string> } - Returns a string indicating whether the pass card has been deleted.
     * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
     * @throws { BusinessError } 1010200001 - No permission to access the Wallet APIs.
     * @throws { BusinessError } 1010200002 - Wallet app not found.
     * @throws { BusinessError } 1010200005 - The operation was canceled by the user.
     * @throws { BusinessError } 1010200006 - The device's remote paired watch cannot be connected.
     * @throws { BusinessError } 1010200010 - Network connection error.
     * @throws { BusinessError } 1010200012 - Duplicate request.
     * @throws { BusinessError } 1010200013 - Operation failed because of an internal error.
     * @throws { BusinessError } 1010200014 - The Wallet APIs can be called by the device owner only.
     * @throws { BusinessError } 1010220003 - Pass service is temporarily unavailable.
     * @throws { BusinessError } 1010220004 - The card does not exist in the specified device.
     * @throws { BusinessError } 1010220801 - Failed to delete the card because the signature verification failed.
     * @syscap SystemCapability.Payment.Wallet
     * @atomicservice
     * @since 5.0.0(12)
     */
    deletePass(passStr: string): Promise<string>;

    /**
     * Checks the connection state between the device and the vehicle.
     *
     * @param { string } rkeStr - RKE command.
     * @returns { Promise<string> } - Returns a string in JSON format, which indicates the connection state between the device and the vehicle.
     * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
     * @throws { BusinessError } 1010200001 - No permission to access the Wallet APIs.
     * @throws { BusinessError } 1010200002 - Wallet app not found.
     * @throws { BusinessError } 1010200006 - The device's remote paired watch cannot be connected.
     * @throws { BusinessError } 1010200013 - Operation failed because of an internal error.
     * @throws { BusinessError } 1010200014 - The Wallet APIs can be called by the device owner only.
     * @throws { BusinessError } 1010220004 - The card does not exist in the specified device.
     * @syscap SystemCapability.Payment.Wallet
     * @atomicservice
     * @since 5.0.0(12)
     */
    queryICCEConnectionState(rkeStr: string): Promise<string>;

    /**
     * Initiates a connection to the vehicle.
     *
     * @param { string } rkeStr - RKE command.
     * @returns { Promise<string> } - Returns a string, which indicates whether the connection between the device and the vehicle is established.
     * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
     * @throws { BusinessError } 1010200001 - No permission to access the Wallet APIs.
     * @throws { BusinessError } 1010200002 - Wallet app not found.
     * @throws { BusinessError } 1010200006 - The device's remote paired watch cannot be connected.
     * @throws { BusinessError } 1010200010 - Network connection error.
     * @throws { BusinessError } 1010200012 - Duplicate request.
     * @throws { BusinessError } 1010200013 - Operation failed because of an internal error.
     * @throws { BusinessError } 1010200014 - The Wallet APIs can be called by the device owner only.
     * @throws { BusinessError } 1010220004 - The card does not exist in the specified device.
     * @throws { BusinessError } 1010221001 - Connection failed because the pairing code is not obtained.
     * @syscap SystemCapability.Payment.Wallet
     * @atomicservice
     * @since 5.0.0(12)
     */
    startICCEConnection(rkeStr: string): Promise<string>;

    /**
     * Registers an ICCE listener.
     *
     * @param { string } rkeStr - RKE command.
     * @param { rpc.RemoteObject } eventNotifyListener - Event listener.
     * @returns { Promise<string> } - Returns a string indicating whether the registration is successful.
     * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
     * @throws { BusinessError } 1010200001 - No permission to access the Wallet APIs.
     * @throws { BusinessError } 1010200002 - Wallet app not found.
     * @throws { BusinessError } 1010200012 - Duplicate request.
     * @throws { BusinessError } 1010200013 - Operation failed because of an internal error.
     * @throws { BusinessError } 1010200014 - The Wallet APIs can be called by the device owner only.
     * @throws { BusinessError } 1010221101 - Registration failed because of duplicate register name.
     * @syscap SystemCapability.Payment.Wallet
     * @atomicservice
     * @since 5.0.0(12)
     */
    registerICCEListener(rkeStr: string, eventNotifyListener: rpc.RemoteObject): Promise<string>;

    /**
     * Unregisters an ICCE listener.
     *
     * @param { string } rkeStr - RKE command.
     * @returns { Promise<string> } - Returns a string indicating whether the unregistration is successful.
     * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
     * @throws { BusinessError } 1010200001 - No permission to access the Wallet APIs.
     * @throws { BusinessError } 1010200002 - Wallet app not found.
     * @throws { BusinessError } 1010200013 - Operation failed because of an internal error.
     * @throws { BusinessError } 1010200014 - The Wallet APIs can be called by the device owner only.
     * @throws { BusinessError } 1010221201 - The registration may have been unregistered before.
     * @syscap SystemCapability.Payment.Wallet
     * @atomicservice
     * @since 5.0.0(12)
     */
    unregisterICCEListener(rkeStr: string): Promise<string>;

    /**
     * Sends an RKE message.
     *
     * @param { string } rkeStr - RKE command.
     * @returns { Promise<string> } - Returns a string indicating whether the RKE message is sent successfully.
     * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
     * @throws { BusinessError } 1010200001 - No permission to access the Wallet APIs.
     * @throws { BusinessError } 1010200002 - Wallet app not found.
     * @throws { BusinessError } 1010200006 - The device's remote paired watch cannot be connected.
     * @throws { BusinessError } 1010200012 - Duplicate request.
     * @throws { BusinessError } 1010200013 - Operation failed because of an internal error.
     * @throws { BusinessError } 1010200014 - The Wallet APIs can be called by the device owner only.
     * @throws { BusinessError } 1010220004 - The card does not exist in the specified device.
     * @throws { BusinessError } 1010221301 - Failed to send the RKE message because of a connection failure.
     * @throws { BusinessError } 1010221302 - Failed to send the RKE message because of an authentication failure.
     * @syscap SystemCapability.Payment.Wallet
     * @atomicservice
     * @since 5.0.0(12)
     */
    sendICCERKEMessage(rkeStr: string): Promise<string>;

以上就是本篇文章所带来的鸿蒙开发中一小部分技术讲解;想要学习完整的鸿蒙全栈技术。可以在结尾找我可全部拿到!
下面是鸿蒙的完整学习路线,展示如下:
1

除此之外,根据这个学习鸿蒙全栈学习路线,也附带一整套完整的学习【文档+视频】,内容包含如下

内容包含了:(ArkTS、ArkUI、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、鸿蒙南向开发、鸿蒙项目实战)等技术知识点。帮助大家在学习鸿蒙路上快速成长!

鸿蒙【北向应用开发+南向系统层开发】文档

鸿蒙【基础+实战项目】视频

鸿蒙面经

在这里插入图片描述

为了避免大家在学习过程中产生更多的时间成本,对比我把以上内容全部放在了↓↓↓想要的可以自拿喔!谢谢大家观看!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1983204.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【漏洞复现】用友NC Cloud系统queryPsnInfo接口SQL注入

文章目录 0x00 漏洞描述影响范围 0x01 测绘工具0x02 漏洞复现0x03 Nuclei检测脚本0x04 修复建议0x05 免责声明 0x00 漏洞描述 用友NC Cloud存是一款大型企业数字化平台。 在受影响的版本中&#xff0c;攻击者可以通过未授权访问 /ncchr/pm/obj/queryPsnInfo 接口&#xff0c;利…

综合安防管理平台LntonCVS视频监控汇聚平台视频数据智能化与资源共享方案

随着全球城市化进程的加快&#xff0c;智慧城市概念日益受到重视。在这一趋势下&#xff0c;LntonCVS视频汇聚平台作为新型智慧城市的重要智能基础设施之一&#xff0c;扮演着关键角色。该平台整合、接入和管理城市中各类视频资源&#xff0c;涵盖公共安全视频、交通监控、城市…

【五大海内外高校支持】2024年数字经济与计算机科学国际学术会议(DECS2024)

大会官网&#xff1a;www.icdecs.net 大会时间&#xff1a;2024年9月20-22日 大会地点&#xff1a;中国-厦门 截稿日期&#xff1a;详情见官网 支持单位 马来西亚理工大学 北京科技大学经济管理学院 南京信息工程大学 马来西亚敦胡先翁大学 大会嘉宾 大会主席 罗航…

opencascade AIS_ViewController源码学习 视图控制、包含鼠标事件等

opencascade AIS_ViewController 前言 用于在GUI和渲染线程之间处理视图器事件的辅助结构。 该类实现了以下功能&#xff1a; 缓存存储用户输入状态&#xff08;鼠标、触摸和键盘&#xff09;。 将鼠标/多点触控输入映射到视图相机操作&#xff08;平移、旋转、缩放&#xff0…

Mybatis(Day 18)

数据持久化是将内存中的数据模型转换为存储模型&#xff0c;以及将存储模型转换为内存中数据模型的统称。MyBatis 支持定制化 SQL、存储过程以及高级映射&#xff0c;可以在实体类和 SQL 语句之间建立映射关系&#xff0c;是一种半自动化的 ORM 实现。ORM&#xff08;Object Re…

系统运维——PXE自动安装系统

摘要 PXE&#xff08;Preboot Execution Environment&#xff0c;预启动执行环境&#xff09;是一种允许计算机通过网络启动操作系统而无需本地存储设备的技术。本文详细介绍了 PXE 的定义、架构、原理、应用场景及常见命令体系。以 RedHat7 为例&#xff0c;展示如何配置和使…

Tooltip 文字提示

在偶然维护前端开发时&#xff0c;遇到页面列表中某个字段内容太长&#xff0c;且该字段使用了组件显示&#xff0c;导致不能使用纯文本得那个省略号代替显示得css样式效果&#xff0c;如下 所以只能另辟溪路了&#xff0c; 1、最开始想到是使用横向滚动得效果来实现&#xff…

【Vue3】Pinia存储及读取数据

【Vue3】Pinia存储及读取数据 背景简介开发环境开发步骤及源码 背景 随着年龄的增长&#xff0c;很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来&#xff0c;技术出身的人总是很难放下一些执念&#xff0c;遂将这些知识整理成文&#xff0c;以纪念曾经努力学习奋斗的日…

如何用OceanBase与DataWorks,打造一站式的数据集成、开发和数据服务

导语&#xff1a;在OceanBase 2024年开发者大会的技术生态论坛上&#xff0c;阿里云DataWorks团队的高级技术专家罗海伟&#xff0c;详细阐述了一站式大数据开发治理平台DataWorks的能力&#xff0c;并对于如何基于OceanBase和Dataworks构建一站式数据集成、开发以及数据服务进…

解锁模数学习新境界:电路仿真软件,你的数字与模拟世界桥梁大师!

在这个科技日新月异的时代&#xff0c;模数转换&#xff08;A/D与D/A&#xff09;不仅是电子工程师的必修课&#xff0c;也是众多科技爱好者探索数字与模拟世界奥秘的钥匙。而今&#xff0c;一款强大的电路仿真软件&#xff0c;正悄然成为连接这两大领域的魔法棒&#xff0c;让…

Animate软件基础:各种类型文件使用说明

FlashASer&#xff1a;AdobeAnimate2021软件零基础入门教程https://zhuanlan.zhihu.com/p/633230084 FlashASer&#xff1a;实用的各种Adobe Animate软件教程https://zhuanlan.zhihu.com/p/675680471 FlashASer&#xff1a;Animate教程及作品源文件https://zhuanlan.zhihu.co…

ps绘制动图

ps绘制动图教程&#xff08;简易版&#xff09;-直播gif动态效果图 第一步 打开ps绘制几个简单的长方形 第二步 将图层转化为智能图层 第三部 在窗口找到时间轴创建时间轴 第五步 通过变换来鼠标控制图像的变化并打下结束点 第六部 通过图像中的图像大小控制gif的大小 第七部 …

低代码: 系统开发准备之确定一般开发流程,需求分析,复杂度分析,标准开发流程

概述 低代码系统开发之前&#xff0c;我们首先要进行一些准备我们首先知道我们软件开发的一般流程同时&#xff0c;我们还要知道&#xff0c;我们整个系统平台的需求如何之后&#xff0c;我们要基于需求进行设计&#xff0c;包含UI设计与系统架构设计 一般开发流程 系统开发…

2024年【北京市安全员-B证】考试题库及北京市安全员-B证考试技巧

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 北京市安全员-B证考试题库根据新北京市安全员-B证考试大纲要求&#xff0c;安全生产模拟考试一点通将北京市安全员-B证模拟考试试题进行汇编&#xff0c;组成一套北京市安全员-B证全真模拟考试试题&#xff0c;学员可…

拉削基础知识——拉床的类型及特点

拉床是所有机械加工工具中最简单的一种&#xff0c;由拉削工具、夹具、驱动装置和支撑架组成。拉削加工可获得较高的尺寸精度和较小的表面粗糙度&#xff0c;生产率较高&#xff0c;适用于大批量生产。拉床按其结构主要分为卧式和立式。应用领域和功能可分为液压拉床、自动拉床…

【香菇带你学Mysql】Mysql数据库主备搭建【建议收藏】

文章目录 1. 概述1.1 为什么要搭建主备架构数据库&#xff1f;1.2 常见的Mysql数据库主备架构 2. Mysql 数据库主备搭建原理3. Mysql数据库主备搭建实操3.1 环境准备3.2 主库操作3.3 从库操作3.4 主从同步验证 4. 总结5. 参考文档 大家可能听过一个段子&#xff0c;当电脑遇到问…

java 关键字

Java的关键字是语言中保留的标识符&#xff0c;它们具有特定的含义和用途&#xff0c;并且不能用作变量名、方法名或类名等。Java 17&#xff08;最新的LTS版本之一&#xff09;中有53个关键字。 下面是每个关键字的含义及其实例 1. 控制结构关键字 这些关键字用于控制程序流…

第十六节、实装攻击判定

一、实现原理 人物三段式攻击的剑气增加一帧伤害即可 二、步骤 创建玩家下面的子物体 1、多边形碰撞体 给第一段攻击添加多边形碰撞体 2、帧触发 在这一帧添加动画&#xff0c;是触发器由失活状态转为使用状态 在这一帧勾选物体状态 3、计算攻击伤害 每一个挂载代码&…

大型语言模型微调的规模效应研究

人工智能咨询培训老师叶梓 转载标明出处 为了解锁大模型在特定下游应用中的全部潜力&#xff0c;通常需要通过微调&#xff08;finetuning&#xff09;来适配任务。尽管微调已成为一种常规做法&#xff0c;但关于不同微调方法的归纳偏差&#xff0c;尤其是规模特性的理解仍然有…

CRC16循环冗余校验

代码&#xff1a; #include<stdio.h> #include <stdint.h>#define uchar unsigned char #define uint unsigned int static const uint8_t auchCRCHi[] { 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x0…