UNPKG

qywx-node

Version:
46 lines (44 loc) 2.13 kB
const request = require("request"); const fs = require("fs"); exports.media = function (client) { return { uploadMedia: function (appName, type, formData) { return client.submitFormData(appName, `/media/upload?type=${type}`, formData) }, downloadMedia: function (appName, mediaId, outputPath) { client.getUrl(appName, '/media/get').then(url => { url = `${url}&media_id=${mediaId}` request(url).on('response', function (response) { let errCode = response.headers['error-code'] console.log(`error-code: ${response.headers['error-code']}--error-message: ${response.headers['error-msg']}`) if ([42001, 40014].indexOf(errCode) > -1) { client.removeAccessToken(appName) } }).pipe(fs.createWriteStream(outputPath)) }) }, uploadImage: function (appName, formData) { return client.submitFormData(appName, '/media/uploadimg', formData) }, getUploadVoice: function (appName, mediaId, outputPath) { client.getUrl(appName, '/media/get/jssdk').then(url => { url = `${url}&media_id=${mediaId}` request(url) .on('response', function (response) { let errCode = response.headers['error-code'] console.log(`error-code: ${response.headers['error-code']}--error-message: ${response.headers['error-msg']}`) if ([42001, 40014].indexOf(errCode) > -1) { client.removeAccessToken(appName) } }) .pipe(fs.createWriteStream(outputPath)) }) }, uploadMediaByUrl: function (appName, data) { return client.httpPost(appName, '/media/upload_by_url', data) }, getUploadByUrlResult: function (appName, jobId) { return client.httpPost(appName, '/media/get_upload_by_url_result', {jobid: jobId}) } } }