Power Apps 定时自动注销账户

12 篇文章 2 订阅
4 篇文章 0 订阅

场景介绍

我们在开发power apps的时候会遇到这样一个业务问题:当户用超过一定的时间没有操作App 界面的时候,为了安全就要求自动退出这个App。其实这个功能微软也是自带了的,但是有一定的局限性。它在admin center里面有一个关于Session的设置,但是这个局限于不能应用于单个App,他的最小颗粒度是环境。也就是说当我们设置了之后整个环境的App,都会遵循这个时间的设置销毁这个会话。接下来我们介绍一种只针对于单个App方法。

环境准备

1,任意的一个PP环境都可以
2,测试账号

代码开发

定时器(Timer)

我们采用定时器作为辅助功能。

定时器官网

新建一个App,然后插入一个Timer,我们将Timer的
1.AutoStart(自动开始)属性设为true,它会在我们进入App 的时候自动开始计时2.Duration(定时的时间)属性设为10000,(单位为毫秒),即10秒。3.OnTimerEnd(计时结束后的Action)属性设为:

Notify(“即将退出登录!”,NotificationType.Warning); (提示时间到了)
Exit(true);(注销当前用户,退出App)
在这里插入图片描述

4.Start (开始计时),我们这个地方需要注意,将这个属性设置为:
TimerStartVar 的全局变量(当变量为true时,计时器会开始计时,但是当我们干预计时,或者我们重置计时器后,这个变量不会自动设为false,还是true。这个时候就需要手动将这个变量设为false,然后再设为true。后面我们可以试一下就明白什么意思了。)
在这里插入图片描述

函数

Exit()

退出登录,当函数的输入参数为ture的时候账户会注销。需要重新登录:
Exit(True)

倒计时显示

然后我们可以插入一个Text Label,然后将TextLable的Text属性设置为:
"Number of seconds remaining: " & RoundUp(10-Timer1.Value/1000, 0)
这个是10秒的倒计时
在这里插入图片描述

按钮重置倒计时

插入一个按钮,然后我们把按钮的OnSelect属性设置为:

Notify("您已重置时间",NotificationType.Information); //点击按钮,干预计时器提示重置时间,模拟用户在界面上的操作。
Reset(Timer1);//重置定时器的计时,使定时器重新计时
Set(TimerStartVar,true);//将Timer1的Start属性的TimerStartVar 变量设置为true,为了让计时器开始计时。

在这里插入图片描述

测试

我们播放开始测试,我们播放后可以看到正常计时:
在这里插入图片描述
但是当我们点击重置之后,我们发现计时器不会计时了:
在这里插入图片描述
这是因为,我们这个变量不会随着Reset(Timer1),而自动更新,这个时候需要我们手动设置一下false,再设置为true,正确按钮代码如下:

Notify("您已重置时间",NotificationType.Information);
Reset(Timer1);
Set(TimerStartVar,false);
Set(TimerStartVar,true);

在这里插入图片描述
然后我们可以再测试:
在这里插入图片描述
我们发现没有问题了。
然后Timer有个AutoPause的属性:

AutoPause – 用户导航到其他屏幕时 计时器 控件是否自动暂停,我们设置为false,我们全局就用这一个定时器呀。
然后我们把App发布,来测试注销的效果。

注销账户效果

一般客户会使用App的link来进入App,我们可以去取App的Link:
在这里插入图片描述
在这里插入图片描述
我们复制到浏览器来整体测试:
在这里插入图片描述
点击重置后:
在这里插入图片描述
等待即时结束:
在这里插入图片描述
在这里插入图片描述
然后我们发现从这个页面除了重新登陆是不能再进入App了,成功!

总结

我们最后用按钮模拟用户在App 中的Action ,我们就需要在App 中的每一个能够点击,输入有Action的地方将

Reset(Timer1);
Set(TimerStartVar,false);
Set(TimerStartVar,true);

代码粘贴进去,然后注意将定时器的AutoPause 属性设为false,跳转到其他屏幕时自动暂停计时关闭。(我们全局就用一个定时器辅助)。然后就完成了,流程不麻烦,大家可以试一下。

  • 24
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小松很努力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值