活动管理中,需要发布活动,发布的活动支持用户使用H5填报。
问题1:活动二维码如何自动生成,扫码即可填报活动?
问题2:活动时间如何显示?根据活动日期,开始时间,结束时间,填报需要显示“24年10月19日10:00-12:00”
问题3:用户报名活动时自动注册账号,保留用户信息,一个活动只能报名一次,下次报名自动加载用户信息?
1.动态活动二维码
活动二维码为活动表单打开的URL地址,这样问题在于:不同的表单,如何动态获取URL地址?
比如 :
https://www.iyunbiao.cn/15****3/activity/
11002
,可见URL地址由
云表系统地址+模板名称+/+
fromId
组成,示例中的formId为11002,如何获取fromId?
1)获取formId
formId是系统内置字段,可通过系统调用系统内部字段名称获取。如下图,在“数据表管理”中,拉开“位置”和“名称”列,显示“字段内部名称”,添加数据项“ID”,“字段内部名称”填写系统数据项的名称“formId”,则I表单的ID值为内部formId
2)保存表单生成活动二维码
表单保存后fromId才有值,通过本模板的“保存表单后事件”给二维码赋值。目标模板:本模板自身
通过子数据源模板数据接口-
提供活动信息(活动编号),获取ID的值,然后通过文本拼接给二维码赋值,由于表单的formId生成后不会发生变化,只需要在新建时子事件中赋值,更新时和删除时无需处理二维码赋值。
3)使用效果
如图1:活动信息,新建活动,单击【保存】时,二维码被赋值,此数据项的扩展类型为二维码,显示为二维码。
2.活动时间
根据活动日期2024-10-19,开始时间10:00,结束时间12:00,用户填报显示活动时间“24年10月19日10:00-12:00”?
1)保存表单后业务公式
针对时间的处理,业务公式的函数比填表公式的函数更多,使用业务公式-保存表单后事件完成赋值。分别在保存表单事件-新建时、更新时,对“活动时间”赋值。
2)函数
①取时间( <日期时间字段>, <时间类型> ) ,通过该函数获取时、分数据。
由于此函数返回值为整数类型,若时间为10:30点,返回分钟为30,显示正常,若时间为10:00,返回分钟数为0,需要显示成00,单独处理。针对开始时间的分钟和结束时间的分钟分别进行判断
例如:开始时间分钟≠0,结束时间分钟≠0
取时间( 本表单.进行开始时间 , "mm" ) <> 0 并且 取时间( 本表单.进行结束时间 , "mm" ) <> 0
则:时间拼接如下:
取时间( 本表单.进行开始时间 , "hh" ) + ":" + 取时间( 本表单.进行开始时间 , "mm" ) + "-" + 取时间(本表单.进行结束时间 , "hh" ) + ":" + 取时间(本表单.进行结束时间 , "mm" )
如果 获取的分钟 =0 ,直接拼接“00”,例如开始时间的分钟数为0时
取时间( 本表单.进行开始时间 , "mm" ) = 0 并且 取时间( 本表单.进行结束时间 , "mm" ) <> 0
则,时间拼接
取时间( 本表单.进行开始时间 , "hh" ) + ":00" + "-" + 取时间(本表单.进行结束时间 , "hh" ) + ":" + 取时间(本表单.进行结束时间 , "mm" )
②日期转文本(<日期时间字段>,<文本格式>) ,将日期时间转成指定的文本格式
如下图,将日期时间转成年月日格式
4种不同的情况都必须考虑在内:开始时间、结束时间的分钟都≠0;开始时间的分钟=0;结束时间的分钟=0;开始时间和结束时间的分钟都=0。
3)使用效果。如下图保存表单时,活动时间自动生成(红色部分)。
3.活动报名
用户报名活动时自动注册账号,保留用户信息,一个活动只能报名一次,下次报名自动加载用户信息?
应用开通自动注册功能,用户访问时自动注册账号,使用系统时用户操作的信息保留在系统中。系统自动将用户的微信与云表会员账号(手机号)绑定。
3.1 自动注册
1)与云表官网联系,开通自动注册功能
2)设置自动注册的用户角色
路径:系统管理-系统服务-系统服务,新建服务,选择“用户注册服务(会员自动注册配置)”
提前添加好角色,在默认角色中输入角色名称,勾选“启用”,则自动注册的用户角色都为“普通用户”,根据角色权限的设置,可操作相关的功能。
3)自动注册效果。用户扫码活动二维码,进入自动注册/登录界面,第一次登录后,微信将记住登录信息。
3.2 H5页面
1)设计模板。为H5页面单独设计模板,模板勾选“不保存表单到数据库”,此模板是一个纯页面模板。
2)设置公式
①扫码活动后,显示活动信息,单击【报名活动H5】按钮,进入报名页面。进入《活动信息》模板,添加【报名活动H5】工具栏按钮,给角色“普通用户”添加权限。
②新建活动报名H5时,通过数据接口查询用户的报名记录,若报名记录的条数>0 则弹出提示框
先检查当前用户是否报名过该活动,查询该活动报名的记录数
查询记录数>0,即已报名过该活动时,加载该活动的报名信息。
已报名过时,弹出提示框。不再继续向下运行。
③用户未报名该活动,查询用户的报名信息,并加载。
根据用户的登录账号,利用全局数据接口获取用户注册的手机号
根据当前用户账号,获取之前参加活动保存的用户信息,便于快速填写报名表单。
④在活动报名H5页面,单击【报名】,新建并提交“活动报名”记录。
3)应用效果
微信扫码活动二维码,先注册登录,进入活动页面,单击【活动报名】,进入活动报名H5页面,单击【报名】,提交报名记录。