harmony 鸿蒙管理应用账号

  • 2025-06-12
  • 浏览 (9)

管理应用账号

应用开发者可以使用应用账号SDK管理本应用的账号数据。

能力限制:应用卸载场景下,被卸载应用的账号数据会被删除;本地账号删除场景下,被删除本地账号下的所有应用的账号数据会被删除。

开发准备

  1. 导入应用账号模块。
   import { appAccount, BusinessError } from '@kit.BasicServicesKit';
  1. 获取应用账号的实例对象。
   const appAccountManager = appAccount.createAppAccountManager();

创建应用账号

用户在应用中登录后,开发者可以在系统中创建一个关联的应用账号,后续可以基于此账号进行数据管理。

具体开发实例如下:

  1. 参数准备,指定账号名和可选配置。
   let name: string = "ZhangSan";
   let options: appAccount.CreateAccountOptions = {
     customData: {
       age: '10'
     }
   };
  1. 调用createAccount接口,根据名称和选项创建应用账号。
   appAccountManager.createAccount(name, options).then(()=>{
    console.log('createAccount successfully');
  }).catch((err: BusinessError)=>{
    console.error('createAccount failed, error: ' + JSON.stringify(err));
  });

查询应用账号列表

具体开发实例如下:

调用getAllAccounts接口查询账号列表。

   appAccountManager.getAllAccounts().then((data: appAccount.AppAccountInfo[]) => {
       console.log('getAllAccounts successfully, data: ' + JSON.stringify(data));
   }).catch((err: BusinessError) => {
       console.error('getAllAccounts failed, error: ' + JSON.stringify(err));
   });

存取账号的凭据

具体开发实例如下:

  1. 准备参数,指定账号名、凭据类型和凭据。
   let name: string = 'ZhangSan';
   let credentialType: string = 'PIN_SIX';
   let credential: string = 'xxxxxx';
  1. 调用getCredential接口,获取账号的凭据。
   appAccountManager.getCredential(name, credentialType).then((data: string) => {
       console.log('getCredential successfully, data: ' + data);
   }).catch((err: BusinessError) => {
       console.error('getCredential failed, error: ' + JSON.stringify(err));
   });
  1. 调用setCredential接口,设置账号的凭据。
   appAccountManager.setCredential(name, credentialType, credential).then(() => {
       console.log('setCredential successfully');
   }).catch((err: BusinessError) => {
       console.error('setCredential failed: ' + JSON.stringify(err));
   });

存取账号的自定义数据

具体开发实例如下:

  1. 准备参数,指定账号名和自定义键值。
   let name: string = 'ZhangSan';
   let key: string = 'age';
   let value: string = '12';
  1. 调用setCustomData接口,设置账号的自定义数据。
   appAccountManager.setCustomData(name, key, value).then(() => {
       console.log('setCustomData successfully');
   }).catch((err: BusinessError) => {
       console.error('setCustomData failed: ' + JSON.stringify(err));
   });
  1. 调用getCustomData接口,获取账号的自定义数据。
   appAccountManager.getCustomData(name, key).then((data: string) => {
       console.log('getCustomData successfully, data: ' + data);
   }).catch((err: BusinessError) => {
       console.error('getCustomData failed, error: ' + JSON.stringify(err));
   });

存取账号的授权令牌

具体开发实例如下:

  1. 准备参数,指定账号名、账号所有者、授权类型和授权令牌。
   let name: string = 'ZhangSan';
   let owner: string = 'com.example.accountjsdemo';
   let authType: string = 'getSocialData';
   let token: string = 'xxxxxx';
  1. 调用setAuthToken接口,设置指定授权类型的授权令牌。
   appAccountManager.setAuthToken(name, authType, token).then(() => {
       console.log('setAuthToken successfully');
   }).catch((err: BusinessError) => {
       console.error('setAuthToken failed: ' + JSON.stringify(err));
   });
  1. 调用getAuthToken接口,获取指定授权类型的授权令牌。
   appAccountManager.getAuthToken(name, owner, authType).then((data: string) => {
       console.log('getAuthToken successfully, data: ' + data);
   }).catch((err: BusinessError) => {
       console.error('getAuthToken failed, error: ' + JSON.stringify(err));
   });

删除应用账号

用户退出登录后,应用需及时将相应的应用账号从系统中删除。

具体开发实例如下:

指定要删除的账号名称,调用removeAccount接口删除账号。

   let name: string = 'Zhangsan';
   appAccountManager.removeAccount(name).then(() => {
       console.log('removeAccount successfully');
   }).catch((err: BusinessError) => {
       console.error('removeAccount failed, error: ' + JSON.stringify(err));
   });

你可能感兴趣的鸿蒙文章

harmony 鸿蒙账号管理

harmony 鸿蒙账号管理概述

harmony 鸿蒙认证域账号(仅对系统应用开放)

harmony 鸿蒙使用约束管控系统账号(仅对系统应用开放)

harmony 鸿蒙管理分布式账号(仅对系统应用开放)

harmony 鸿蒙管理域账号(仅对系统应用开放)

harmony 鸿蒙管理域账号插件(仅对系统应用开放)

harmony 鸿蒙管理系统账号凭据(仅对系统应用开放)

harmony 鸿蒙管理系统账号(仅对系统应用开放)

0  赞