带有 Google 日历 API(时隙)React/NodeJS 的预约系统
Posted
技术标签:
【中文标题】带有 Google 日历 API(时隙)React/NodeJS 的预约系统【英文标题】:Appointment System with Google Calendar API (Timeslots) React/NodeJS 【发布时间】:2021-08-08 20:39:41 【问题描述】:我目前正在使用 Google Calendar API 使用 React 和 NodeJS 开发约会日历。目标是归档以下内容:
第 1 步:用户在日历中选择所需的日期(完成) 第 2 步:显示开放时间之间的 30 分钟免费时段(完成) 第 3 步:预约并添加到日历(完成)
但现在的问题是,每个时间段可以有 10 个单独的预订,我想显示还剩多少(例如 3 人在 15:30 预订了该时间段,我想显示还剩下 7 个时间段) 目前如果有人预订了 15:30 的时段,则将其删除。那是因为我使用了一个 FreeBusy 查询,它只显示忙碌的时间,而不是有多少事件。
我的第一个想法是将预订也保存在数据库中,然后在每个时间段查找之前预订了多少人,但这似乎不是最佳解决方案。
您对如何解决这个问题有更好的想法吗?
提前致谢
【问题讨论】:
【参考方案1】:只是一个建议,但也许对于放置在日历上的每个活动,您都可以附加一个扩展属性以将活动标记为已预订。
"extendedProperties":
"shared":
"booked": "false",
https://developers.google.com/calendar/v3/reference/events#resource
然后,每当有人预订活动时,您可以通过更改提及的扩展属性将该活动标记为已预订。要显示可免费预订的活动数量,您可以按所选时间段的 timeMin、timeMax 过滤活动列表,并计算标记为免费或预订的活动数量。
【讨论】:
感谢您的建议,我会试一试:-)以上是关于带有 Google 日历 API(时隙)React/NodeJS 的预约系统的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 React、Redux 和 Webpack 实现 Google API