最近给学校旁边火锅店写了一个微信的签到领积分,积分兑换优惠卷、可乐、雪碧等商品的小程序。
思路:后台用的node express框架 数据库用的mongodb mongoose连接服务器和数据库,数据库这边是一个用户的集合,每个用户有用户名、所拥有的积分、签到天数、拥有的券等字段
签到页面:点击签到后变成今日已签到,函数用if,else判断 如果为点击签到,则发起请求在数据库查找该用户的天数并加1,积分+5,onshow函数请求签到的天数并显示,在点击签到后再触发一下
onshow函数,localstoragy中设置一个标记字段并设置过期时间为24小时,如果该标记存在,则可以签到,否则显示今日已签到,点击提示今日已经签过到了。
兑换页面:onshow请求该用户的所有积分并保存在一个变量里,点击兑换按钮显示对话框,并用函数传参的方式将需要的积分传进函数,对所拥有的积分和需要的积分进行一个运算判断积分是否够扣,如果够扣除的话,显示兑换成功并且请求后台将数据库对应用户减去相应积分,然后调用onshow函数重新请求一下用户的积分,避免无限制兑换,我的页面则请求用户的积分和卷的数量并显示出来就行了。
后期:调用支付接口,点击优惠卷跳到商家支付页面,支付成功后该用户的券数量减1,如果兑换的是可乐,雪碧等的话,需要一个后台管理页面,将用户兑换的商品显示在页面上,方面商家核对,这里是服务器主动向客户端推送消息,所以用轮询或者websocket就看自己了。
源码后期会放在我的github上面,这就是总体的一个思路,后面也可以根据自己的需求改动。