某公司开发一个Power Apps程序,有三种角色的人需要用到这个程序,
假如我们三种角色的人分别为A,B,C,然后我们A进入App时需要让他看到Screen_A页面,B进入App的时候看到Screen_B界面,C进入App的时候看到Screen_C界面,界面之间不存在任何关系。
ok,看完背景之后,我们应该想一些问题,我们开发一个App,但是要在不同角色的人显示不同的页面,除了在登录的时候判断角色,还有什么办法吗?我们可以用URL参数,不同的角色可以有不同的URL,然后转到不同的Screen.
一个可以发布App的账号
首先我们可以先看一下,Param()的power apps官网。
Param()函数官网
第一次看完官网之后,我也有些懵,下面我们就用实践做一下。
按照背景所讲的,
1.我们准备三个界面Screen_A,Screen_B,Screen_C
2.发布App
3.测试
我们在每个页面都插入一个Label,显示页面的名称,以区分页面。
接下来我们就该主角登场了,我们找到App的StartScreen属性,(因为无论怎么访问,我们都必须经过App的StartScreen)我们写入以下代码:
If( IsBlank(Param("Screen")), Screen_A, Param("Screen") = "A", Screen_A, Param("Screen") = "B", Screen_B, Param("Screen") = "C", Screen_C )
我们需要发布才可以在公网访问。
然后我们离开App,点击右面的三个点,然后找到详细信息,如下图:
然后找到Web链接并复制:
我们Param会带着URL中的参数到App中,这个参数是我们给到的。
举个例子,我们发布App之后,访问链接是https:aaa.com,然后我们可以根据需求在后面加参数,https:aaa.com &Screen=A这样Param带着参数到App中,经过解析,就会跳到相应的Screen_A界面。
链接复制好之后我们到浏览器上访问:
与预期一致,不传参跳转到Screen_A页面。
与预期一致,传参为A,跳转到Screen_A页面
与预期一致,传参为B,跳转到Screen_B页面
与预期一致,传参为C,跳转到Screen_C页面