首页 > 解决方案 > NgZone() 如何在 Microsoft Teams 选项卡中工作

问题描述

我正在努力在 Angular 中构建 Microsoft Teams 选项卡。根据下面的代码,我从 Microsoft 获取上下文。在我调用几个函数的地方,其中一个函数是this.checkOwner()返回登录的人是否是所有者。

所以我面临的问题是,如果我以会员身份(非所有者)登录,它有时会返回,true而且只有在我使用桌面应用程序的移动应用程序时才会出现这种情况。Ngzone是否有任何延迟?

microsoftTeams.getContext((Context: microsoftTeams.Context) => this.zone.run(() => {
   this.authSrvc.updateCurrentContext(Context);
   this.checkOwner();
   .
   .
   .
))}

checkOwner() {
   this.authSrvc.getOwnersList(this.authSrvc.currentContext.groupId).subscribe((res: any) => {
      const isExist = res.value.find(res => res.userPrincipalName === this.authSrvc.currentContext.userPrincipalName);
      this.isOwner = isExist ? true : false;
   });
}

标签: angulartypescriptmicrosoft-teams

解决方案


我们最终无法重现该问题。请检查 context.userTeamRole,如果返回 0 用户是团队的所有者,如果返回 1 用户是团队成员。请查看此文档以获取更多信息


推荐阅读