uniapp根据不同身份判断哪些页面不显示哪些页面显示

前言:今天遇到了一个需求。大概是现在有2个身份,A是推广员,B是普通用户。然后有一个页面,如果是普通用户这个页面则会一直显示,如果是推广员这个页面每天只展示一次。下面就说一下个人写这个需求的流程

1.绑定点击事件

@click="gotoEx"

2.定义一个变量,方便后续用来存贮数据

var tiems = uni.getStorageSync("tiemNum")

3.再定义一个变量,用来获取当前时间的时间戳

var time = new Date(new Date().toLocaleDateString()).getTime()

准备工作已经就绪,下面开始逻辑

				if (uni.getStorageSync("user").pluger.isActivation != 1) { //普通用户跳转到黄色页面
					console.log('[普通用户跳转有用了]');
					uni.navigateTo({
						url: '/pages/extension/extension'
					})
				} else { //此处下面的操作全是推广员的操作
					if (tiems) { //缓存里面有值,说明已经点过
						if (time == tiems) { //在同一天内点击跳转到二维码
							uni.navigateTo({
								url: '/pages/extensionOne/extensionOne'
							})
						} else { //缓存时间与当前时间不是同一天,跳转到黄色页面,并更新缓存里面的值
							uni.setStorageSync("tiemNum", time)
							uni.navigateTo({
								url: '/pages/extension/extension'
							})
						}
					} else { //缓存里面没有值,把最新时间赋值给缓存时间,并跳转到黄色页面
						uni.setStorageSync("tiemNum", time)
						uni.navigateTo({
							url: '/pages/extension/extension'
						})
					}
				}

 (1)拿到后端返回的身份字段,我的是1是推广员,2是普通用户。我们这里先写普通用户的逻辑

使用if判断语句,如果说他是普通用户的话,直接让他跳转到这个黄色页面

(2)普通用户的逻辑已经完成,那么就剩下推广员的逻辑了

1.上面我们声明了一个变量tiems,这个用来判断推广员用户有没有点击,如果点击了,里面有值那我们就先按照里面有值来处理,上面已经说了这个页面推广员用户一天这个页面只显示一次,已知tiems有值,然后我现在点击获取一个新的值,那我们要判断是不是在同一天,如果是在同一天,说明在这一天这个推广员已经看到过这个页面,所以我们跳转到下一个页面。

2.第一条说的是现在点击的时间与缓存的时间是在同一天,那么有的人是在第二天才点击呢,所以说,我们现在来判断我们当前时间是不是与缓存的(上一次点击的时间)不是同一天的逻辑。

3.如果说我第二天才点击,然后上一次是今天点击的,那我们还是要让他看到每天只显示一次的那个页面。然后并把新获取的点击时间的值赋值给上一次点击的时间,做到更新。

所以我的写法是先把新点击的时间赋值给上一次点击的时间,做到赋值更新的效果。并且让他跳转的每天只显示一次的那个页面

4.tiems里面有值,如果tiems里面没值呢,那我们还要做一个逻辑。

这个缓存没有值,说明这个人没有点击过,黄页面没有显示过。那么我们就把现在获取的时间赋值给缓存,并进行跳转到每天只显示一次的这个页面。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值