1/* 2 * Copyright (c) 2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16import account_osAccount from '@ohos.account.osAccount'; 17import logger from './logger' 18import utils from './utils' 19 20const TAG = 'AccountManager'; 21 22export interface UserId { 23 localId: number; 24} 25 26export class AccountManager { 27 async getAccountUserId(userId: UserId) : Promise<boolean> { 28 let accountInfo = await account_osAccount.getAccountManager().queryCurrentOsAccount(); 29 if (!utils.isValid(accountInfo)) { 30 logger.warn(TAG, 'getAccountUserId queryCurrentOsAccount fail! userId is null'); 31 return false; 32 } 33 userId.localId = accountInfo.localId; 34 logger.info(TAG, 'getAccountUserId accountInfo.localId=' + accountInfo.localId); 35 return true; 36 } 37} 38 39let accountManager = new AccountManager(); 40 41export default accountManager as AccountManager;