初始koa

基于koa和mongoDb的签到系统(下)

上一篇文章主要把用户登陆注册获取用户信息完成了。 传送门这一篇主要是签到相关。javascript

前言

思考🤔 用户签到都须要那些功能?

一、能够签到(废话....)
二、获取某个月都有哪些天签到了,哪些天未签到。
三、统计某个月哪些天签到了,一共签到了几天。java

问题1和问题3都好处理,问题2很差处理。首先须要获取到当前月份的天数,新建一个数组,数组的长度为该月份的天数。咱们能够经过new Date(year, month, 0).getDate()获取当月的天数

// 获取当月的天数
const year = new Date().getFullYear();
const month = new Date().getMonth() + 1;
const days = new Date(year, month, 0).getDate();
const INITARRAY = [...Array(days)].map(_ => 0);
复制代码

而后初始化数组

/** * 定义返回的数组里面内容格式 */
const signDayInfo = {
   hasSign: false,
};
const INITARRAY = [...Array(days)].map(_ => signDayInfo);
复制代码

而后遍历获取的数据,而后经过数组分割,把签到的天数塞进去。ok,开工。

首先建立签到表,在database/shema新建Sign.js。

在utils新建monent.js,对日期进行解析。

而后在建立签到模块的路由,在api/modules新建sign.js。

因为获取当月的签到状态和获取当月的签到天数都依赖咱们的签到天数,因此咱们单独在utils新建一个sign.js存在咱们的数据库查找。

在api/index.js 引入咱们刚才新增的路由

打开postman测试咱们的接口。

签到

获取当月的签到列表

获取当月都有哪些天签到了,month为可传参数格式为201905主要区分年。

Todo List

  • 注册登陆
  • 签到
  • electron+react 签到客户端页面
  • ...

代码已上传github,欢迎issues,start,一块儿学习,一块儿成长。
传送门react

相关文章
相关标签/搜索