├── app.js ├── mongoose ├── config │ └── mongoConfig.js ├── controllers │ ├── # idae - MongoDB config start - 2016-05-02 │ ├── 11x5.js │ ├── MTLater.js │ ├── dlt.js │ ├── index.js │ ├── kuai3.js │ ├── pl3.js │ ├── ssq.js │ └── x3d.js ├── models │ └── baseModel.js └── schemas │ ├── baseSchema.js │ └── x3dSchema.js ├── package-lock.json ├── package.json └── readme.md /app.js: -------------------------------------------------------------------------------- 1 | const Koa = require('koa'); 2 | var app = new Koa(); 3 | const index = require("./mongoose/controllers/index"); 4 | app.listen(3001); -------------------------------------------------------------------------------- /mongoose/config/mongoConfig.js: -------------------------------------------------------------------------------- 1 | const mongoose = require("mongoose"); 2 | mongoose.Promise = global.Promise; 3 | mongoose.connect('mongodb://localhost:27017/lottery',{useNewUrlParser:true},(err)=>{ 4 | if(err){ 5 | console.log("数据库连接失败"); 6 | }else{ 7 | console.log("数据库连接成功"); 8 | } 9 | }) 10 | //导出mongoose的Schema构造函数 11 | const Schema = mongoose.Schema; 12 | 13 | exports = module.exports = Schema; -------------------------------------------------------------------------------- /mongoose/controllers/# idae - MongoDB config start - 2016-05-02: -------------------------------------------------------------------------------- 1 | # idae - MongoDB config start - 2016-05-02 2 | 3 | # 设置数据文件的存放目录 4 | dbpath = /usr/local/mongodb/data/test/db 5 | # 设置日志文件的存放目录及其日志文件名 6 | logpath = /usr/local/mongodb/data/test/logs/mongodb.log 7 | # 设置端口号(默认的端口号是 27017) 8 | port = 27017 9 | 10 | # 设置为以守护进程的方式运行,即在后台运行 11 | fork = true 12 | 13 | # nohttpinterface = true 14 | nohttpinterface = true 15 | # idae - MongoDB config end - 2016-05-02 -------------------------------------------------------------------------------- /mongoose/controllers/11x5.js: -------------------------------------------------------------------------------- 1 | 2 | var gdd11 = require("../models/baseModel").gdd11; 3 | var hljd11 = require("../models/baseModel").hljd11; 4 | var zjd11 = require("../models/baseModel").zjd11; 5 | var lnd11 = require("../models/baseModel").lnd11; 6 | var mtInterval = require('./MTLater'); 7 | 8 | var composite = [];//设定触发事件的事件段 9 | var m = [];////在指定的分钟数触发事件 10 | for(var i=3;i<60;i+=10){ 11 | m.push(i); 12 | } 13 | for(var i=8;i<=23;i++){ 14 | composite.push({ 15 | h: [i], //在指定的小时里触发事件 16 | m: m, //在指定的分钟数触发事件 17 | }) 18 | } 19 | //配置定时任务 20 | var sched = { 21 | schedules: composite 22 | } 23 | // later.date.localTime(); 24 | 25 | var types = ["gdd11","hljd11","zjd11","lnd11"]; 26 | var objArr = [gdd11,hljd11,zjd11,lnd11]; 27 | for(let i=0;i{ 6 | var url = "http://api.caipiao.163.com/missNumber_trend.html?product=caipiao_client&gameEn="+gameEn; 7 | request.get(url,async (err,responsed,body)=>{ 8 | if(body){ 9 | var res = JSON.parse(body); 10 | res.length = res.data.length;//数组的长度 11 | var data = await new Promise((resolve,reject)=>{ 12 | gameObj.find({},{"data":{"$slice":1}}).then((data)=>{ 13 | resolve({data:data,obj:gameObj}); 14 | }) 15 | }) 16 | if(!data.data.length){ 17 | // 如果不存在数据,则新建数据库表 18 | console.log("不存在数据"); 19 | new data.obj(res).save().then((rs)=>{ 20 | // console.log(rs); 21 | console.log("ssq数据"); 22 | }) 23 | }else{ 24 | var period = data.data[0].data[0].period; 25 | var newDataArr = [];//要插入数据库的新数据 26 | if(res.data.length){ 27 | var length = res.data.length; 28 | console.log(gameEn+"数据长度"+length); 29 | for(let j=0;j{ 53 | console.log("插入结果"); 54 | console.log(resp); 55 | }) 56 | } 57 | 58 | } 59 | } 60 | } 61 | }) 62 | },sched); 63 | } 64 | exports = module.exports = mtInterval; -------------------------------------------------------------------------------- /mongoose/controllers/dlt.js: -------------------------------------------------------------------------------- 1 | const dlt = require('../models/baseModel').dlt; 2 | var mtInterval = require('./MTLater'); 3 | //双色球 4 | var composite = []; 5 | var m = []; 6 | for(var i=1;i<=60;){ 7 | m.push(i); 8 | i+=1; 9 | } 10 | // //配置每天22点跟新数据 11 | composite.push({ 12 | dw:[2,4,7], 13 | h: [21,22], 14 | m: m 15 | }) 16 | 17 | var sched = { 18 | schedules: composite 19 | } 20 | mtInterval(sched,dlt,'dlt'); 21 | 22 | exports = module.exports = {} -------------------------------------------------------------------------------- /mongoose/controllers/index.js: -------------------------------------------------------------------------------- 1 | const ssq = require('./ssq');//双色球 2 | const d11 = require("./11x5");//11选5 3 | const dlt = require("./dlt");//大乐透 4 | const x3d = require('./x3d');//3D 5 | const kuai3 = require('./kuai3');//快3 6 | exports = module.exports = {} -------------------------------------------------------------------------------- /mongoose/controllers/kuai3.js: -------------------------------------------------------------------------------- 1 | // gxkuai3 2 | /* 3 | 广西快3 4 | 湖南快3 5 | 湖北快3 6 | */ 7 | var gxkuai3 = require("../models/baseModel").gxkuai3; 8 | var hbkuai3 = require("../models/baseModel").hbkuai3; 9 | var anhuikuai3 = require("../models/baseModel").anhuikuai3; 10 | var mtInterval = require('./MTLater'); 11 | 12 | var composite = [];//设定触发事件的事件段 13 | var m = [];////在指定的分钟数触发事件 14 | for(var i=0;i<60;i+=1){ 15 | m.push(i); 16 | } 17 | for(var i=8;i<=23;i++){ 18 | composite.push({ 19 | h: [i], //在指定的小时里触发事件 20 | m: m, //在指定的分钟数触发事件 21 | }) 22 | } 23 | 24 | //配置定时任务 25 | var sched = { 26 | schedules: composite 27 | } 28 | // later.date.localTime(); 29 | 30 | var types = ["gxkuai3","hbkuai3","anhuikuai3"]; 31 | var objArr = [gxkuai3,hbkuai3,anhuikuai3]; 32 | for(let i=0;i{ 92 | var ssqURL = "这个接口你要自己去抓了,可以用charles.记住不要违法哦"; 93 | request.get(ssqURL,(err,responsed,body)=>{ 94 | console.log(body); 95 | }) 96 | 97 | },sched) 98 | 99 | ``` 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | --------------------------------------------------------------------------------