真斗图神器

通过关键词一键获取相关沙雕表情,并保存至剪切板。
效果如下图:
真斗图神器_第1张图片

let apiBaseUrl = 'http://www.dbbqb.com/api/search/json?w='
let imgBaseUrl = 'http://image.dbbqb.com/'

quickcommand.showInputBox(['表情关键词']).then(input => {
     

    let fullApiUrl = apiBaseUrl + encodeURI(input[0])
    let apiAxiosInstance = axios.create({
     
        headers: {
      "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36" },
        cookies: {
      'mblast': '1548861954670', 'Hm_lpvt_65e796f34b9ee7170192209a91520a9a': '1548861950' },
        withCredentials: true // 允许携带cookie
    })

    apiAxiosInstance.get(fullApiUrl)
        .then(result => {
     

            opt = []
            paths = []
            result.data.forEach((item, index) => {
     
                imgUrl = imgBaseUrl + item.path
                opt.push(`${
       imgUrl}>`)
                paths.push(imgUrl)
            })

            quickcommand.showSelectList(opt, {
      optionType: 'html' }).then((x) => {
     
                let urlSelect = paths[x.id]

                axios({
     
                    method: 'get',
                    url: urlSelect,
                    responseType: 'arraybuffer'
                }).then(res => {
     
                    var filebuffer = Buffer.from(res.data)
                    var savePath = process.env['TMP'] + '/temp.gif'
                    fs.writeFile(savePath, filebuffer, err => {
     
                        if (err) reject(err)
                        var suc = utools.copyImage(savePath)
                        if (suc) {
     
                            quickcommand.showMessageBox('成功拷贝到剪切板')
                            quickcommand.setTimeout(() => {
     
                                utools.outPlugin()
                            }, 1500)
                        }
                    })
                }).catch(err => {
     
                    reject(err)
                })
            })

        }).catch(error => {
     
            console.log(error)
        })

})

你可能感兴趣的:(我的原创Utools工具集,javascript)