🧑🏻‍💻 中国 - 杭州 - 小邓同学

1.1 前言

今天教大家用Zion实现签到功能,如图所示:

在制作签到功能需注意,当前用户一定处于登录状态。

1.2 实现逻辑

接下来讲讲我的实现逻辑,简单的来讲,签到无非就两种情况未签到和已签到, 未签到:当前日期(数据库中的日期)≠现在的日期(动态日期) 比如现在是2022.11.1(数据库中的日期),当前日期是2022.11.2(动态日期),两者日期不等于,则未签到。 已签到:当前日期(数据库中的日期)=现在的日期(动态日期) 比如现在是2022.11.1(数据库中的日期),当前日期是2022.11.2(动态日期),触发点击事件,更新数据库的日期,将原先2022.11.1修改为当前日期也就是2022.11.2,两者日期等于,则已签到。

1.3 实操

1.3.1 创建数据表并建立关系

  • 新增表:签到,添加字段【当前日期-日期类型】,【账户】与【签到】建立一对多关系,如图所示:

1.3.2 给签到页面添加远程数据

  • 名称:checkin,表数据:签到,过滤条件:账户账户等于当前用户数据/ID,如图所示:

1.3.3 组件使用

  • 在页面拖入组件【条件式容器】,可选状态【已签到】【未签到(添加表)】【已签到(修改表)】,并在对应的【条件式容器】中输入对应的文字,如图所示:

1.3.4 判断条件

  • 已签到:当前时间=远程数据/check_in/当前时间(运算类型:日期),如图所示:

  • 未签到(添加表):远程数据/check_in/ID为空,如图所示:

  • 未签到(修改表):总是即可。#### 1.3.5 添加点击行为

  • 已签到:显示提示,标题内容为今日已签到!如图所示:

  • 未签到(添加表):修改表数据→添加 签到,参数如下:
  • 当前日期:当前日期(无时间)
  • 账户_账户:当前用户数据/ID
  • 成功时:刷新签到页面

  • 未签到(修改表):修改表数据→更新 签到,参数如下:
  • 当前日期:当前日期(无时间)
  • 过滤类型:有过滤条件
  • 过滤:账户_账户=当前用户数据/ID

疑问:为什么会有两个未签到视图? 解答:在制作中会虽然有两个未签到视图,但是两者视图的修改内容不一样,【未签到-添加表】是指第一次签到,需要在数据库添加一条签到记录而【未签到-修改表】是指数据库已有签到记录,无需另外添加只需修改即可。简单的来说,数据库有签到记录则修改数据,如无签到记录则添加数据。

Copyright © FunctorZ 2024 all right reserved修订时间: 2024-10-12 10:57:53

results matching ""

    No results matching ""