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

news2024/11/25 16:36:08

应用帐号管理

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();
    }
}

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

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

相关文章

wsl安装Linux系统到指定位置

默认情况下,wsl安装的系统,会安装到系统C盘,长期下去,很容易把C盘的空间消耗完,从而影响系统的正常运行,所以我建议是将wsl所有的系统都安装到其它磁盘中,便于维护。 1、导出镜像 通过wsl -l -v 查看当前已安装的系统版本。 导出到当前目录位置,也可以指定目录位置。 w…

C语言 -- 操作符详解​

C语言 -- 操作符详解​ 1. 操作符的分类2. 二进制和进制转换​2.1 2进制转10进制​2.1.1 10进制转2进制数字​ 2.2 2进制转8进制和16进制​2.2.1 2进制转8进制​2.2.2 2进制转16进制​ 3. 原码、反码、补码​4. 移位操作符​4.1 左移操作符​ 4.2 右移操作符​5. 位操作符&…

Cannot resolve symbol ‘log`

idea里的代码log变红色&#xff0c;是因为缺少Lombok插件。 安装lombok插件即可。安装完应用&#xff0c;重启软件就好了。 依次点击菜单栏中的 File → Settings&#xff08;Windows/Linux&#xff09; 或 IntelliJ IDEA → Preferences&#xff08;macOS&#xff09;。在设置…

“区间优化:贪心算法在区间问题中的应用“

1. 区间选点 给定 &#x1d441; 个闭区间 [&#x1d44e;&#x1d456;,&#x1d44f;&#x1d456;]&#xff0c;请你在数轴上选择尽量少的点&#xff0c;使得每个区间内至少包含一个选出的点。 输出选择的点的最小数量。 位于区间端点上的点也算作区间内。 输入格式 第…

MySQL之备份与恢复(六)

备份与恢复 文件系统快照 先决条件和配置 创建一个快照的消耗几乎微不足道&#xff0c;但还是需要确保系统配置可以让你获取在备份瞬间的所有需要的文件的一致性副本。首先&#xff0c;确保系统满足下面这些条件。 1.所有的InnoDB文件(InnoDB的表空间文件和InnoDB的事务日志…

20.5.【C语言】求长度的两种方式

1.sizeof 用于测数据类型的长度的函数&#xff08;详细见第3篇&#xff09; 2.strlen 其计算长度时只有遇到\0才会停止&#xff0c;并且\0不会计算在内 如char arr[]{a,1,b}; printf("%d\n",strlen(arr)); 结果是个随机数&#xff01;strlen读内存中的数据&…

C++ 类和对象 构造函数

一 类的6个默认成员函数&#xff1a; 如果一个类中什么成员都没有&#xff0c;简称为空类。 例&#xff1a; #include <iostream> class Empty {// 空类&#xff0c;什么成员都没有 }; 空类中真的什么都没有吗&#xff1f;并不是&#xff0c;任何类在什么都不写时&a…

绘唐科技聚星文社是同款一键生成工具

聚星文社是同款一键生成工具 工具下载 绘唐科技成立于2015年&#xff0c;是一家专注于虚拟现实&#xff08;VR&#xff09;技术和产品开发的高科技企业。绘唐科技的目标是利用虚拟现实技术为人们带来更加沉浸式的体验&#xff0c;推动虚拟现实在各个领域的应用和发展。 绘唐科…

【博士每天一篇文献-算法】Adult neurogenesis acts as a neural regularizer

阅读时间&#xff1a;2023-12-20 1 介绍 年份&#xff1a;2022 作者&#xff1a;Lina M. Tran&#xff0c;Adam Santoro&#xff0c;谷歌DeepMind 期刊&#xff1a; Proceedings of the National Academy of Sciences 引用量&#xff1a;13 代码&#xff1a;https://github.c…

QT的编译过程(底层逻辑)

qmake -project 用于从源代码生成项目文件&#xff0c;qmake 用于从项目文件生成 Makefile&#xff0c;而 make 用于根据 Makefile 构建项目。 详细解释&#xff1a; qmake -project 这个命令用于从源代码目录生成一个初始的 Qt 项目文件&#xff08;.pro 文件&#xff09;。它…

2024年软件测试面试题大全【含答案】

一、面试基础题 简述测试流程: 1、阅读相关技术文档&#xff08;如产品PRD、UI设计、产品流程图等&#xff09;。 2、参加需求评审会议。 3、根据最终确定的需求文档编写测试计划。 4、编写测试用例&#xff08;等价类划分法、边界值分析法等&#xff09;。 5、用例评审(…

Xshll连接服务器【过程记录】

背景&目标 开学老师提供了一款服务器&#xff0c;可以网页端打开&#xff0c;但是不可进行上传文件、复制黏贴指令。 希望连接Xshll进行更有效的学习活动&#xff01; 配置过程 一、已知信息 二、配置 使用第一部分&#xff0c;先打通隧道。 【选择公钥时&#xff0c;没…

2024年【四川省安全员B证】考试及四川省安全员B证考试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年【四川省安全员B证】考试及四川省安全员B证考试题&#xff0c;包含四川省安全员B证考试答案和解析及四川省安全员B证考试题练习。安全生产模拟考试一点通结合国家四川省安全员B证考试最新大纲及四川省安全员B证…

掌握XD数字设计:打造令人惊艳的用户体验

xd是adobe旗下一款主打UI界面设计-建立原型的软件&#xff0c;它可以将wireframe、design、以及prototype等UI/UX设计流程整合到一个软件中&#xff0c;算是一款与sketch对打的软件。 与PS相比&#xff0c;在UI设计方面&#xff0c;Adobe XD有非常突出的3个优点&#xff1a;能…

【C++】哈希表 ---开散列版本的实现

你很自由 充满了无限可能 这是很棒的事 我衷心祈祷你可以相信自己 无悔地燃烧自己的人生 -- 东野圭吾 《解忧杂货店》 开散列版本的实现 1 前言2 开散列版本的实现2.1 节点设计2.2 框架搭建2.3 插入函数2.4 删除函数2.5 查找操作2.6 测试 Thanks♪(&#xff65;ω&#x…

亚信安全:《2024云安全技术发展白皮书》

标签 云计算 安全威胁 云安全技术 网络攻击 数据保护 一句话总结 《云安全技术发展白皮书》全面分析了云计算安全威胁的演进&#xff0c;探讨了云安全技术的发展历程、当前应用和未来趋势&#xff0c;强调了构建全面云安全防护体系的重要性。 摘要 云安全威胁演进&#xff…

贪吃蛇——C语言(VS2022含源代码,及源代码zip文件)

一.游戏背景 贪吃蛇是一款在世界上盛名已久的小游戏&#xff0c;贪食蛇游戏操作简单&#xff0c;可玩性比较高。这个游戏难度最大的不是蛇长得很长的时候&#xff0c;而是开始。那个时候蛇身很短&#xff0c;看上去难度不大&#xff0c;却最容易死掉&#xff0c;因为把玩一条小…

生产力工具|viso常用常见科学素材包

一、科学插图素材网站 一图胜千言&#xff0c;想要使自己的论文或重要汇报更加引人入胜&#xff1f;不妨考虑利用各类示意图和科学插图来辅助研究工作。特别是对于新手或者繁忙的科研人员而言&#xff0c;利用免费的在线科学插图素材库&#xff0c;能够极大地节省时间和精力。 …

基于CNN卷积神经网络的步态识别matlab仿真,数据库采用CASIA库

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1步态识别系统框架 4.2 CNN原理及数学表述 4.3 CASIA步态数据库 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 1.训练过程 2.样本库 3.提取的步态能量图 4.步态识…

【YOLOv5/v7改进系列】改进池化层为ASPP

一、导言 Atrous Spatial Pyramid Pooling (ASPP)模块是一种用于多尺度特征提取的创新技术&#xff0c;旨在提升深度学习模型在语义图像分割任务中的表现。ASPP模块通过在不同的采样率下应用空洞卷积&#xff0c;可以捕获不同大小的对象以及图像的上下文信息&#xff0c;从而增…