Skip to Content

签到功能

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

前言

本教程将教大家用 Zion 实现签到功能,如下图所示:

签到功能演示动画

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

实现逻辑

接下来讲讲我的实现逻辑,简单来说,签到无非就两种情况:未签到和已签到。

未签到:当前日期(数据库中的日期)≠ 现在的日期(动态日期) 例如现在是2022.11.1(数据库中的日期),当前日期是2022.11.2(动态日期),两者日期不等于,则未签到。

已签到:当前日期(数据库中的日期)= 现在的日期(动态日期) 例如现在是2022.11.1(数据库中的日期),当前日期是2022.11.2(动态日期),触发点击事件,更新数据库的日期,将原2022.11.1修改为当前日期也就是2022.11.2,两者日期相等,则已签到。

实操

第一步:创建数据表并建立关系

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

签到数据表结构

第二步:给签到页面添加远程数据

  • 命名:check_in,表数据:签到,过滤条件:账户=当前用户数据/ID,如下图所示:

签到页面远程数据配置

第三步:组件使用

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

签到页面组件配置

第四步:判断条件

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

已签到条件判断配置

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

未签到添加表条件判断配置

  • 未签到(修改表):总是即可。

1.3.5 添加点击行为

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

已签到提示配置

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

未签到添加表点击行为配置

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

未签到修改表点击行为配置

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

Last updated on