Wechat.prototype.uploadTempMaterial = function(type,filepath){
var that = this;
var form = { //构造表单
media:fs.createReadStream(filepath)
}
return new Promise(function(resolve,reject){
that.fetchAccessToken().then(function(data){
var url = api.uploadMaterial + 'access_token=' + data.access_token + '&type=' + type;
request({url:url,method:'POST',formData:form,json:true}).then(function(response){
var _data = response.body;
if(_data){
resolve(_data)
}else{
throw new Error('upload material failed!');
}
}).catch(function(err){
reject(err);
});
});
});
}
else if(content === '2'){
var data = yield wechatApi.uploadTempMaterial('image',__dirname+'/public/king.jpg');
reply = {
type:'image',
mediaId:data.media_id
}
}
Wechat.prototype.uploadPermMaterial = function(type,material){
var that = this;
var form = {}
var uploadUrl = '';
if(type === 'pic') uploadUrl = api.uploadPermPics;
if(type === 'other') uploadUrl = api.uploadPermOther;
if(type === 'news'){
uploadUrl = api.uploadPermNews;
form = material
}else{
form.media = fs.createReadStream(material);
}
return new Promise(function(resolve,reject){
that.fetchAccessToken().then(function(data){
var url = uploadUrl + 'access_token=' + data.access_token;
var opts = {
method:'POST',
url:url,
json:true
}
(type == 'news') ? (opts.body = form) : (opts.formData = form); //上传数据的方式不同
request(opts).then(function(response){
var _data = response.body;
if(_data){
resolve(_data)
}else{
throw new Error('upload permanent material failed!');
}
}).catch(function(err){
reject(err);
});
});
});
}
Wechat.prototype.getMaterial = function(mediaId,permanent){
var that = this;
var getUrl = permanent ? api.getPermMaterial : api.getTempMaterial;
return new Promise(function(resolve,reject){
that.fetchAccessToken().then(function(data){
var url = getUrl + 'access_token=' + data.access_token;
if(!permanent) url += '&media_id=' + mediaId;
resolve(url)
});
});
}
Wechat.prototype.delMaterial = function(mediaId){
var that = this;
return new Promise(function(resolve,reject){
that.fetchAccessToken().then(function(data){
var url = api.delPermMaterial + 'access_token=' + data.access_token;
var form = {media_id:mediaId}
request({url:url,method:'POST',formData:form,json:true}).then(function(response){
var _data = response.body;
if(_data.errcode === '0'){
resolve();
}else{
throw new Error('delete permanent material failed!');
}
}).catch(function(err){
reject(err);
});
});
});
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有