图书管理小程序开发

近日开发了一款图书小程序,构想有很多,在此请各位网友给些宝贵意见以及指导,比如功能,交互方面。

功能设定:

1.检索书籍,找到自己想看的书,然后可以查看相关信息。(阅读功能需要查阅相关规定以及接口或pdf处理以及版权问题)

2.通过书架记录书籍信息(已完成),个人藏书可以选定任意数量书籍分享为书单图片并转发出去用来比如给新人推荐相关入门书籍看,毕竟大佬的书单很有参考价值。(待完成)

3.可以通过个人已收录的书籍来找到用户表中与自己藏书类型,数量大致匹配的用户,从而达到寻找同道中人的功能。(待完成)

4.相关书籍加入书架后可以有一个求书功能,主要是添加一个订阅。只要有其他用户将实体书上架,可以提供相关的联系方式之类的功能来达到实体书的流动。

//下面是豆瓣的相关api,太久远忘记功能了

const request = require('request')
let total = 200
const dealBarcode = (barcode,reply,models,open_id,join)=>request(`https://api.douban.com/v2/book/isbn/:${barcode}?apikey=0df993c66c0c636e29ecbb5344252a4a`,((urlErr,urlRes)=>{
        // request(`https://api.douban.com/v2/book/search?apikey=0df993c66c0c636e29ecbb5344252a4a&start=${Number.parseInt(Math.random()*1000%200)}&count=3&tag=${encodeURI('前端')}`,((urlErr,urlRes)=>{
        //     if(urlErr)throw urlErr
        //     else {
        //        console.log(JSON.parse(urlRes.body).books.map(item=>item.tags),'??')
                
        //     }
        // }))
        if(urlErr)throw urlErr
            else {
                // console.log(JSON.parse(urlRes.body))
                let imgUrl = JSON.parse(urlRes.body).images.small
                let obj = {...JSON.parse(urlRes.body),imgUrl,open_id,collected:!!join}
                // console.log(obj)
                if(obj.title==='Undefined'){
                    reply({
                        status:200,
                        error:'暂时找不到有关数据,已记录',
                        msg:'通过外部接口查询并存入数据库'
                    })
                }else{
                    let model = new models.goods(obj);
                    console.log(model,'??')
                    if(!!join)model.save()
                    reply({
                        status:200,
                        data:obj,
                        msg:'通过外部接口查询并存入数据库'
                    })
                }   
        }
}))
const dealBooks = (tags,count,reply,pageNo)=>request(`https://api.douban.com/v2/book/search?apikey=0df993c66c0c636e29ecbb5344252a4a&start=${(pageNo-1)*count}&count=${count}&tag=${encodeURI(tags)}`,(urlErr,urlRes)=>{
        if(urlErr)throw urlErr
        else {
           let resBody = JSON.parse(urlRes.body);
           total = resBody.total;
           console.log(resBody.books,'???')
           reply({
            status:200,
            total,
            data:resBody.books,
            msg:'通过外部接口查询并存入数据库'
        })
        }
    })
const searchBooks = (q,count,reply,pageNo)=>request(`https://api.douban.com/v2/book/search?apikey=0df993c66c0c636e29ecbb5344252a4a&start=${(pageNo-1)*count}&count=${count}&q=${encodeURI(q)}`,(urlErr,urlRes)=>{
    if(urlErr)throw urlErr
    else {
        let resBody = JSON.parse(urlRes.body);
        total = resBody.total;
        reply({
        status:200,
        total,
        data:resBody.books,
        msg:'通过外部接口查询并存入数据库'
    })
    }
})
module.exports = {
    dealBarcode,
    dealBooks,
    searchBooks
}

小程序码在下方:

小程序

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Beq

我们应该鼓励分享,开源精神

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值