当前位置: 首页 > news >正文

鸿蒙开发设备管理:【@ohos.account.appAccount (应用帐号管理)】

应用帐号管理

icon-note.gif 说明:  本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。开发前请熟悉鸿蒙开发指导文档gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。

导入模块

import account_appAccount from '@ohos.account.appAccount';

account_appAccount.createAppAccountManager

createAppAccountManager(): AppAccountManager

应用帐号管理:获取应用帐号模块对象。

系统能力:  SystemCapability.Account.AppAccount

返回值:

类型说明
AppAccountManager获取应用帐号模块的实例。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();

AppAccountManager

管理应用帐号模块的实例。

addAccount

addAccount(name: string, callback: AsyncCallback): void

将此应用的帐号名添加到帐号管理服务中,使用callback回调异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring要添加的应用帐户的名称。
callbackAsyncCallback将此应用的帐号名添加到帐号管理服务的回调。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.addAccount("WangWu", (err) => { console.log("addAccount err: " + JSON.stringify(err));
});

addAccount

addAccount(name: string, extraInfo: string, callback: AsyncCallback): void

将此应用程序的帐号名和额外信息添加到帐号管理服务中,使用callback回调异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring要添加的应用帐户的名称。
extraInfostring要添加的应用帐户的额外信息(例如token等),额外的信息不能是应用帐号的敏感信息。
callbackAsyncCallback将此应用程序的帐号名和额外信息添加到帐号管理服务中的回调。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.addAccount("LiSi", "token101", (err) => { console.log("addAccount err: " + JSON.stringify(err));
});

addAccount

addAccount(name: string, extraInfo?: string): Promise

将此应用的帐号名或额外信息添加到帐号管理服务中,使用Promise方式异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring要添加的应用帐户的名称。
extraInfostring要添加的应用帐户的额外信息,额外的信息不能是应用帐号的敏感信息。

返回值:

类型说明
PromisePromise实例,用于获取异步返回结果。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.addAccount("LiSi", "token101").then(()=> { console.log('addAccount Success');
}).catch((err) => {console.log("addAccount err: "  + JSON.stringify(err));
});

addAccountImplicitly8+

