harmony 鸿蒙管理应用账号
管理应用账号
应用开发者可以使用应用账号SDK管理本应用的账号数据。
能力限制:应用卸载场景下,被卸载应用的账号数据会被删除;本地账号删除场景下,被删除本地账号下的所有应用的账号数据会被删除。
开发准备
- 导入应用账号模块。
import { appAccount, BusinessError } from '@kit.BasicServicesKit';
- 获取应用账号的实例对象。
const appAccountManager = appAccount.createAppAccountManager();
创建应用账号
用户在应用中登录后,开发者可以在系统中创建一个关联的应用账号,后续可以基于此账号进行数据管理。
具体开发实例如下:
- 参数准备,指定账号名和可选配置。
let name: string = "ZhangSan";
let options: appAccount.CreateAccountOptions = {
customData: {
age: '10'
}
};
- 调用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));
});
存取账号的凭据
具体开发实例如下:
- 准备参数,指定账号名、凭据类型和凭据。
let name: string = 'ZhangSan';
let credentialType: string = 'PIN_SIX';
let credential: string = 'xxxxxx';
- 调用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));
});
- 调用setCredential接口,设置账号的凭据。
appAccountManager.setCredential(name, credentialType, credential).then(() => {
console.log('setCredential successfully');
}).catch((err: BusinessError) => {
console.error('setCredential failed: ' + JSON.stringify(err));
});
存取账号的自定义数据
具体开发实例如下:
- 准备参数,指定账号名和自定义键值。
let name: string = 'ZhangSan';
let key: string = 'age';
let value: string = '12';
- 调用setCustomData接口,设置账号的自定义数据。
appAccountManager.setCustomData(name, key, value).then(() => {
console.log('setCustomData successfully');
}).catch((err: BusinessError) => {
console.error('setCustomData failed: ' + JSON.stringify(err));
});
- 调用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));
});
存取账号的授权令牌
具体开发实例如下:
- 准备参数,指定账号名、账号所有者、授权类型和授权令牌。
let name: string = 'ZhangSan';
let owner: string = 'com.example.accountjsdemo';
let authType: string = 'getSocialData';
let token: string = 'xxxxxx';
- 调用setAuthToken接口,设置指定授权类型的授权令牌。
appAccountManager.setAuthToken(name, authType, token).then(() => {
console.log('setAuthToken successfully');
}).catch((err: BusinessError) => {
console.error('setAuthToken failed: ' + JSON.stringify(err));
});
- 调用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));
});
你可能感兴趣的鸿蒙文章
0
赞
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