每个场地定义一个唯一key,创建一个配置文件,每个类别对应一组场地<span style="font-size: 14px;">唯一</span>key,例如 足球:\[1001,1002,1003\],羽毛球:\[2001,2002,2003\].,打开不同类别的页签时根据配置取出对应的场地的<span style="font-size: 14px;">唯一</span>key列表,然后遍历列表根据场地唯一key读取云数据库数据显示(云数据库以场地唯一key作为<span style="font-size: 14px;">唯一索引,每个用户访问同一组数据</span>)
实现一组时间函数,包括:获取当前时间戳、传入时间戳返回距今天的天数、传入时间戳返回日期 等,根据场地key读取云数据库数据后(数据结构参考本文最后)遍历state\_list里面的order\_tick,找出时间戳是当天(或者明天、后天、大后天)的那一项进行显示,如order\_id是自己的id则显示自己预约,否则显示被其他用户预约,如果列表里寻找不到当天的时间戳,则显示未被预约。
当点击预约时需要在云函数写验证和修改数据库逻辑(修改时直接修改<span style="font-size: 14px;">state\_list里面时间戳小于当天0点的一项,其他项不变,order\_tick根据预约的日期获取当天(或者明天、后天、大后天)的0点时间戳</span>),小程序调用云函数仅传需要预约的0点时间戳和预约者id,云函数取出数据库的数据进行验证,千万别直接在小程序调用写库接口。
没有自己的服务器只能这样近似的实现了。
云数据库数据格式参考如下:
{
"index" : 1001, // 足球一号场地
"state\_list": \[
{
"order\_tick": 0, // 预定时间戳
"order\_id": "wx\_id" // 预定的用户id
},
{},// 结构如上
{},.<span style="font-size: 14px;">// 结构如上</span>
{}<span style="font-size: 14px;">// 结构如上</span>
\]
}