addAccountImplicitly(owner: string, authType: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void

根据指定的帐号所有者、鉴权类型和可选项,隐式地添加应用帐号,并使用callback回调异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
ownerstring要添加的应用帐户的所有者包名。
authTypestring要添加的应用帐户的鉴权类型。
options{[key: string]: any}鉴权所需要的可选项。
callbackAuthenticatorCallback认证器回调,用于返回鉴权结果。

示例:

import featureAbility from '@ohos.ability.featureAbility';function onResultCallback(code, result) {console.log("resultCode: "  + code);console.log("result: "  + JSON.stringify(result));
}function onRequestRedirectedCallback(request) {let abilityStartSetting = {want: request};featureAbility.startAbility(abilityStartSetting, (err)=>{console.log("startAbility err: " + JSON.stringify(err));});
}const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.addAccountImplicitly("LiSi", "readAge", {}, {onResult: onResultCallback,onRequestRedirected: onRequestRedirectedCallback
});

deleteAccount

deleteAccount(name: string, callback: AsyncCallback): void

从帐号管理服务中删除应用帐号,使用callback回调异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring要删除的应用帐户的名称。
callbackAsyncCallback帐号管理服务中删除应用帐号的回调。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.deleteAccount("ZhaoLiu", (err) => { console.log("deleteAccount err: " + JSON.stringify(err));});

deleteAccount

deleteAccount(name: string): Promise

从帐号管理服务中删除应用帐号,使用Promise方式异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring要删除的应用帐户的名称。

返回值:

类型说明
PromisePromise实例,用于获取异步返回结果。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.deleteAccount("ZhaoLiu").then(() => { console.log('deleteAccount Success');}).catch((err) => {console.log("deleteAccount err: "  + JSON.stringify(err));
});

disableAppAccess

disableAppAccess(name: string, bundleName: string, callback: AsyncCallback): void

禁止指定第三方应用帐户的名称访问指定包名称的第三方应用,使用callback回调异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring要禁用访问的第三方应用帐户的名称。
bundleNamestring第三方应用的包名。
callbackAsyncCallback禁止指定第三方应用帐户的名称访问指定包名称的第三方应用的回调。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.disableAppAccess("ZhangSan", "com.example.ohos.accountjsdemo", (err) => { console.log("disableAppAccess err: " + JSON.stringify(err));
});

disableAppAccess

disableAppAccess(name: string, bundleName: string): Promise

禁止指定第三方应用帐户的名称访问指定包名称的第三方应用,使用Promise方式异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring要禁用访问的第三方应用帐户的名称。
bundleNamestring第三方应用的包名。

返回值:

类型说明
PromisePromise实例,用于获取异步返回结果。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.disableAppAccess("ZhangSan", "com.example.ohos.accountjsdemo").then(() => { console.log('disableAppAccess Success');
}).catch((err) => {console.log("disableAppAccess err: "  + JSON.stringify(err));
});

enableAppAccess

enableAppAccess(name: string, bundleName: string, callback: AsyncCallback): void

允许指定第三方应用帐户的名称访问指定包名称的第三方应用,使用callback回调异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用帐号名称。
bundleNamestring第三方应用的包名。
callbackAsyncCallback允许指定第三方应用帐户的名称访问指定包名称的第三方应用的回调。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.enableAppAccess("ZhangSan", "com.example.ohos.accountjsdemo", (err) => { console.log("enableAppAccess: " + JSON.stringify(err));});

enableAppAccess

enableAppAccess(name: string, bundleName: string): Promise

允许指定第三方应用帐户的名称访问指定包名称的第三方应用,使用Promise方式异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用帐号名称。
bundleNamestring第三方应用的包名。

返回值:

类型说明
PromisePromise实例,用于获取异步返回结果。

示例:

app_account_instance.enableAppAccess("ZhangSan", "com.example.ohos.accountjsdemo").then(() => { console.log('enableAppAccess Success');
}).catch((err) => {console.log("enableAppAccess err: "  + JSON.stringify(err));
});

checkAppAccountSyncEnable

checkAppAccountSyncEnable(name: string, callback: AsyncCallback): void

检查指定应用帐号是否允许应用数据同步,使用callback回调异步返回结果。

需要权限:  ohos.permission.DISTRIBUTED_DATASYNC,仅系统应用可用。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用帐号名称。
callbackAsyncCallback检查指定应用帐号是否允许应用数据同步的回调。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.checkAppAccountSyncEnable("ZhangSan", (err, result) => { console.log("checkAppAccountSyncEnable err: " + JSON.stringify(err));console.log('checkAppAccountSyncEnable result: ' + result);
});

checkAppAccountSyncEnable

checkAppAccountSyncEnable(name: string): Promise

检查指定应用帐号是否允许应用数据同步,使用Promise方式异步返回结果。

需要权限:  ohos.permission.DISTRIBUTED_DATASYNC,仅系统应用可用。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用帐号名称。

返回值:

类型说明
PromisePromise实例,用于获取异步返回结果。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.checkAppAccountSyncEnable("ZhangSan").then((data) => { console.log('checkAppAccountSyncEnable, result: ' + data);
}).catch((err) => {console.log("checkAppAccountSyncEnable err: "  + JSON.stringify(err));
});

setAccountCredential

setAccountCredential(name: string, credentialType: string, credential: string,callback: AsyncCallback): void

设置此应用程序帐号的凭据,使用callback回调异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用程序帐户的名称。
credentialTypestring要设置的凭据的类型。
credentialstring要设置的凭据。
callbackAsyncCallback设置此应用帐号的凭据的回调。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setAccountCredential("ZhangSan", "credentialType001", "credential001", (err) => { console.log("setAccountCredential err: " + JSON.stringify(err));
});

setAccountCredential

setAccountCredential(name: string, credentialType: string, credential: string): Promise

设置此应用程序帐号的凭据,使用Promise方式异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用帐户的名称。
credentialTypestring要设置的凭据的类型。
credentialstring要设置的凭据。

返回值:

类型说明
PromisePromise实例,用于获取异步返回结果。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setAccountCredential("ZhangSan", "credentialType001", "credential001").then(() => { console.log('setAccountCredential Success');
}).catch((err) => {console.log("setAccountCredential err: "  + JSON.stringify(err));
});

setAccountExtraInfo

setAccountExtraInfo(name: string, extraInfo: string, callback: AsyncCallback): void

设置此应用程序帐号的额外信息,使用callback回调异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用帐户的名称。
extraInfostring要设置的额外信息。
callbackAsyncCallback设置此应用帐号的额外信息的回调。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setAccountExtraInfo("ZhangSan", "Tk002", (err) => { console.log("setAccountExtraInfo err: " + JSON.stringify(err));
});

setAccountExtraInfo

setAccountExtraInfo(name: string, extraInfo: string): Promise

设置此应用程序帐号的额外信息,使用Promise方式异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用帐户的名称。
extraInfostring要设置的额外信息。

返回值:

类型说明
PromisePromise实例,用于获取异步返回结果。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setAccountExtraInfo("ZhangSan", "Tk002").then(() => { console.log('setAccountExtraInfo Success');
}).catch((err) => {console.log("setAccountExtraInfo err: "  + JSON.stringify(err));
});

setAppAccountSyncEnable

setAppAccountSyncEnable(name: string, isEnable: boolean, callback: AsyncCallback): void

设置指定的应用程序帐号是否允许应用程序数据同步,使用callback回调异步返回结果。

需要权限:  ohos.permission.DISTRIBUTED_DATASYNC,仅系统应用可用。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用帐户的名称。
isEnableboolean是否允许应用数据同步。
callbackAsyncCallback设置指定的应用帐号是否允许应用程序数据同步的回调。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setAppAccountSyncEnable("ZhangSan", true, (err) => { console.log("setAppAccountSyncEnable err: " + JSON.stringify(err));
});

setAppAccountSyncEnable

setAppAccountSyncEnable(name: string, isEnable: boolean): Promise

设置指定的应用程序帐号是否允许应用程序数据同步,使用Promise方式异步返回结果。

需要权限:  ohos.permission.DISTRIBUTED_DATASYNC,仅系统应用可用。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用帐户的名称。
isEnableboolean是否允许应用数据同步。

返回值:

类型说明
PromisePromise实例,用于获取异步返回结果。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager .setAppAccountSyncEnable("ZhangSan", true).then(() => { console.log('setAppAccountSyncEnable Success');
}).catch((err) => {console.log("setAppAccountSyncEnable err: "  + JSON.stringify(err));
});

setAssociatedData

setAssociatedData(name: string, key: string, value: string, callback: AsyncCallback): void

设置与此应用程序帐号关联的数据,使用callback回调异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用帐户的名称。
keystring要设置的数据的键,密钥可以自定义。
valuestring要设置的数据的值。
callbackAsyncCallback设置与此应用帐号关联的数据的回调。

示例:

app_account_instance.setAssociatedData("ZhangSan", "k001", "v001", (err) => { console.log("setAssociatedData err: " + JSON.stringify(err));
});

setAssociatedData

setAssociatedData(name: string, key: string, value: string): Promise

设置与此应用程序帐号关联的数据,使用Promise方式异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用帐户的名称。
keystring要设置的数据的键,密钥可以自定义。
valuestring要设置的数据的值。

返回值:

类型说明
PromisePromise实例,用于获取异步返回结果。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setAssociatedData("ZhangSan", "k001", "v001").then(() => { console.log('setAssociatedData Success');
}).catch((err) => {console.log("setAssociatedData err: "  + JSON.stringify(err));
});

getAccountCredential

getAccountCredential(name: string, credentialType: string, callback: AsyncCallback): void

获取此应用帐号的凭据,使用callback回调异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用帐号名称。
credentialTypestring要获取的凭据的类型。
callbackAsyncCallback获取此应用帐号的凭据的回调。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAccountCredential("ZhangSan", "credentialType001", (err, result) => { console.log("getAccountCredential err: " + JSON.stringify(err));console.log('getAccountCredential result: ' + result);
});

getAccountCredential

getAccountCredential(name: string, credentialType: string): Promise

获取此应用程序帐号的凭据,使用Promise方式异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用帐号名称。
credentialTypestring要获取的凭据的类型。

返回值:

类型说明
PromisePromise实例,用于获取异步返回结果。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAccountCredential("ZhangSan", "credentialType001").then((data) => { console.log('getAccountCredential, result: ' + data);
}).catch((err) => {console.log("getAccountCredential err: "  + JSON.stringify(err));
});

getAccountExtraInfo

getAccountExtraInfo(name: string, callback: AsyncCallback): void

获取此应用帐号的额外信息,使用callback回调异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用帐号名称。
callbackAsyncCallback获取此应用帐号的额外信息的回调。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAccountExtraInfo("ZhangSan", (err, result) => { console.log("getAccountExtraInfo err: " + JSON.stringify(err));console.log('getAccountExtraInfo result: ' + result);
});

getAccountExtraInfo

getAccountExtraInfo(name: string): Promise

获取此应用程序帐号的额外信息,使用Promise方式异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用帐号名称。

返回值:

类型说明
PromisePromise实例,用于获取异步返回结果。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAccountExtraInfo("ZhangSan").then((data) => { console.log('getAccountExtraInfo, result: ' + data);
}).catch((err) => {console.log("getAccountExtraInfo err: "  + JSON.stringify(err));
});

getAssociatedData

getAssociatedData(name: string, key: string, callback: AsyncCallback): void

获取与此应用程序帐号关联的数据,使用callback回调异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用帐号名称。
keystring要获取的数据的key。
callbackAsyncCallback获取与此应用帐号关联的数据的回调。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAssociatedData("ZhangSan", "k001", (err, result) => { console.log("getAssociatedData err: " + JSON.stringify(err));console.log('getAssociatedData result: ' + result);
});

getAssociatedData

getAssociatedData(name: string, key: string): Promise

获取与此应用程序帐号关联的数据,使用Promise方式异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用帐号名称。
keystring要获取的数据的key。

返回值:

类型说明
PromisePromise实例,用于获取异步返回结果。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAssociatedData("ZhangSan", "k001").then((data) => { console.log('getAssociatedData: ' + data);
}).catch((err) => {console.log("getAssociatedData err: "  + JSON.stringify(err));
});

getAllAccessibleAccounts

getAllAccessibleAccounts(callback: AsyncCallback<Array>): void

获取全部应用已授权帐号信息。

需要权限:  ohos.permission.GET_ALL_APP_ACCOUNTS,仅系统应用可用。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
callbackAsyncCallback<Array>应用帐号信息列表

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAllAccessibleAccounts((err, data)=>{console.debug("getAllAccessibleAccounts err:" + JSON.stringify(err));console.debug("getAllAccessibleAccounts data:" + JSON.stringify(data));
});

getAllAccessibleAccounts

getAllAccessibleAccounts(): Promise<Array>

获取全部应用已授权帐号信息。

需要权限:  ohos.permission.GET_ALL_APP_ACCOUNTS,仅系统应用可用。

系统能力:  SystemCapability.Account.AppAccount

参数:

类型说明
Promise<Array>Promise实例,用于获取异步返回结果。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAllAccessibleAccounts().then((data) => { console.log('getAllAccessibleAccounts: ' + data);
}).catch((err) => {console.log("getAllAccessibleAccounts err: "  + JSON.stringify(err));
});

getAllAccounts

getAllAccounts(owner: string, callback: AsyncCallback<Array>): void

获取指定应用全部帐号信息。

需要权限:  ohos.permission.GET_ALL_APP_ACCOUNTS,仅系统应用可用。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
ownerstring应用包名称
callbackAsyncCallback<Array>应用帐号信息列表

示例:

const appAccountManager = account.createAppAccountManager();
const selfBundle = "com.example.actsgetallaaccounts";
appAccountManager.getAllAccounts(selfBundle, (err, data)=>{console.debug("getAllAccounts err:" + JSON.stringify(err));console.debug("getAllAccounts data:" + JSON.stringify(data));
});

getAllAccounts

getAllAccounts(owner: string): Promise<Array>

获取指定应用全部帐号信息。

需要权限:  ohos.permission.GET_ALL_APP_ACCOUNTS,仅系统应用可用。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
ownerstring应用包名称

参数:

类型说明
Promise<Array>Promise实例,用于获取异步返回结果。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
const selfBundle = "com.example.actsgetallaaccounts";
appAccountManager.getAllAccounts(selfBundle).then((data) => { console.log('getAllAccounts: ' + data);
}).catch((err) => {console.log("getAllAccounts err: "  + JSON.stringify(err));
});

on(‘change’)

on(type: ‘change’, owners: Array, callback: Callback<Array>): void

订阅指定帐号所有者的帐户变更事件,使用callback回调异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
type‘change’关于帐户更改事件,当帐户所有者更新帐户时,订阅者将收到通知。
ownersArray指示帐户的所有者。
callbackCallback<Array>订阅指定帐号所有者的帐户变更事件的回调。

示例:

const appAccountManager = account.createAppAccountManager();
function changeOnCallback(data){console.debug("receive change data:" + JSON.stringify(data));
}
try{appAccountManager.on('change', ["com.example.actsaccounttest"], changeOnCallback);
}
catch(err){console.error("on accountOnOffDemo err:" + JSON.stringify(err));
}

off(‘change’)

off(type: ‘change’, callback?: Callback<Array>): void

取消订阅帐号事件,使用callback回调异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
type‘change’关于帐户更改事件。
callbackCallback<Array>取消订阅帐号事件的回调。

示例:

const appAccountManager = account.createAppAccountManager();
function changeOnCallback(data){console.debug("receive change data:" + JSON.stringify(data));appAccountManager.off('change', function(){console.debug("off finish");})
}
try{appAccountManager.on('change', ["com.example.actsaccounttest"], changeOnCallback);
}
catch(err){console.error("on accountOnOffDemo err:" + JSON.stringify(err));
}

authenticate8+

authenticate(name: string, owner: string, authType: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void

鉴权应用帐户以获取OAuth令牌,使用callback回调异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring要鉴权的应用帐户的名称。
ownerstring要鉴权的应用帐户的所有者包名。
authTypestring鉴权类型。
options{[key: string]: any}鉴权所需的可选项。
callbackAuthenticatorCallback认证器回调,用于返回鉴权结果。

示例:

import featureAbility from '@ohos.ability.featureAbility';function onResultCallback(code, result) {console.log("resultCode: "  + code);console.log("result: "  + JSON.stringify(result));
}function onRequestRedirectedCallback(request) {let abilityStartSetting = {want: request};featureAbility.startAbility(abilityStartSetting, (err)=>{console.log("startAbility err: " + JSON.stringify(err));});
}const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.authenticate("LiSi", "com.example.ohos.accountjsdemo", "readAge", {}, {onResult: onResultCallback,onRequestRedirected: onRequestRedirectedCallback
});

getOAuthToken8+

getOAuthToken(name: string, owner: string, authType: string, callback: AsyncCallback): void

获取指定应用帐户和鉴权类型的OAuth令牌,使用callback回调异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用帐户的名称。
ownerstring应用帐户的所有者包名。
authTypestring鉴权类型。
callbackAsyncCallback查询结果的回调。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getOAuthToken("LiSi", "com.example.ohos.accountjsdemo", "readAge", (err, data) => {console.log('getOAuthToken err: ' + JSON.stringify(err));console.log('getOAuthToken token: ' + data);
});

getOAuthToken8+

getOAuthToken(name: string, owner: string, authType: string): Promise

获取指定应用帐户和鉴权类型的OAuth令牌,使用Promise方式异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用帐户的名称。
ownerstring应用帐户的所有者包名。
authTypestring鉴权类型。

参数:

类型说明
PromisePromise实例,用于获取异步返回结果。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getOAuthToken("LiSi", "com.example.ohos.accountjsdemo", "readAge").then((data) => {console.log('getOAuthToken token: ' + data);
}).catch((err) => {console.log("getOAuthToken err: "  + JSON.stringify(err));
});

setOAuthToken8+

setOAuthToken(name: string, authType: string, token: string, callback: AsyncCallback): void

设置指定应用帐户和鉴权类型的OAuth令牌,使用callback回调异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用帐户的名称。
authTypestring鉴权类型。
tokenstringOAuth令牌。
callbackAsyncCallback设置结果的回调。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setOAuthToken("LiSi", "readAge", "xxxx", (err) => {console.log('setOAuthToken err: ' + JSON.stringify(err));
});

setOAuthToken8+

setOAuthToken(name: string, authType: string, token: string): Promise

设置指定应用帐户和鉴权类型的OAuth令牌,使用Promise方式异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用帐户的名称。
authTypestring鉴权类型。
tokenstringOAuth令牌。

参数:

类型说明
PromisePromise实例,用于获取异步返回结果。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setOAuthToken("LiSi", "readAge", "xxxx").then(() => {console.log('setOAuthToken successfully');
}).catch((err) => {console.log('setOAuthToken err: ' + JSON.stringify(err));
});

deleteOAuthToken8+

deleteOAuthToken(name: string, owner: string, authType: string, token: string, callback: AsyncCallback): void

删除指定应用帐户和鉴权类型的OAuth令牌,使用callback回调异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用帐户的名称。
ownerstring应用帐户的所有者包名。
authTypestring鉴权类型。
tokenstring要删除的OAuth令牌。
callbackAsyncCallback删除结果的回调。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.deleteOAuthToken("LiSi", "com.example.ohos.accountjsdemo", "readAge", "xxxxx", (err) => {console.log('deleteOAuthToken err: ' + JSON.stringify(err));
});

deleteOAuthToken8+

deleteOAuthToken(name: string, owner: string, authType: string, token: string): Promise

删除指定应用帐户和鉴权类型的OAuth令牌,使用Promise方式异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用帐户的名称。
ownerstring应用帐户的所有者包名。
authTypestring鉴权类型。
tokenstring要删除的OAuth令牌。

参数:

类型说明
PromisePromise实例,用于获取异步返回结果。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.deleteOAuthToken("LiSi", "com.example.ohos.accountjsdemo", "readAge", "xxxxx").then(() => {console.log('deleteOAuthToken successfully');
}).catch((err) => {console.log("deleteOAuthToken err: "  + JSON.stringify(err));
});

setOAuthTokenVisibility8+

setOAuthTokenVisibility(name: string, authType: string, bundleName: string, isVisible: boolean, callback: AsyncCallback): void

设置指定鉴权类型的OAuth令牌对特定应用的可见性,使用callback回调异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用帐户的名称。
authTypestring鉴权类型。
bundleNamestring被设置可见性的应用包名。
isVisibleboolean是否可见。
callbackAsyncCallback设置结果的回调。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setOAuthTokenVisibility("LiSi", "readAge", "com.example.ohos.accountjsdemo", true, (err) => {console.log('setOAuthTokenVisibility err: ' + JSON.stringify(err));
});

setOAuthTokenVisibility8+

setOAuthTokenVisibility(name: string, authType: string, bundleName: string, isVisible: boolean): Promise

设置指定鉴权类型的OAuth令牌对特定应用的可见性,使用Promise方式异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用帐户的名称。
authTypestring鉴权类型。
bundleNamestring被设置可见性的应用包名。
isVisibleboolean是否可见。

参数:

类型说明
PromisePromise实例,用于获取异步返回结果。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setOAuthTokenVisibility("LiSi", "readAge", "com.example.ohos.accountjsdemo", true).then(() => {console.log('setOAuthTokenVisibility successfully');
}).catch((err) => {console.log('setOAuthTokenVisibility err: ' + JSON.stringify(err));
});

checkOAuthTokenVisibility8+

checkOAuthTokenVisibility(name: string, authType: string, bundleName: string, callback: AsyncCallback): void

检查指定鉴权类型的OAuth令牌对特定应用的可见性,使用callback回调异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用帐户的名称。
authTypestring鉴权类型。
bundleNamestring用于检查可见性的应用包名。
callbackAsyncCallback检查结果的回调。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.checkOAuthTokenVisibility("LiSi", "readAge", "com.example.ohos.accountjsdemo", true, (err, data) => {console.log('checkOAuthTokenVisibility err: ' + JSON.stringify(err));console.log('checkOAuthTokenVisibility isVisible: ' + data);
});

checkOAuthTokenVisibility8+

checkOAuthTokenVisibility(name: string, authType: string, bundleName: string): Promise

检查指定鉴权类型的OAuth令牌对特定应用的可见性,使用Promise方式异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用帐户的名称。
authTypestring鉴权类型。
bundleNamestring用于检查可见性的应用包名。

参数:

类型说明
PromisePromise实例,用于获取异步返回结果。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.checkOAuthTokenVisibility("LiSi", "readAge", "com.example.ohos.accountjsdemo", true).then((data) => {console.log('checkOAuthTokenVisibility isVisible: ' + data);
}).catch((err) => {console.log('checkOAuthTokenVisibility err: ' + JSON.stringify(err));
});

getAllOAuthTokens8+

getAllOAuthTokens(name: string, owner: string, callback: AsyncCallback<Array>): void

获取指定应用对调用方全部可见的OAuth令牌,使用callback回调异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用帐户的名称。
ownerstring应用帐户的所有者包名。
callbackAsyncCallback<Array>查询结果的回调。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAllOAuthTokens("LiSi", "com.example.ohos.accountjsdemo", (err, data) => {console.log("getAllOAuthTokens err: "  + JSON.stringify(err));console.log('getAllOAuthTokens data: ' + JSON.stringify(data));
});

getAllOAuthTokens8+

getAllOAuthTokens(name: string, owner: string): Promise<Array>

获取指定应用帐户对调用方可见的全部OAuth令牌,使用Promise方式异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用帐户的名称。
ownerstring应用帐户的所有者包名。

参数:

类型说明
Promise<Array>Promise实例,用于获取异步返回结果。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAllOAuthTokens("LiSi", "com.example.ohos.accountjsdemo").then((data) => {console.log('getAllOAuthTokens data: ' + JSON.stringify(data));
}).catch((err) => {console.log("getAllOAuthTokens err: "  + JSON.stringify(err));
});

getOAuthList8+

getOAuthList(name: string, authType: string, callback: AsyncCallback<Array>): void

获取指定应用帐户和鉴权类型的OAuth令牌的授权列表,使用callback回调异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用帐户的名称。
ownerstring应用帐户的所有者包名。
callbackAsyncCallback<Array>查询结果的回调。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getOAuthList("com.example.ohos.accountjsdemo", "readAge", (err, data) => {console.log('getOAuthList err: ' + JSON.stringify(err));console.log('getOAuthList data: ' + JSON.stringify(data));
});

getOAuthList8+

getOAuthList(name: string, authType: string): Promise<Array>

获取指定应用帐户和鉴权类型的OAuth令牌的授权列表,使用Promise方式异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring应用帐户的名称。
ownerstring应用帐户的所有者包名。

参数:

类型说明
Promise<Array>Promise实例,用于获取异步返回结果。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getOAuthList("com.example.ohos.accountjsdemo", "readAge").then((data) => {console.log('getOAuthList data: ' + JSON.stringify(data));
}).catch((err) => {console.log("getOAuthList err: "  + JSON.stringify(err));
});

getAuthenticatorCallback8+

getAuthenticatorCallback(sessionId: string, callback: AsyncCallback): void

获取鉴权会话的认证器回调,使用callback回调异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
sessionIdstring鉴权会话的标识。
callbackAsyncCallback查询结果的回调。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
featureAbility.getWant((err, want) => {var sessionId = want.parameters[account_appAccount.Constants.KEY_SESSION_ID];appAccountManager.getAuthenticatorCallback(sessionId, (err, callback) => {if (err.code != account_appAccount.ResultCode.SUCCESS) {console.log("getAuthenticatorCallback err: "  + JSON.stringify(err));return;}var result = {[account_appAccount.Constants.KEY_NAME]: "LiSi",[account_appAccount.Constants.KEY_OWNER]: "com.example.ohos.accountjsdemo",[account_appAccount.Constants.KEY_AUTH_TYPE]: "readAge",[account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};callback.OnResult(account_appAccount.ResultCode.SUCCESS, result);});
});

getAuthenticatorCallback8+

getAuthenticatorCallback(sessionId: string): Promise

获取鉴权会话的认证器回调,使用Promise方式异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
sessionIdstring鉴权会话的标识。

参数:

类型说明
PromisePromise实例,用于获取异步返回结果。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
featureAbility.getWant().then((want) => {var sessionId = want.parameters[account_appAccount.Constants.KEY_SESSION_ID];appAccountManager.getAuthenticatorCallback(sessionId).then((callback) => {var result = {[account_appAccount.Constants.KEY_NAME]: "LiSi",[account_appAccount.Constants.KEY_OWNER]: "com.example.ohos.accountjsdemo",[account_appAccount.Constants.KEY_AUTH_TYPE]: "readAge",[account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};callback.OnResult(account_appAccount.ResultCode.SUCCESS, result);}).catch((err) => {console.log("getAuthenticatorCallback err: "  + JSON.stringify(err));});
}).catch((err) => {console.log("getWant err: "  + JSON.stringify(err));
});

getAuthenticatorInfo8+

getAuthenticatorInfo(owner: string, callback: AsyncCallback): void

获取指定应用帐户的认证器信息,使用callback回调异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
ownerstring应用帐户的所有者包名。
callbackAsyncCallback查询结果的回调。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAuthenticatorInfo("com.example.ohos.accountjsdemo", (err, data) => {console.log("getAuthenticatorInfo err: "  + JSON.stringify(err));console.log('getAuthenticatorInfo data: ' + JSON.stringify(data));
});

getAuthenticatorInfo8+

getAuthenticatorInfo(owner: string): Promise

获取指定应用帐户的认证器信息,使用Promise方式异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
ownerstring应用帐户的所有者包名。

参数:

类型说明
PromisePromise实例,用于获取异步返回结果。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAuthenticatorInfo("com.example.ohos.accountjsdemo").then((data) => { console.log('getAuthenticatorInfo: ' + JSON.stringify(data));
}).catch((err) => {console.log("getAuthenticatorInfo err: "  + JSON.stringify(err));
});

AppAccountInfo

表示应用帐号信息。

系统能力:  以下各项对应的系统能力均为SystemCapability.Account.AppAccount。

参数名类型必填说明
ownerstring应用帐户的所有者包名。
namestring应用帐户的名称。

OAuthTokenInfo8+

表示OAuth令牌信息。

系统能力:  以下各项对应的系统能力均为SystemCapability.Account.AppAccount。

参数名类型必填说明
authTypestring令牌的鉴权类型。
tokenstring令牌的取值。

AuthenticatorInfo8+

表示OAuth认证器信息。

系统能力:  以下各项对应的系统能力均为SystemCapability.Account.AppAccount。

参数名类型必填说明
ownerstring认证器的所有者包名。
iconIdstring认证器的图标标识。
labelIdstring认证器的标签标识。

Constants8+

表示常量的枚举。

系统能力:  以下各项对应的系统能力均为SystemCapability.Account.AppAccount。

名称默认值描述
ACTION_ADD_ACCOUNT_IMPLICITLY“addAccountImplicitly”表示操作_隐式添加帐号。
ACTION_AUTHENTICATE“authenticate”表示操作_鉴权。
KEY_NAME“name”表示键名_应用帐户名称。
KEY_OWNER“owner”表示键名_应用帐户所有者。
KEY_TOKEN“token”表示键名_令牌。
KEY_ACTION“action”表示键名_操作。
KEY_AUTH_TYPE“authType”表示键名_鉴权类型。
KEY_SESSION_ID“sessionId”表示键名_会话标识。
KEY_CALLER_PID“callerPid”表示键名_调用方PID。
KEY_CALLER_UID“callerUid”表示键名_调用方UID。
KEY_CALLER_BUNDLE_NAME“callerBundleName”表示键名_调用方包名。

ResultCode8+

表示返回码的枚举。

系统能力:  以下各项对应的系统能力均为SystemCapability.Account.AppAccount。

名称默认值描述
SUCCESS0表示操作成功。
ERROR_ACCOUNT_NOT_EXIST10001表示应用帐户不存在。
ERROR_APP_ACCOUNT_SERVICE_EXCEPTION10002表示应用帐户服务异常。
ERROR_INVALID_PASSWORD10003表示密码无效。
ERROR_INVALID_REQUEST10004表示请求无效。
ERROR_INVALID_RESPONSE10005表示响应无效。
ERROR_NETWORK_EXCEPTION10006表示网络异常。
ERROR_OAUTH_AUTHENTICATOR_NOT_EXIST10007表示认证器不存在。
ERROR_OAUTH_CANCELED10008表示鉴权取消。
ERROR_OAUTH_LIST_TOO_LARGE10009表示开放授权列表过大。
ERROR_OAUTH_SERVICE_BUSY10010表示开放授权服务忙碌。
ERROR_OAUTH_SERVICE_EXCEPTION10011表示开放授权服务异常。
ERROR_OAUTH_SESSION_NOT_EXIST10012表示鉴权会话不存在。
ERROR_OAUTH_TIMEOUT10013表示鉴权超时。
ERROR_OAUTH_TOKEN_NOT_EXIST10014表示开放授权令牌不存在。
ERROR_OAUTH_TOKEN_TOO_MANY10015表示开放授权令牌过多。
ERROR_OAUTH_UNSUPPORT_ACTION10016表示不支持的鉴权操作。
ERROR_OAUTH_UNSUPPORT_AUTH_TYPE10017表示不支持的鉴权类型。
ERROR_PERMISSION_DENIED10018表示权限不足。

AuthenticatorCallback8+

OAuth认证器回调接口。

onResult8+

onResult: (code: number, result: {[key: string]: any}) => void

通知鉴权结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
codenumber鉴权结果码。
result{[key: string]: any}鉴权结果。

示例:

const appAccountManager = account_appAccount.createAppAccountManager();
var sessionId = "1234";
appAccountManager.getAuthenticatorCallback(sessionId).then((callback) => {var result = {[account_appAccount.Constants.KEY_NAME]: "LiSi",[account_appAccount.Constants.KEY_OWNER]: "com.example.ohos.accountjsdemo",[account_appAccount.Constants.KEY_AUTH_TYPE]: "readAge",[account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};callback.OnResult(account_appAccount.ResultCode.SUCCESS, result);
}).catch((err) => {console.log("getAuthenticatorCallback err: "  + JSON.stringify(err));
});

onRequestRedirected8+

onRequestRedirected: (request: Want) => void

通知鉴权请求被跳转。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
requestWant用于跳转的请求信息。

示例:

class MyAuthenticator extends account_appAccount.Authenticator {addAccountImplicitly(authType, callerBundleName, options, callback) {callback.onRequestRedirected({bundleName: "com.example.ohos.accountjsdemo",abilityName: "com.example.ohos.accountjsdemo.LoginAbility",});}authenticate(name, authType, callerBundleName, options, callback) {var result = {[account_appAccount.Constants.KEY_NAME]: name,[account_appAccount.Constants.KEY_AUTH_TYPE]: authType,[account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};callback.onResult(account_appAccount.ResultCode.SUCCESS, result);}
}

Authenticator8+

OAuth认证器基类。

addAccountImplicitly8+

addAccountImplicitly(authType: string, callerBundleName: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void

根据指定的鉴权类型和可选项,隐式地添加应用帐户,并使用callback回调异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
authTypestring应用帐户的鉴权类型。
callerBundleNamestring鉴权请求方的包名。
options{[key: string]: any}鉴权所需要的可选项。
callbackAuthenticatorCallback认证器回调,用于返回鉴权结果。

authenticate8+

authenticate(name: string, authType: string, callerBundleName: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void

对应用帐户进行鉴权,获取OAuth令牌,并使用callback回调异步返回结果。

系统能力:  SystemCapability.Account.AppAccount

参数:

QQ截图20240705210937.png

接口名类型必填说明 HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿
namestring应用帐户的名称。
authTypestring应用帐户的鉴权类型。
callerBundleNamestring鉴权请求方的包名。
options{[key: string]: any}鉴权所需要的可选项。
callbackAuthenticatorCallback认证器回调,用于返回鉴权结果。

示例:

class MyAuthenticator extends account_appAccount.Authenticator {addAccountImplicitly(authType, callerBundleName, options, callback) {callback.onRequestRedirected({bundleName: "com.example.ohos.accountjsdemo",abilityName: "com.example.ohos.accountjsdemo.LoginAbility",});}authenticate(name, authType, callerBundleName, options, callback) {var result = {[account_appAccount.Constants.KEY_NAME]: name,[account_appAccount.Constants.KEY_AUTH_TYPE]: authType,[account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};callback.onResult(account_appAccount.ResultCode.SUCCESS, result);}
}export default {onConnect(want) {return new MyAuthenticator();}
}

相关文章:

鸿蒙开发设备管理:【@ohos.account.appAccount (应用帐号管理)】

应用帐号管理 说明&#xff1a; 本模块首批接口从API version 7开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。开发前请熟悉鸿蒙开发指导文档&#xff1a;gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。 导入模…...

java项目自定义打印日志,打印请求方式,参数用时等

1.相关依赖 <!-- 私人工具包 --><dependency><groupId>cn.changeforyou</groupId><artifactId>location</artifactId><version>1.13-SNAPSHOT</version></dependency><!-- hutool工具依赖 --><dependency>…...

03:EDA的进阶使用

使用EDA设计一个38译码器电路和245放大电路 1、38译码器1.1、查看74HC138芯片数据1.2、电路设计 2、245放大电路2.1、查看数据手册2.2、设计电路 3、绘制PCB3.1、导入3.2、放置3.3、飞线3.4、特殊方式连接GND3.5、泪滴3.6、配置丝印和划分区域3.7、添加typc接口供电 1、38译码器…...

Linux/Unix系统指令:(tar压缩和解压)

tar 是一个在Linux和Unix系统中用于创建和处理归档文件的命令。 下面是tar命令的详细用法&#xff0c;包括它的所有常用选项和一些示例。 基本语法 tar [选项] [归档文件] [文件或目录]常用选项 基本操作 -c&#xff1a;创建一个新的归档文件&#xff08;create&#xff09…...

MySQL 日期和时间函数知识点总结

引言 在数据库管理和开发中&#xff0c;日期查询是一项基础且频繁使用的功能。MySQL提供了丰富的日期和时间处理函数&#xff0c;使得我们能够灵活地进行日期查询和数据处理。本文将详细介绍MySQL中关于日期查询的几个重要知识点&#xff0c;并附上具体的案例。 1. MySQL的日…...

鸿蒙登录页面及页面跳转的设计

目录 任务目标任务分析任务实施1.新建工程项目HMLogin2.设计登录页面Index.visual3.设计第二个页面SecondPage4.修改Index.ets代码5.修改SecondPage.ets代码6.运行工程 任务目标 设计一个简单的登录页面&#xff0c;要求可以将第一页的登录信息&#xff0c;传递到第二个页面&a…...

【居家养老实训室】:看中医保健在养老中的应用

本文以居家养老实训室为视角&#xff0c;深入探讨了中医保健在养老中的应用。通过对中医保健理念、常用方法以及在居家养老中的具体实践进行分析&#xff0c;阐述了其在改善老年人健康状况、提高生活质量方面的重要作用。同时&#xff0c;也指出了目前应用中存在的问题&#xf…...

【区块链+基础设施】区块链服务网络 BSN | FISCO BCOS应用案例

BSN&#xff08;Blockchain-based Service Network&#xff0c;区块链服务网络&#xff09;是一个跨云服务、跨门户、跨底层框架&#xff0c;用于部 署和运行各类区块链应用的全球性基础设施网络&#xff0c;旨在为开发者提供低成本和技术互通的区块链一站式服务。 2019 年 12…...

六、快速启动框架:SpringBoot3实战-个人版

六、快速启动框架&#xff1a;SpringBoot3实战 文章目录 六、快速启动框架&#xff1a;SpringBoot3实战一、SpringBoot3介绍1.1 SpringBoot3简介1.2 系统要求1.3 快速入门1.4 入门总结回顾复习 二、SpringBoot3配置文件2.1 统一配置管理概述2.2 属性配置文件使用2.3 YAML配置文…...

SA 注册流程

目录 1. UE开机后按照3GPP TS 38.104定义的Synchronization Raster搜索特定频点 2.UE尝试检测PSS/SSS&#xff0c;取得下行时钟同步&#xff0c;并获取小区的PCI&#xff1b;如果失败则转步骤1搜索下一个频点&#xff1b;否则继续后续步骤&#xff1b; 3.解析Mib&#xff0c;…...

图像的灰度直方图

先来认识一下灰度直方图&#xff0c;灰度直方图是图像灰度级的函数&#xff0c;用来描述每个灰度级在图像矩阵中的像素个数或者占有率。接下来使用程序实现直方图&#xff1a; 首先导入所需的程序包&#xff1a; In [ ]: import cv2 import numpy as np import matplotlib…...

软件测试面试题:Redis的五种数据结构,以及使用的场景是什么?

字符串&#xff08;Strings&#xff09;&#xff1a;简单直接&#xff0c;就像记事本一样&#xff0c;用来存储和快速访问简单的数据&#xff0c;比如缓存网页或者保存用户会话信息。 列表&#xff08;Lists&#xff09;&#xff1a;有序的数据集合&#xff0c;适合用来存储按…...

Java后端每日面试题(day1)

目录 JavaWeb三大组件依赖注入的方式Autowire和Resurce有什么区别&#xff1f;Spring Boot的优点Spring IoC是什么&#xff1f;说说Spring Aop的优点Component和Bean的区别自定义注解时使用的RetentionPolicy枚举类有哪些值&#xff1f;如何理解Spring的SPI机制&#xff1f;Spr…...

AI与测试相辅相成

AI助力软件测试 1.AI赋能软件测试 使用AI工具来帮助测试人员提高测试效率&#xff0c;提供缺陷分析和缺陷预测。 语法格式 设定角色 具体指示 上下文格式 例: 角色&#xff1a;你是一个测试人员 内容&#xff1a;请帮我生成登录案例的测试用例 ​ 1.只有输入正确账号和密码才…...

搜索+动态规划

刷题刷题刷题刷题 ​​​​​​​​​​​​​​Forgery - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路&#xff1a; 需要两个数组&#xff0c;一个数组全部初始化为".",另一个数组输入数据&#xff0c;每碰到一个“.”就进行染色操作&#xff0c;将其周围的…...

strcpy,srtcmp,strlen函数漏洞利用

strcpy,srtcmp,strlen函数漏洞利用 strcpy strcpy函数用于将字符串复制到另一个指针指向的空间中&#xff0c;遇到空字符 **b’x\00’**时停止&#xff0c;&#xff1a; 所以可以利用 strcpy不检查缓冲区 的漏洞&#xff08;构造的字符串要以\0结尾&#xff09;&#xff0c;…...

SketchUp + Enscape+ HTC Focus3 VR

1. 硬件: 设备连接 2. 软件: 安装steam steamVR Vive Business streaming 3. 操作: 双方登录steam 账号,然后带上头盔,用手柄在HTC Focus3 安装 串流软件,选择串流软件,在Enscape中选择 VR 模式即可 4.最终效果: SketchUp Enscape HTC Focus 3 VR 实时预览_哔哩哔哩_bi…...

推荐3款Windows系统的神级软件,免费、轻量、绝对好用!

DiskView DiskView是一款用于管理和查看磁盘空间的工具&#xff0c;它集成了于微软的Windows操作系统资源管理器中&#xff0c;以显示直观的磁盘空间使用情况。该软件通过生成图形化地图&#xff0c;帮助用户组织和管理大量文件和文件夹&#xff0c;从而高效地管理磁盘空间。用…...

-bash: /snap/bin/docker: 没有那个文件或目录

-bash: /snap/bin/docker: 没有那个文件或目录 解决办法 export PATH$PATH:/usr/bin/docker然后&#xff0c;重新加载配置文件 source ~/.bashrc...

[深度学习]卷积理解

单通道卷积 看这个的可视化就很好理解了 https://github.com/vdumoulin/conv_arithmetic/blob/master/README.md 多通道卷积 当输入有多个通道时,卷积核需要拥有相同的通道数. 假设输入有c个通道,那么卷积核的每个通道分别于相应的输入数据通道进行卷积,然后将得到的特征图对…...

基于aardio web.view2库和python playwright包的内嵌浏览器自动化操作

通过cdp协议可以实现playwright操控webview。 新建Python窗口工程 修改pip.aardio 修改pip.aardio&#xff0c;并执行&#xff0c;安装playwright。 //安装模块 import process.python.pip; //process.python.path "python.exe";/* 安装模块。 参数可以用一个字…...

《数据仓库与数据挖掘》 总复习

试卷组成 第一章图 第二章图 第三章图 第四章图 第五章图 第六章图 第九章图 第一章 DW与DM概述 &#xff08;特点、特性&#xff09; DB到DW 主要特征 &#xff08;1&#xff09;数据太多&#xff0c;信息贫乏&#xff08;Data Rich&#xff0c; Information Poor)。 &a…...

EtherCAT主站IGH-- 8 -- IGH之domain.h/c文件解析

EtherCAT主站IGH-- 8 -- IGH之domain.h/c文件解析 0 预览一 该文件功能`domain.c` 文件功能函数预览二 函数功能介绍1. `ec_domain_init`2. `ec_domain_clear`3. `ec_domain_add_fmmu_config`4. `ec_domain_add_datagram_pair`5. `ec_domain_finish`6. `ecrt_domain_reg_pdo_en…...

《昇思25天学习打卡营第10天|使用静态图加速》

文章目录 今日所学&#xff1a;一、背景介绍1. 动态图模式2. 静态图模式 三、静态图模式的使用场景四、静态图模式开启方式1. 基于装饰器的开启方式2. 基于context的开启方式 总结&#xff1a; 今日所学&#xff1a; 在上一集中&#xff0c;我学习了保存与加载的方法&#xff…...

【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(二十二)

课程地址&#xff1a; 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程&#xff0c;一套精通鸿蒙应用开发 &#xff08;本篇笔记对应课程第 32 节&#xff09; P32《31.通知-基础通知》 基础文本类型通知&#xff1a;briefText 没有用&#xff0c;写了也白写。 长文本类型…...

六西格玛绿带培训如何告别“走过场”?落地生根

近年来&#xff0c;六西格玛绿带培训已经成为了众多企业提升管理水平和员工技能的重要途径。然而&#xff0c;不少企业在实施六西格玛绿带培训时&#xff0c;往往陷入形式主义的泥潭&#xff0c;导致培训效果大打折扣。那么&#xff0c;如何避免六西格玛绿带培训变成“走过场”…...

Linux——提取包文件到指定目录,命令解释器-shell,type 命令

- 提取包文件到指定目录 bash tar xf/-xf/-xzf 文件名.tar.gz [-C 目标路径] tar xf/-xf/-xjf 文件名.tar.bz2 [-C 目标路径] tar xf/-xf/-xJf 文件名.tar.xz [-C 目标路径] ### 示例 - 将/etc下所有内容打包压缩到/root目录中 bash [rootserver ~]# tar -cvf taretc…...

【最详细】PhotoScan(MetaShape)全流程教程

愿天下心诚士子&#xff0c;人人会PhotoScan&#xff01; 愿天下惊艳后辈&#xff0c;人人可剑开天门&#xff01; 本教程由CSDN用户CV_X.Wang撰写&#xff0c;所用数据均来自山东科技大学视觉测量研究团队&#xff0c;特此鸣谢&#xff01;盗版必究&#xff01; 一、引子 Ph…...

Excel多表格合并

我这里一共有25张表格: 所有表的表头和格式都一样,但是内容不一样: 现在我要做的是把所有表格的内容合并到一起,研究了一下发现WPS的这项功能要开会员的,本来想用代码撸出来的,但是后来想想还是找其他办法,后来找到"易用宝"这个插件,这个插件可以从如下地址下载:ht…...

AI作画工具深度剖析:Midjourney vs. Stable Diffusion (SD)

在人工智能技术的推动下&#xff0c;艺术创作的边界被不断拓宽&#xff0c;AI作画工具成为数字艺术家与创意人士的新宠。其中&#xff0c;Midjourney与Stable Diffusion&#xff08;SD&#xff09;作为当前领域的佼佼者&#xff0c;以其独特的算法机制、丰富的功能特性及高质量…...

ASP.NET Core Blazor 5:Blazor表单和数据

本章将描述 Blazor 为处理 HTML 表单提供的特性&#xff0c;包括对数据验证的支持。 1 准备工作 继续使用上一章项目。   创建 Blazor/Forms 文件夹并添加一个名为 EmptyLayout.razor 的 Razor 组件。本章使用这个组件作为主要的布局。 inherits LayoutComponentBase<div …...

C++ 仿QT信号槽二

// 实现原理 // 每个signal映射到bitset位&#xff0c;全集 // 每个slot做为signal的bitset子集 // signal全集触发&#xff0c;标志位有效 // flip将触发事件队列前置 // slot检测智能指针全集触发的标志位&#xff0c;主动运行子集绑定的函数 // 下一帧对bitset全集进行触发清…...

联合概率密度函数

目录 1. 什么是概率密度由联合概率密度求概率参考链接 1. 什么是概率密度 概率密度到底在表达什么&#xff1f; 外卖在20-40分钟内送达的概率 随机变量落在[20,40]之间的概率。下图中&#xff0c;对总面积做规范化处理&#xff0c;令总面积1&#xff0c; f ( x ) f(x) f(x)则成…...

【Java10】成员变量与局部变量

Java中的变量只有两种&#xff1a;成员变量和局部变量。 和C不同&#xff0c;没有全局变量了。 成员变量&#xff0c;field&#xff0c;我习惯称之为**”属性“**&#xff08;但这些年&#xff0c;因为attribute更适合被叫做属性&#xff0c;所以渐渐不这么叫了&#xff09;。 …...

Spring Session与分布式会话管理详解

随着微服务架构的普及&#xff0c;分布式系统中的会话管理变得尤为重要。传统的单点会话管理已经不能满足现代应用的需求。本文将深入探讨Spring Session及其在分布式会话管理中的应用。 什么是Spring Session&#xff1f; Spring Session是一个用于管理HttpSession的Spring框…...

从0开始学习pyspark--Spark DataFrame数据的选取与访问[第5节]

在PySpark中&#xff0c;选择和访问数据是处理Spark DataFrame的基本操作。以下是一些常用的方法来选择和访问DataFrame中的数据。 选择列&#xff08;Selecting Columns&#xff09;: select: 用于选择DataFrame中的特定列。selectExpr: 用于通过SQL表达式选择列。 df.select…...

Fastjson首字母大小写问题

1、问题 使用Fastjson转json之后发现首字母小写。实体类如下&#xff1a; Data public class DataIdentity {private String BYDBSM;private String SNWRSSJSJ;private Integer CJFS 20; } 测试代码如下&#xff1a; public static void main(String[] args) {DataIdentit…...

GuLi商城-商品服务-API-品牌管理-效果优化与快速显示开关

<template><div class"mod-config"><el-form :inline"true" :model"dataForm" keyup.enter.native"getDataList()"><el-form-item><el-input v-model"dataForm.key" placeholder"参数名&qu…...

如何成为C#编程高手?

成为C#编程高手需要时间、实践和持续的学习。以下是一些建议&#xff0c;可以帮助你提升C#编程技能&#xff1a; 深入理解基础知识&#xff1a; 确保你对C#的基本语法、数据类型、控制结构、面向对象编程&#xff08;OOP&#xff09;原则有深刻的理解。学习如何使用Visual Stud…...

SpringBoot学习06-[SpringBoot与AOP、SpringBoot自定义starter]

SpringBoot自定义starter SpringBoot与AOPSpringBoot集成Mybatis-整合druid在不使用启动器的情况下&#xff0c;手动写配置类进行整合使用启动器的情况下,进行整合 SpringBoot启动原理源码解析创建SpringApplication初始化SpringApplication总结 启动 SpringBoot自定义Starter定…...

Maven - 在没有网络的情况下强制使用本地jar包

文章目录 问题解决思路解决办法删除 _remote.repositories 文件代码手动操作步骤验证 问题 非互联网环境&#xff0c;无法从中央仓库or镜像里拉取jar包。 服务器上搭建了一套Nexus私服。 Nexus私服故障&#xff0c;无法连接。 工程里新增了一个Jar的依赖&#xff0c; 本地仓…...

JAVA--JSON转换工具类

JSON转换工具类 import com.alibaba.fastjson.JSONObject; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackso…...

每日复盘-20240705

今日关注&#xff1a; 20240705 六日涨幅最大: ------1--------300391--------- 长药控股 五日涨幅最大: ------1--------300391--------- 长药控股 四日涨幅最大: ------1--------300391--------- 长药控股 三日涨幅最大: ------1--------300391--------- 长药控股 二日涨幅最…...

MySQL 一些用来做比较的函数

目录 IF&#xff1a;根据不同条件返回不同的值 CASE&#xff1a;多条件判断&#xff0c;类似于Switch函数 IFNULL&#xff1a;用于检查一个值是否为NULL&#xff0c;如果是&#xff0c;则用指定值代替 NULLIF&#xff1a;比较两个值&#xff0c;如果相等则返回NULL&#xff…...

一个使用率超高的大数据实验室是如何练成的?

厦门大学嘉庚学院“大数据应用实训中心”&#xff08;以下简称“实训中心”&#xff09;自2022年建成以来&#xff0c;已经成为支撑“大数据专业”复合型人才培养的重要支撑&#xff0c;目前实训中心在专业课程实验教学、项目实训、数据分析类双创比赛、毕业设计等方面都有深入…...

Chiasmodon:一款针对域名安全的公开资源情报OSINT工具

关于Chiasmodon Chiasmodon是一款针对域名安全的公开资源情报OSINT工具&#xff0c;该工具可以帮助广大研究人员从各种来源收集目标域名的相关信息&#xff0c;并根据域名、Google Play应用程序、电子邮件地址、IP地址、组织和URL等信息进行有针对性的数据收集。 该工具可以提…...

如何在Java中实现PDF生成

如何在Java中实现PDF生成 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 在软件开发和企业应用中&#xff0c;生成PDF文档是一项常见的需求。Java作为一种强大…...

Redis 的缓存淘汰策略

Redis 作为一个高性能的内存数据库&#xff0c;提供了多种缓存淘汰策略&#xff08;也称为过期策略或驱逐策略&#xff09;&#xff0c;用于管理内存使用。当 Redis 达到其内存限制时&#xff0c;系统会根据配置的策略删除一些数据&#xff0c;以释放内存空间。以下是 Redis 支…...

音乐播放器

目录 一、设计目标二、实现流程1. 数据库操作2. 后端功能实现3. 前端UI界面实现4. 程序入口 三、项目收获 一、设计目标 1. 模拟网易云音乐&#xff0c;实现本地音乐盒。 2. 功能分析&#xff1a; 登录功能窗口显示加载本地音乐建立播放列表播放音乐删除播放列表音乐 3.设计思…...

三星组件新的HBM开发团队加速HBM研发

为应对人工智能(AI)市场扩张带来的对高性能存储解决方案需求的增长&#xff0c;三星电子在其设备解决方案(DS)部门内部成立了全新的“HBM开发团队”&#xff0c;旨在提升其在高带宽存储器(HBM)领域的竞争力。根据Business Korea的最新报告&#xff0c;该团队将专注于推进HBM3、…...