一、首先先要过滤一下非法请求过来的链接
// 需要解析的图片地址过滤
img_url_filter (img_data) {
var chinese_reg = /(http[s]?:\/\/[^ ]+)/
if (img_data === "") {
console.log('图片地址不能为空');
return
}else if (!chinese_reg.test(img_data)) {
console.log('图片地址不正确');
return
}
return img_data
}
二、再初始方法中注入该实例需要用到的共用数据
// 初始化方法
constructor () {
// token
this.token = "Z1QljZOZiT4NTG"
// 请求地址
this.req_url = 'http://api.txapi.cn/v1/c/images_downloads'
// 需要解析的图片地址
this.img_url = ""
}
三、接着只需要开始解析图片即可
// 开始解析
img_analysis (url, token, img_url) {
let p = new Promise(function (resolve, reject) {
axios({
url: url,
method: 'POST',
data: {
token: token,
img_url: img_url
}
}).then(resp => {
console.log(resp.data);
if(resp.data.code != 200 && resp.data.msg != "ok"){
console.log("查询失败")
} else {
resolve(resp.data)
}
})
})
return p
}
最后再附上完整代码(复制粘贴即可食用!)
const axios = require('axios')
class Parse {
// 初始化方法
constructor () {
// token
this.token = "Z1QljZOZiT4NTG"
// 请求地址
this.req_url = 'http://api.txapi.cn/v1/c/images_downloads'
// 需要解析的图片地址
this.img_url = ""
}
// 需要解析的图片地址过滤
img_url_filter (img_data) {
var chinese_reg = /(http[s]?:\/\/[^ ]+)/
if (img_data === "") {
console.log('图片地址不能为空');
return
}else if (!chinese_reg.test(img_data)) {
console.log('图片地址不正确');
return
}
return img_data
}
// 开始解析
img_analysis (url, token, img_url) {
let p = new Promise(function (resolve, reject) {
axios({
url: url,
method: 'POST',
data: {
token: token,
img_url: img_url
}
}).then(resp => {
console.log(resp.data);
if(resp.data.code != 200 && resp.data.msg != "ok"){
console.log("查询失败")
} else {
resolve(resp.data)
}
})
})
return p
}
// run函数
run (data) {
// 检测图片地址是否合法
this.img_url = this.img_url_filter(data)
if(!this.img_url){
return
}
this.img_analysis(this.req_url, this.token, this.img_url).then(res => {
console.log(res); // 查询结果
})
}
}
if(__filename === process.mainModule.filename) {
// new一个Parse对象
const p = new Parse()
// 调用run方法
p.run("https://588ku.com/ycwordart/10649145.html")
}