通过关键词一键获取相关沙雕表情,并保存至剪切板。
效果如下图:
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(`<img style='max-height:60px' src=${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)
})
})