@tnwx/wxmp
Version:
TNWX 微信系开发脚手架之极速开发微信公众号
131 lines (130 loc) • 4.84 kB
TypeScript
import { AccessToken } from '@tnwx/accesstoken';
/**
* @author Javen
* @copyright javendev@126.com
* @description 素材管理
*/
export declare class MediaApi {
private static uploadUrl;
/**
* 新增临时素材
* @param filePath
* @param mediaType
* @param accessToken
*/
static uploadMedia(filePath: string, mediaType: MediaType, accessToken?: AccessToken): Promise<any>;
private static getUrl;
/**
* 获取临时素材
* @param mediaId
* @param accessToken
*/
static getMedia(mediaId: string, accessToken?: AccessToken): Promise<any>;
private static get_jssdk_url;
/**
* 高清语音素材获取接口
* 公众号可以使用本接口获取从JSSDK的uploadVoice接口上传的临时语音素材,格式为speex,16K采样率。
* 该音频比上文的临时素材获取接口(格式为amr,8K采样率)更加清晰,适合用作语音识别等对音质要求较高的业务。
* @param mediaId
* @param accessToken
*/
static getJssdkMedia(mediaId: string, accessToken?: AccessToken): Promise<any>;
private static add_news;
/**
* 新增永久图文素材
* @param mediaId
* @param accessToken
*/
static uploadNews(mediaArticles: MediaArticles[], accessToken?: AccessToken): Promise<any>;
private static update_news;
/**
* 修改永久图文素材
* @param mediaId 要修改的图文消息的id
* @param index 要更新的文章在图文消息中的位置(多图文消息时,此字段才有意义),第一篇为0
* @param mediaArticles
* @param accessToken
*/
static updateNews(mediaId: string, index: number, mediaArticles: MediaArticles, accessToken?: AccessToken): Promise<any>;
private static uploadImgUrl;
/**
* 上传图文消息内的图片获取URL
* 本接口所上传的图片不占用公众号的素材库中图片数量的5000个的限制。
* 图片仅支持jpg/png格式,大小必须在1MB以下。
* @param filePath
* @param accessToken
*/
static uploadImg(filePath: string, accessToken?: AccessToken): Promise<any>;
private static addMaterialUrl;
/**
* 新增其他类型永久素材
* 如果是添加视频请使用 addVideoMaterial
*
* @param filePath
* @param mediaType
* @param accessToken
*/
static addMaterial(filePath: string, mediaType: MediaType, accessToken?: AccessToken): Promise<any>;
/**
* 新增 video 类型永久素材
* @param filePath
* @param title
* @param introduction
* @param accessToken
*/
static addVideoMaterial(filePath: string, title: string, introduction: string, accessToken?: AccessToken): Promise<any>;
private static getMaterialUrl;
/**
* 获取永久素材
* @param mediaId
* @param accessToken
*/
static getMaterial(mediaId: string, accessToken?: AccessToken): Promise<any>;
private static delMaterialUrl;
/**
* 删除永久素材
* @param mediaId
* @param accessToken
*/
static delMaterial(mediaId: string, accessToken?: AccessToken): Promise<any>;
private static getMaterialCountUrl;
/**
* 获取素材总数
* @param accessToken
*/
static getMaterialCount(accessToken?: AccessToken): Promise<any>;
private static batchGetMaterialUrl;
/**
* 获取素材列表
* @param mediaType 素材的类型,图片(image)、视频(video)、语音 (voice)、图文(news)
* @param offset 从全部素材的该偏移位置开始返回,0表示从第一个素材 返回
* @param count 返回素材的数量,取值在1到20之间
* @param accessToken
*/
static batchGetMaterial(mediaType: MediaType, offset?: number, count?: number, accessToken?: AccessToken): Promise<any>;
}
/**
* 上传临时素材的格式、大小限制与公众平台官网一致
* 图片(image): 2M,支持PNG\JPEG\JPG\GIF格式
* 语音(voice):2M,播放长度不超过60s,支持AMR\MP3格式
* 视频(video):10MB,支持MP4格式
* 缩略图(thumb):64KB,支持JPG格式
*/
export declare enum MediaType {
IMAGE = "image",
VOICE = "voice",
VIDEO = "video",
THUMB = "thumb",
NEWS = "news"
}
export declare class MediaArticles {
private title;
private thumb_media_id;
private author;
private digest;
private show_cover_pic;
private content;
private content_source_url;
private need_open_comment;
private only_fans_can_comment;
constructor(title: string, thumb_media_id: string, show_cover_pic: boolean, content: string, content_source_url: string, author?: string, digest?: string, need_open_comment?: number, only_fans_can_comment?: number);
}