UserAuth.ets
1.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import { abilityAccessCtrl, common, Permissions } from '@kit.AbilityKit';
import { promptAction } from '@kit.ArkUI'
import { rpc } from '@kit.IPCKit';
// 获取用户授权
export async function reqPermissionsFromUser(permissions: Array<Permissions>, context: common.UIAbilityContext) {
let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();
try {
let data = await atManager.requestPermissionsFromUser(context, permissions)
let grantStatus: Array<number> = data.authResults;
if(grantStatus.every((numberItem: number) => numberItem === 0)){
promptAction.showToast({message: '授权成功'})
} else {
console.log('用户已取消授权')
}
} catch (err) {
promptAction.showToast({message: `Failed to request permissions from user. Code is ${err.code}, message is ${err.message}`})
}
}
// 检查用户是否授权
export function checkAccessToken(permissions: Array<Permissions>): boolean {
// Determine the authorization status.
let callerTokenId: number = rpc.IPCSkeleton.getCallingTokenId();
let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();
try {
return permissions.every((permissionItem: Permissions) => atManager.verifyAccessTokenSync(callerTokenId, permissionItem) !== -1)
} catch (err) {
console.log(`checkAccessToken catch err->${JSON.stringify(err)}`)
return false
}
}
export interface commonRouterParams {
reportId: number;
projectId: number;
videoPath: string;
}