core/controllers/main.js
2020-01-18 17:12:47 +08:00

79 lines
2.7 KiB
JavaScript

let findlist = async (ctx, next) => {
// for(let i in reptilelist){
// let a = await reptilelist[i].find(ctx.query.name)
// // list.push({name:reptilelist[i].name,list: [...a]})
// for(let j in a){
// let has = true
// for(let k in list){
// if(list[k].name == a[j].name){
// if(list[k].list == undefined){
// list[k].list = []
// }
// has = false
// list[k].list.push({name:reptilelist[i].name,url:a[j].url,date:a[j].date,update:a[j].update})
// }
// }
// if(has){
// list.push({name:a[j].name,list:[{name:reptilelist[i].name,url:a[j].url,date:a[j].date,update:a[j].update}]})
// }
// }
// }
let pro = []
let list = []
for (let i in reptilelist) {
pro.push(reptilelist[i].find(ctx.query.name))
}
await Promise.allSettled(pro).then((res) => {
for (let i in res) {
if(res[i].status == "fulfilled"){
console.log(res[i].value.list)
for (let j in res[i].value.list) {
let has = true
for (let k in list) {
if (list[k].name == res[i].value.list[j].name) {
if (list[k].list == undefined) {
list[k].list = []
}
has = false
list[k].list.push({ name: res[i].value.name, url: res[i].value.list[j].url, date: res[i].value.list[j].date, update: res[i].value.list[j].update })
}
}
if (has) {
list.push({ name: res[i].value.list[j].name, list: [{ name: res[i].value.name, url: res[i].value.list[j].url, date: res[i].value.list[j].date, update: res[i].value.list[j].update }] })
}
}
}
}
})
ctx.body = JSON.stringify(list)
}
let section = async (ctx, next) => {
for (let i in reptilelist) {
if (ctx.query.name == reptilelist[i].name) {
ctx.body = await reptilelist[i].section(ctx.query.url)
}
}
}
let picture = async (ctx, next) => {
for (let i in reptilelist) {
if (ctx.query.name == reptilelist[i].name) {
console.log(await reptilelist[i].imglist(ctx.query.url))
ctx.body = await reptilelist[i].imglist(ctx.query.url)
}
}
}
module.exports = {
'GET /find': findlist,
'GET /section': section,
'GET /picture': picture
}