@tnwx/wxcp
Version:
TNWX 微信系开发脚手架之极速开发企业微信/企业号
97 lines • 4.13 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const util = require("util");
const kits_1 = require("@tnwx/kits");
const accesstoken_1 = require("@tnwx/accesstoken");
/**
* @author Javen
* @copyright javendev@126.com
* @description 素材管理
*/
class QyMediaApi {
/**
* 上传临时素材
* @param mediaType 媒体文件类型
* @param filePath 文件路径
* @param accessToken AccessToken
*/
static upload(mediaType, filePath, accessToken) {
return __awaiter(this, void 0, void 0, function* () {
if (!accessToken) {
accessToken = yield accesstoken_1.QyAccessTokenApi.getAccessToken();
}
let url = util.format(this.uploadUrl, accessToken.getAccessToken, mediaType);
return kits_1.HttpKit.getHttpDelegate.upload(url, filePath);
});
}
/**
* 上传图片
* @param filePath 文件路径
* @param accessToken AccessToken
*/
static uploadImg(filePath, accessToken) {
return __awaiter(this, void 0, void 0, function* () {
if (!accessToken) {
accessToken = yield accesstoken_1.QyAccessTokenApi.getAccessToken();
}
let url = util.format(this.uploadImgUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.upload(url, filePath);
});
}
/**
* 获取临时素材
* @param mediaId 媒体文件id
* @param accessToken AccessToken
*/
static get(mediaId, accessToken) {
return __awaiter(this, void 0, void 0, function* () {
if (!accessToken) {
accessToken = yield accesstoken_1.QyAccessTokenApi.getAccessToken();
}
let url = util.format(this.getUrl, accessToken.getAccessToken, mediaId);
return kits_1.HttpKit.getHttpDelegate.httpGet(url, {
headers: { 'Content-type': 'application/json' },
responseType: 'arraybuffer'
});
});
}
/**
* 获取高清语音素材
* @param mediaId 媒体文件id
* @param accessToken AccessToken
*/
static jssdkMedia(mediaId, accessToken) {
return __awaiter(this, void 0, void 0, function* () {
if (!accessToken) {
accessToken = yield accesstoken_1.QyAccessTokenApi.getAccessToken();
}
let url = util.format(this.jssdkMediaUrl, accessToken.getAccessToken, mediaId);
return kits_1.HttpKit.getHttpDelegate.httpGet(url, {
headers: { 'Content-type': 'application/json' },
responseType: 'arraybuffer'
});
});
}
}
exports.QyMediaApi = QyMediaApi;
QyMediaApi.uploadUrl = 'https://qyapi.weixin.qq.com/cgi-bin/media/upload?access_token=%s&type=%s';
QyMediaApi.uploadImgUrl = 'https://qyapi.weixin.qq.com/cgi-bin/media/uploadimg?access_token=%s';
QyMediaApi.getUrl = 'https://qyapi.weixin.qq.com/cgi-bin/media/get?access_token=%s&media_id=%s';
QyMediaApi.jssdkMediaUrl = 'https://qyapi.weixin.qq.com/cgi-bin/media/get/jssdk?access_token=%s&media_id=%s';
var QyMediaType;
(function (QyMediaType) {
QyMediaType["IMAGE"] = "image";
QyMediaType["VOICE"] = "voice";
QyMediaType["VIDEO"] = "video";
QyMediaType["FILE"] = "file";
})(QyMediaType = exports.QyMediaType || (exports.QyMediaType = {}));
//# sourceMappingURL=QyMediaApi.js.map